[Distutils] Review of latest draft of PEP 426 (Python package metadata v1.3)

Nick Coghlan ncoghlan at gmail.com
Mon Jan 28 08:17:36 CET 2013

On Mon, Jan 28, 2013 at 4:58 PM, Tarek Ziadé <tarek at ziade.org> wrote:
> On 1/28/13 7:17 AM, Nick Coghlan wrote:
> ...
>  > 3. There needs to be a mechanism to inform automated tools of the
>> *right* version ordering to use, with PEP 386 being the default.
> what happens when you compare two versions from two different schemes ?

When would you ever do that? If a project *changes* schemes, then all
previously published versions would be reinterpreted in accordance
with the new scheme. If that happens, they may need to drop their old
(usually only prerelease) versions that would sort differently. The
rule I'm suggesting is this:

    When a distribution lists a "Version-Scheme" in its metadata, then
that lexical ordering should be used whenever that distribution
appears in a Requires-Dist or Obsoleted-By field and the version
specifier includes an ordered comparison. If no version scheme is
specified, then PEP 386 ordering is used by default.

The processing of the comparisons in Requires-Dist and Obsoleted-By
entries would *not* be affected by a Version-Scheme definition in the
metadata file where they appear, only Version-Scheme definitions in
the metadata for the distributions they reference.

Related to this, does anyone have a link handy for the post that went
through and explained the current prerelease sorting discrepancies
between setuptools and PEP 386? I was looking for it earlier and
couldn't find it.


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Distutils-SIG mailing list