[Distutils] PEP 386 status - last round here ?

Floris Bruynooghe floris.bruynooghe at gmail.com
Thu Dec 3 18:20:30 CET 2009

On Thu, Dec 03, 2009 at 04:50:50PM +0100, M.-A. Lemburg wrote:
> The dev markers introduce an extra level of confusion, which
> IMHO is not necessary.
> Let's take 1.0a0.dev123 as example, reading it from the left:
> 1.0          - ok, so this is part of a 1.0 release
> 1.0a0        - oops, no, it's not actually part of a release, it's part
>                of a pre-release, so move back
> 1.0a0.dev123 - hmm, not even that, it's part of what's going
>                to become a pre-release, so move even further back

This is a weak argument IMHO, because your proposal doesn't change
that and this is also the way people are used too anyway
("something.alpha" has been understood to come before "something" for
a long time by most people).

> As developer you typically want to use the version number to
> tell the user a few things about your package:
> 1. whether it's release quality code
> 	1.0.0


> 2. whether it's a development snapshot
> 	1.0.0a0.20091202

or 1.0.0a0.dev20091202 or 1.0.0a0.post20091202 (or with your case of
not releasing an a0 also 1.0.0a1.dev20091202).  None of these are more
confusing really.

> 3. whether it's working code, but still under development
> 	1.0.0a1


> 4. whether it fixes some bug that was found after a release
> 	1.0.1


> Sorry, I probably wasn't clear enough. What I proposed looks like this:
>   1.0a0 (which is not released and only used to mark the start of 1.0
>          development, just like we do for Python)
> < 1.0a0.124
> < 1.0a0.245
> < 1.0a1     (pre-release)
> < 1.0a1.346
> < 1.0a2     (pre-release)
> < 1.0       (release)
> < 1.0.567   (release)
> and the 1.0.567 is not a dev-marker (since the proposal is about
> removing these ;-), but instead a post-marker without the
> "post". In reality, such a post release would be a patch-level
> release.

Sure you can create a release process entirely with post-release style
tags.  But the PEP explicitly tried to cater for both styles.  In the
original discussion different projects using the different systems
where mentioned and in the end it was found that it was not that
strange, contradictory or harming to support both.

As I understand it you can follow the release process that you like
already with PEP 386, and that is what is important: the proposal is
capable to express the versions you desire.  You can happily ignore
.devXXX and others can happily use it.

The only problem you then have left is that you can type .postXXX but
achieve the same with just adding .XXX to the number already (as you
prefer).  While it is true that you could get rid of .postXXX without
losing the ability to express some version numbers it was felt (all of
this from my memory from original discussions - apologies if I
misrepresent something) that the symmetry of .postXXX and .devXXX are
actually nice.  Lastly the sin of having two ways of specifying
post-release tags is eased by them having a strictly defined order.


Debian GNU/Linux -- The Power of Freedom
www.debian.org | www.gnu.org | www.kernel.org

More information about the Distutils-SIG mailing list