PEP 426: Update the section on handling old non-compliant versions

This commit is contained in:
Nick Coghlan 2013-02-22 00:10:25 +10:00
parent 87ee84724d
commit 9e4be3af15
1 changed files with 12 additions and 11 deletions

View File

@ -897,19 +897,20 @@ not mandate any particular approach to handling such versions, but
acknowledges that the de facto standard for ordering them is acknowledges that the de facto standard for ordering them is
the scheme used by the ``pkg_resources`` component of ``setuptools``. the scheme used by the ``pkg_resources`` component of ``setuptools``.
Software that automatically processes distribution metadata may either Software that automatically processes distribution metadata should attempt
treat non-compliant version identifiers as an error, or attempt to normalize to normalize non-compliant version identifiers to the standard scheme, and
them to the standard scheme. This means that projects using non-compliant ignore them if normalization fails. As any normalization scheme will be
version identifiers may not be handled consistently across different tools, implementation specific, this means that projects using non-compliant
even when correctly publishing the earlier metadata versions. version identifiers may not be handled consistently across different
tools, even when correctly publishing the earlier metadata versions.
Distribution developers can help ensure consistent automated handling by For distributions currently using non-compliant version identifiers, these
marking non-compliant versions as "hidden" on the Python Package Index filtering guidelines mean that it should be enough for the project to
(removing them is generally undesirable, as users may be depending on simply switch to the use of compliant version identifiers to ensure
those specific versions being available). consistent handling by automated tools.
Distribution users may also wish to remove non-compliant versions from any Distribution users may wish to explicitly remove non-compliant versions from
private package indexes they control. any private package indexes they control.
For metadata v1.2 (PEP 345), the version ordering described in this PEP For metadata v1.2 (PEP 345), the version ordering described in this PEP
should be used in preference to the one defined in PEP 386. should be used in preference to the one defined in PEP 386.