Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 개선 제안 한국어 번역

PEP 241 – Python 소프트웨어 패키지를 위한 메타데이터

Author:
A.M. Kuchling <amk at amk.ca>
Discussions-To:
Distutils-SIG list
Status:
Superseded
Type:
Standards Track
Topic:
Packaging
Created:
12-Mar-2001
Post-History:
19-Mar-2001
Superseded-By:
314

Table of Contents

번역·라이선스 안내

이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판

Important

This PEP is a historical document. The up-to-date, canonical spec, Core metadata specifications, is maintained on the PyPA specs page.

×

See the PyPA specification update process for how to propose changes.

소개

이 PEP는 Python 패키지에 메타데이터를 추가하는 메커니즘을 설명합니다. 여기에는 필드 이름에 관한 세부 사항과 각 필드의 의미 및 사용법이 포함됩니다.

패키지에 메타데이터 포함하기

Distutils ‘sdist’ 명령은 인자에서 메타데이터 필드를 추출하여 생성된 zip 파일이나 tarball 안의 파일에 기록하도록 수정될 것입니다. 이 파일의 이름은 PKG-INFO이며, 소스 배포판의 최상위 디렉터리(README, INSTALL 및 기타 파일이 일반적으로 위치하는 곳)에 놓입니다.

개발자는 자신의 PKG-INFO 파일을 직접 제공할 수 없습니다. “sdist” 명령은 기존 PKG-INFO 파일을 발견하면 적절한 오류 메시지와 함께 종료합니다. 이렇게 하면 PKG-INFO 파일과 setup.py 파일이 서로 일치하지 않아 생기는 혼란을 막을 수 있습니다.

PKG-INFO 파일 형식은 rfc822.py 모듈로 파싱할 수 있는 RFC 822 헤더의 단일 집합입니다. 다음 절에 나열된 필드 이름이 헤더 이름으로 사용됩니다. 이 단순한 형식에는 확장 메커니즘이 없습니다. Catalog SIG와 Distutils SIG는 Python 2.2에 맞춰 더 유연한 형식을 준비하는 것을 목표로 할 것입니다.

필드

이 절에서는 지원되는 각 메타데이터 필드의 이름과 의미를 명시합니다.

“(Multiple use)”로 표시된 필드는 하나의 PKG-INFO 파일에 여러 번 지정할 수 있습니다. 그 밖의 필드는 PKG-INFO 파일에 한 번만 나타날 수 있습니다. “(optional)”로 표시된 필드는 유효한 PKG-INFO 파일에 없어도 되지만, 그 밖의 모든 필드는 반드시 있어야 합니다.

Metadata-Version (메타데이터 버전)

파일 형식의 버전입니다. 현재 이 필드에 허용되는 값은 “1.0”뿐입니다.

예시:

Metadata-Version: 1.0

Name

패키지의 이름입니다.

예시:

Name: BeagleVote

버전

패키지의 버전 번호를 담은 문자열입니다. 이 필드는 distutils.version 모듈에 있는 Version 클래스 중 하나(StrictVersion 또는 LooseVersion)로 파싱할 수 있어야 합니다.

예시:

Version: 1.0a2

Platform (플랫폼, 여러 번 사용 가능)

패키지가 지원하는 운영 체제를 요약하는, 쉼표로 구분된 플랫폼 명세 목록입니다. 주요 지원 플랫폼은 아래에 나열되어 있지만, 이 목록은 완전할 수 없습니다.

POSIX, MacOS, Windows, BeOS, Palm OS.

바이너리 배포는 메타데이터의 Supported-Platform(지원 플랫폼) 필드를 사용하여 바이너리 패키지가 컴파일된 OS와 CPU를 지정합니다. Supported-Platform(지원 플랫폼)의 의미는 이 PEP에서 규정하지 않습니다.

예시:

Platform: POSIX, Windows

요약

패키지가 하는 일을 한 줄로 요약한 것입니다.

예시:

Summary: A module for collecting votes from beagles.

Description (선택 사항)

여러 문단에 이를 수 있는 더 긴 패키지 설명입니다. (메타데이터를 다루는 소프트웨어는 이 필드의 최대 크기를 가정해서는 안 됩니다. 다만 사람들이 사용 설명서를 long-description으로 넣지는 않기를 바랍니다.)

예시:

Description: This module collects votes from beagles
             in order to determine their electoral wishes.
             Do NOT try to use this module with basset hounds;
             it makes them grumpy.

Keywords (키워드, 선택 사항)

더 큰 카탈로그에서 패키지를 검색하는 데 도움을 주기 위한 추가 키워드 목록입니다.

예시:

Keywords: dog puppy voting election

Home-page (선택 사항)

패키지 홈페이지의 URL을 담은 문자열입니다.

예시:

Home-page: http://www.example.com/~cschultz/bvote/

Author (선택 사항)

최소한 저자의 이름을 담은 문자열입니다. 연락처 정보도 추가할 수 있으며, 각 줄은 줄바꿈 문자로 구분합니다.

예시:

Author: C. Schultz
        Universal Features Syndicate
        Los Angeles, CA

Author-email

저자의 이메일 주소를 담은 문자열입니다. RFC 822 ‘From:’ 헤더에서 허용되는 형식으로 이름과 이메일 주소를 담을 수 있습니다. 카탈로그 시스템이 이 필드의 이메일 부분을 저자를 나타내는 고유 키로 사용할 수 있으므로 선택 사항이 아닙니다. 카탈로그는 저자가 자신의 GPG 키, 개인 홈페이지 및 기타 저자에 관한 추가 메타데이터를 저장할 수 있는 기능을 제공할 수 있으며, 선택적으로 여러 이메일 주소를 같은 사람에게 연결하는 기능을 제공할 수도 있습니다. 저자 관련 메타데이터 필드는 이 PEP에서 다루지 않습니다.

예시:

Author-email: "C. Schultz" <cschultz@example.com>

라이선스

짧은 선택지 목록에서 고른 문자열로, 패키지에 적용되는 라이선스를 지정합니다. 일부 라이선스는 소프트웨어를 자유롭게 재배포할 수 있게 하므로, 패키징 담당자와 재판매자는 소프트웨어를 자유롭게 재배포할 수 있다는 것을 자동으로 알 수 있습니다. 다른 라이선스는 소프트웨어를 어떻게 다시 패키징하고 재판매할 수 있는지 판단하기 위해 사람이 주의 깊게 읽어야 합니다.

선택지는 다음과 같습니다:

Artistic, BSD, DFSG, GNU GPL, GNU LGPL, "MIT",
Mozilla PL, "public domain", Python, Qt PL, Zope PL, unknown,
nocommercial, nosell, nosource, shareware, other

일부 라이선스의 정의는 다음과 같습니다:

DFSG 이 라이선스는 데비안 자유 소프트웨어 지침(Debian Free Software Guidelines)을 준수하지만, 여기에 나열된 다른 DFSG 준수 라이선스 중 어느 것도 사용하지 않습니다. 자세한 정보는 다음에서 확인할 수 있습니다: http://www.debian.org/social_contract#guidelines
Python Python 1.6 이상의 라이선스입니다. 버전 1.5.2 및 그 이전 버전은 MIT 라이선스를 따릅니다.
public domain 소프트웨어가 퍼블릭 도메인이며 저작권이 없습니다.
unknown 상태를 알 수 없습니다
nocommercial 개인적 사용은 무료이지만 상업적 사용은 허용되지 않습니다
nosell 사용은 무료이지만 영리 목적의 배포는 별도 협의가 필요합니다
nosource 자유롭게 배포할 수 있지만 소스 코드는 제공되지 않습니다
shareware 소프트웨어를 사용하는 경우 대금 지불을 요청합니다
other 그 밖의 DFSG 비준수 라이선스를 위한 일반 분류입니다

이 라이선스 중 일부는 소프트웨어를 자유롭게 재배포할 수 있다는 의미로 해석될 수 있습니다. 재배포 가능한 라이선스의 목록은 다음과 같습니다:

Artistic, BSD, DFSG, GNU GPL, GNU LGPL, "MIT",
Mozilla PL, "public domain", Python, Qt PL, Zope PL,
nosource, shareware

재배포 가능하다고 해서 패키지가 자유 소프트웨어의 자격을 갖추는 것은 아니라는 점에 유의하십시오. ‘nosource’와 ‘shareware’가 그 예입니다.

예시:

License: MIT

감사의 글

이 문서의 많은 변경과 재작성은 Distutils SIG 독자들이 제안한 것입니다. 특히 Sean Reifschneider는 이 PEP에 포함할 실제 문안을 자주 제공했습니다.

라이선스 목록은 SourceForge 라이선스 목록과 Graham Williams가 정리한 CTAN 라이선스 목록을 사용하여 작성되었으며, Carey Evans도 이 목록에 대해 여러 유용한 제안을 해 주었습니다.