- makes the default handling of version specifiers match Ruby's ~> operator
- explicitly base == and != on string prefix matching
- cleaned up various examples related to the version specifiers
- give the version specifiers section more structure
DRY rule for Provides-Dist: distributions always provide their own name.
No point asking projects to choose their metadata version; wacky version
numbers will not work correctly with tools regardless of the metadata
version.
Today Setup-Requires-Dist is needed so that "python setup.py" will run at all.
Pip executes setup.py to write the requirements to a file, installs them, and
runs setup.py again to do the build/install. Not prepared to add extras to
this stage as installing a package with extras would have different results
depending on whether you were installing package[extra] from source or from a
binary.
- include an example of Python-Requires + environment markers
- allow a bare Extension field (and give an example use case)
- be explicit that projects that refuse to use compliant version
numbering must continue to use metadata v1.1
- add guidelines for sorting across metadata versions
- add guidelines for dependencies across metadata versions
- point out that the new sort order is more consistent with that
of pkg_resources
- mention the implicit test and doc features in the rationale
for supporting optional features in general
- consistently use sentence case for headings, instead of a mix
of sentence case and title case
- other typo fixes
- better explain the new description format
- rationale for why Obsoletes-Dist header was removed
- rationale for why Description header was retained
- miscellaneous formatting and editorial fixes
This tries to create a slightly easier to read ordering for the
field descriptions. Roughly:
- basic metadata
- URLs
- contacts
- licensing & classifiers
- what the distribution provides
- what the distribution needs
- extended metadata