[Distutils] PEP 386 status - last round here ?

Tarek Ziadé ziade.tarek at gmail.com
Thu Dec 3 16:18:10 CET 2009


On Thu, Dec 3, 2009 at 1:55 PM, M.-A. Lemburg <mal at egenix.com> wrote:
> Tarek Ziadé wrote:
>> Last, as I said in a previous mail, I tend to agree with the people
>> who said that we should stick with only one way to write the version
>> scheme for the sake of clarity. e.g. dropping aliases and picking
>> *one* way to write the markers after major.minor.micro.
>>
>> I would tend to pick the same scheme than Python for the pre-releases
>> (and c + rc):
>>
>>     N.N[.N][(a|b|c|rc)N]
>>
>> And, for the post/dev markers I think dots are OK for readability,
>
> Sure, but readability and clarity means different things for
> different people.
>
> The reason I proposed aliases and underscores is to give package
> authors the choice of using terse forms or more verbose ones, as
> well as making the whole scheme more compatible to existing
> version strings already in use.
>
> Regarding post/dev markers:
>
> IMO, it's not really obvious that a 1.0a1.dev123 release refers to a
> snaphost *before* the 1.0a1 release. The string "pre" is more commonly
> used for such pre-release snapshots.
>
> For the .post123 tag, I don't see a need for a "post" string at all,
> 1.0a1.123 is clearly a release or build *after* the 1.0a1 release
> and since the "1.123" is being treated as alpha version number,
> the post part processing can be dropped altogether.
>
> For the .dev part the situation is similar: you can always
> choose a pre-release version that is not actually released and then
> issue follow up snapshots to this, e.g.
>
>        1.0a0.20091203
>        1.0a0.20091204
>        1.0a0.20091205
>
> and so on for nightly builds during the development phase.
>
> Instead of writing:
>
>        1.0a1.dev20091205
>
> you'd then write
>
>        1.0a0.20091205
>
> This is how Python itself is organizing the versions during
> development, BTW.

So IOW, are you suggesting that a suffix marker is always a post
release marker ?

so we have :

1.0a0
< 1.0a0.124
< 1.0a0.245
< 1.0a1
< 1.0a1.346
< 1.0a2
< 1.0
< 1.0.567  <--- dev marker

The problem in that case is that we would be unable to differenciate
dev marker with
micro markers.

That's why we added these "dev" markers in the first place. So
following your ordering:

- 1.0a0
< 1.0a0.dev124
< 1.0a0.dev245
< 1.0a1
< 1.0a1.dev346
< 1.0a2
< 1.0
< 1.0.dev567  <--- dev marker

Now about making the dev a post release tag, AFAIK people always use
dev markers as pre-release tags:

- 1.0a0
< 1.0a1.dev124
< 1.0a1.dev245
< 1.0a1
< 1.0a2.dev346
< 1.0a2
< 1.0.dev567  <--- dev marker
< 1.0

Last, if we want to do a post release for 1.0 for example, you would
also need a post- marker, as we added

Regards
Tarek


More information about the Distutils-SIG mailing list