More suggestions from Sean R.:
* Rewrite introductory paragraph * Make some fields optional and others multiple-user * Add header name to examples
This commit is contained in:
parent
1a0c679ea9
commit
f5d13afcc2
49
pep-0241.txt
49
pep-0241.txt
|
@ -9,8 +9,9 @@ Post-History:
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
This PEP specifies the names and semantics of the fields used to store
|
This PEP describes a mechanism for adding metadata to Python
|
||||||
metadata about Python software packages.
|
packages. It includes specifics of the field names, and their
|
||||||
|
semantics and usage.
|
||||||
|
|
||||||
|
|
||||||
Including Metadata in Packages
|
Including Metadata in Packages
|
||||||
|
@ -22,10 +23,10 @@ Including Metadata in Packages
|
||||||
distribution (where the README, INSTALL, and other files usually
|
distribution (where the README, INSTALL, and other files usually
|
||||||
go).
|
go).
|
||||||
|
|
||||||
Developers may not provide their own "PKG-INFO" file. The "sdist"
|
Developers may not provide their own PKG-INFO file. The "sdist"
|
||||||
command will, if it detects an existing "PKG-INFO" file, terminate
|
command will, if it detects an existing PKG-INFO file, terminate
|
||||||
with an appropriate error message. This should prevent confusion
|
with an appropriate error message. This should prevent confusion
|
||||||
caused by the "PKG-INFO" and "setup.py" files being out of sync.
|
caused by the PKG-INFO and setup.py files being out of sync.
|
||||||
|
|
||||||
The PKG-INFO file format is a single set of RFC-822 headers
|
The PKG-INFO file format is a single set of RFC-822 headers
|
||||||
parseable by the rfc822.py module. The field names listed in the
|
parseable by the rfc822.py module. The field names listed in the
|
||||||
|
@ -39,18 +40,24 @@ Fields
|
||||||
This section specifies the names and semantics of each of the
|
This section specifies the names and semantics of each of the
|
||||||
supported metadata fields.
|
supported metadata fields.
|
||||||
|
|
||||||
|
Fields marked with "(Multiple use)" may be specified multiple
|
||||||
|
times in a single PKG-INFO file. Other fields may only occur
|
||||||
|
once in a PKG-INFO file. Fields marked with "(optional)" are
|
||||||
|
not required to appear in a valid PKG-INFO file, all other
|
||||||
|
fields must be present.
|
||||||
|
|
||||||
Metadata-Version
|
Metadata-Version
|
||||||
|
|
||||||
Version of the file format; currently "1.0" is the only
|
Version of the file format; currently "1.0" is the only
|
||||||
legal value here.
|
legal value here.
|
||||||
|
|
||||||
Example: '1.0'
|
Example: 'Metadata-Version: 1.0'
|
||||||
|
|
||||||
Name
|
Name
|
||||||
|
|
||||||
The name of the package.
|
The name of the package.
|
||||||
|
|
||||||
Example: 'BeagleVote'
|
Example: 'Name: BeagleVote'
|
||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
|
@ -59,9 +66,9 @@ Fields
|
||||||
(StrictVersion or LooseVersion) in the distutils.version
|
(StrictVersion or LooseVersion) in the distutils.version
|
||||||
module.
|
module.
|
||||||
|
|
||||||
Example: '1.0a2'
|
Example: 'Version: 1.0a2'
|
||||||
|
|
||||||
Platforms
|
Platform (multiple use)
|
||||||
|
|
||||||
A (XXX whitespace? comma?)-separated list of platform
|
A (XXX whitespace? comma?)-separated list of platform
|
||||||
specifications. Platform specifications are limited to the
|
specifications. Platform specifications are limited to the
|
||||||
|
@ -75,7 +82,7 @@ Fields
|
||||||
|
|
||||||
A one-line summary of what the package does.
|
A one-line summary of what the package does.
|
||||||
|
|
||||||
Example: "A module for collecting votes from beagles."
|
Example: "Summary: A module for collecting votes from beagles."
|
||||||
|
|
||||||
Description (optional)
|
Description (optional)
|
||||||
|
|
||||||
|
@ -85,22 +92,23 @@ Fields
|
||||||
people won't include their instruction manual as the
|
people won't include their instruction manual as the
|
||||||
long-description.)
|
long-description.)
|
||||||
|
|
||||||
Example: 'This module collects votes from beagles in order to
|
Example: "Description: This module collects votes from beagles\n
|
||||||
determine their electoral wishes. Do NOT try to use this module
|
in order to determine their electoral wishes.\n
|
||||||
with basset hounds; it makes them grumpy.'
|
Do NOT try to use this module with basset hounds;
|
||||||
|
it makes them grumpy."
|
||||||
|
|
||||||
Keywords
|
Keywords (optional)
|
||||||
|
|
||||||
A list of additional keywords to be used to assist searching
|
A list of additional keywords to be used to assist searching
|
||||||
for this package in a larger catalog.
|
for this package in a larger catalog.
|
||||||
|
|
||||||
Example: 'dog puppy voting election'
|
Example: 'Keywords: dog puppy voting election'
|
||||||
|
|
||||||
Home-page (optional)
|
Home-page (optional)
|
||||||
|
|
||||||
A string containing the URL for the package's home page.
|
A string containing the URL for the package's home page.
|
||||||
|
|
||||||
Example: 'http://www.example.com/~cschultz/bvote/'
|
Example: 'Home-page: http://www.example.com/~cschultz/bvote/'
|
||||||
|
|
||||||
Author (optional)
|
Author (optional)
|
||||||
|
|
||||||
|
@ -108,7 +116,9 @@ Fields
|
||||||
information can also be added, separating each line with
|
information can also be added, separating each line with
|
||||||
newlines.
|
newlines.
|
||||||
|
|
||||||
Example: 'C. Schultz\nUniversal Features Syndicate\nLos Angeles, CA'
|
Example: 'Author: C. Schultz
|
||||||
|
Universal Features Syndicate
|
||||||
|
Los Angeles, CA'
|
||||||
|
|
||||||
Author-email
|
Author-email
|
||||||
|
|
||||||
|
@ -123,7 +133,7 @@ Fields
|
||||||
person. Author-related metadata fields are not covered by this
|
person. Author-related metadata fields are not covered by this
|
||||||
PEP.
|
PEP.
|
||||||
|
|
||||||
Example: '"C. Schultz" <cschultz@example.com>'
|
Example: 'Author-email: "C. Schultz" <cschultz@example.com>'
|
||||||
|
|
||||||
License
|
License
|
||||||
|
|
||||||
|
@ -159,11 +169,12 @@ Fields
|
||||||
Mozilla PL, "public domain", Python, Qt PL, Zope PL,
|
Mozilla PL, "public domain", Python, Qt PL, Zope PL,
|
||||||
nosource, shareware
|
nosource, shareware
|
||||||
|
|
||||||
|
|
||||||
Note that being redistributable does not mean a package
|
Note that being redistributable does not mean a package
|
||||||
qualifies as free software, 'nosource' and 'shareware' being
|
qualifies as free software, 'nosource' and 'shareware' being
|
||||||
examples.
|
examples.
|
||||||
|
|
||||||
|
Example: 'License: MIT/X11'
|
||||||
|
|
||||||
|
|
||||||
Copyright
|
Copyright
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue