Proposing PEP 386 - a standard version scheme

(This is the email I will send to python-dev, so everyone can review it before it is sent) On behalf of the Distutils-SIG, I would like to propose PEP 386 for inclusion in the sdtlib, and have a final discussion here on Python-dev. http://www.python.org/dev/peps/pep-0386 This PEP has been discussed for some time in Distutils-SIG, and we agreed there that it's important to have it accepted for the future of packaging because: 1/ it will offer interoperability for all Python package managers out there. (namely: Distutils, Distribute, Setuptools, Pip, PyPM) 2/ it will provide a reference for OS packagers, so they can translate automatically Python distributions versions in their own schemes. Choosing a schema was quite controversial because every development team have their own version scheme. But notice that it is not in the scope of this PEP to come up with an universal versioning schema, intended to support many or all existing versioning schemas. There will always be competing grammars, either mandated by distro or project policies or by historical reasons and we cannot expect that to change. The goal of this PEP is rather to provide a standard reference schema that is able to express the usual versioning semantics, so it's possible to parse any alternative versioning schema and transform it into a compliant one. This is how OS packagers usually deal with the existing version schemas and is a preferable alternative than supporting an arbitrary set of versioning schemas. As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people). This status understandable, and can go on for months in distutils-SIG. So I am proposing to see this PEP discussed for one more round here, then rejected or approved by the highest authority :) so we can move on to the final changes we are planning on PEP 345 and PEP 376 (those are the next PEP we want to propose here) Regards Tarek

Hi Tarek, On Mon, Dec 7, 2009 at 4:53 PM, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
(This is the email I will send to python-dev, so everyone can review it before it is sent)
On behalf of the Distutils-SIG, I would like to propose PEP 386 for inclusion in the sdtlib, and have a final discussion here on Python-dev.
How does the "Requires-Dist" metadata differ from the current "requires" metadata? The syntax looks the same, why not use "requires"? Should this be explained in the PEP? I think there is a missing bit of information in the PEP: "A class method called from_parts is available if you want to create an instance by providing the parts that composes the version. Each part is a tuple and there are three parts: * the main version part * the pre-release part" What is the third part? Darren

On Mon, Dec 7, 2009 at 11:16 PM, Darren Dale <dsdale24@gmail.com> wrote:
Hi Tarek,
On Mon, Dec 7, 2009 at 4:53 PM, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
(This is the email I will send to python-dev, so everyone can review it before it is sent)
On behalf of the Distutils-SIG, I would like to propose PEP 386 for inclusion in the sdtlib, and have a final discussion here on Python-dev.
How does the "Requires-Dist" metadata differ from the current "requires" metadata? The syntax looks the same, why not use "requires"? Should this be explained in the PEP?
The "requires" metadata was not referring to distributions at PyPI, but to any module or package. This is explained in PEP 345, but we can add a note in PEP 386, I'll do it
I think there is a missing bit of information in the PEP:
"A class method called from_parts is available if you want to create an instance by providing the parts that composes the version.
Each part is a tuple and there are three parts:
* the main version part * the pre-release part"
What is the third part?
Good catch, a bit is missing (the third part is the dev marker), I'll fix it in the PEP, You can read the API here: http://bitbucket.org/tarek/distutilsversion/src/tip/verlib.py Thanks for the feedback Tarek

On Mon, Dec 07, 2009 at 10:53:11PM +0100, Tarek Ziadé wrote:
As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people).
This status understandable, and can go on for months in distutils-SIG.
Your brain might have thought of more then your fingers wrote here... Not sure what that's supposed to mean but the last sentence doesn't look complete to me. Otherwise I agree with the content Cheers for the work Floris -- Debian GNU/Linux -- The Power of Freedom www.debian.org | www.gnu.org | www.kernel.org

On Mon, Dec 7, 2009 at 11:23 PM, Floris Bruynooghe <floris.bruynooghe@gmail.com> wrote:
On Mon, Dec 07, 2009 at 10:53:11PM +0100, Tarek Ziadé wrote:
As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people).
This status understandable, and can go on for months in distutils-SIG.
Your brain might have thought of more then your fingers wrote here... Not sure what that's supposed to mean but the last sentence doesn't look complete to me.
I'll need some help then on this one, must be my frenglish at work. What I want to say here is that it is understandable that we are not finding a consensus on a version scheme, and that we can bikeshed for ever about it. Bringing the discussion to Python-dev might lead to another round of discussions on the best scheme to adopt, but I eventually expect Guido to end it up with one of these: 1/ We'll pick the "foo" scheme. I accept the pep. 2/ this is not going to work, I reject that pep. (I want 1/ of course!) IOW I think that we already have everything needed to have a useful tool. Tarek

2009/12/7 Tarek Ziadé <ziade.tarek@gmail.com>:
On Mon, Dec 7, 2009 at 11:23 PM, Floris Bruynooghe <floris.bruynooghe@gmail.com> wrote:
On Mon, Dec 07, 2009 at 10:53:11PM +0100, Tarek Ziadé wrote:
As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people).
This status understandable, and can go on for months in distutils-SIG.
Your brain might have thought of more then your fingers wrote here... Not sure what that's supposed to mean but the last sentence doesn't look complete to me.
I'll need some help then on this one, must be my frenglish at work.
"I believe that the current situation is as close to consensus as we will get on distutils-sig, and in the interests of avoiding months of further discussion which won't take things any further, I propose to allow final comments from python-dev and then look for a final decision". How does that sound? Paul.

On Tue, Dec 8, 2009 at 7:50 AM, Paul Moore <p.f.moore@gmail.com> wrote:
2009/12/7 Tarek Ziadé <ziade.tarek@gmail.com>:
On Mon, Dec 7, 2009 at 11:23 PM, Floris Bruynooghe <floris.bruynooghe@gmail.com> wrote:
On Mon, Dec 07, 2009 at 10:53:11PM +0100, Tarek Ziadé wrote:
As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people).
This status understandable, and can go on for months in distutils-SIG.
Your brain might have thought of more then your fingers wrote here... Not sure what that's supposed to mean but the last sentence doesn't look complete to me.
I'll need some help then on this one, must be my frenglish at work.
"I believe that the current situation is as close to consensus as we will get on distutils-sig, and in the interests of avoiding months of further discussion which won't take things any further, I propose to allow final comments from python-dev and then look for a final decision".
How does that sound?
Much better, in my opinion. Darren

2009/12/8 Darren Dale <dsdale24@gmail.com>:
On Tue, Dec 8, 2009 at 7:50 AM, Paul Moore <p.f.moore@gmail.com> wrote:
2009/12/7 Tarek Ziadé <ziade.tarek@gmail.com>:
On Mon, Dec 7, 2009 at 11:23 PM, Floris Bruynooghe <floris.bruynooghe@gmail.com> wrote:
On Mon, Dec 07, 2009 at 10:53:11PM +0100, Tarek Ziadé wrote:
As I expected, we didn't find a full consensus on the final PEP 386 schema on Distutils-SIG. But the one presented is good enough for what we need to express, as far as I am concerned (and some other people).
This status understandable, and can go on for months in distutils-SIG.
Your brain might have thought of more then your fingers wrote here... Not sure what that's supposed to mean but the last sentence doesn't look complete to me.
I'll need some help then on this one, must be my frenglish at work.
"I believe that the current situation is as close to consensus as we will get on distutils-sig, and in the interests of avoiding months of further discussion which won't take things any further, I propose to allow final comments from python-dev and then look for a final decision".
How does that sound?
Much better, in my opinion.
Thanks Paul ! I'll send it sometimes today Regards Tarek
participants (4)
-
Darren Dale
-
Floris Bruynooghe
-
Paul Moore
-
Tarek Ziadé