<p dir="ltr"><br>
On 28 May 2016 3:36 am, "Paul Moore" <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> wrote:<br>
><br>
> On 28 May 2016 at 05:38, Ethan Furman <<a href="mailto:ethan@stoneleaf.us">ethan@stoneleaf.us</a>> wrote:<br>
> > On 05/27/2016 08:22 PM, Nick Coghlan wrote:<br>
> ><br>
> >> The main advantage I'd see to stdlib inclusion is providing "one obvious<br>
> >> way to do it" - it isn't immediately obvious to a newcomer that PEP 440<br>
> >> and the implementation in packaging are the preferred approach for<br>
> >> SemVer-like version numbers in Python projects.<br>
> ><br>
> ><br>
> > Yup, I'll second that!<br>
><br>
> Agreed. Having a version object in the stdlib would be a good way of<br>
> directing people to the standard approach. Some points:<br>
><br>
> - It pretty much has to be PEP 440, as that's the standard in the<br>
> Python packaging ecosystem. Adding a *different* standard to the<br>
> stdlib would be a big problem IMO.<br>
> - Packaging tools like pip will still need to bundle an external<br>
> implementation (at the moment we use the "packaging" library) as<br>
> they'll need to support older versions of Python for some time yet. So<br>
> there would need to be a maintained backport version on PyPI (or the<br>
> packaging library could be sanctioned as that backport).<br>
> - Assuming a separate backport, it's not clear to me how we'd manage<br>
> the transition between packaging and the backport (maintain the 2 in<br>
> parallel? packaging falls back to the stdlib/backport if present?<br>
> packaging gains a conditional dependency on the backport?)<br>
> - PEP 440, and the implementation, is pretty stable. But are we happy<br>
> for it to move to the development pace of the stdlib?</p>
<p dir="ltr">The other issue is the intended use case - I *think* PEP 440 (including the normalisation steps) will cover the version numbering for external dependencies like Tkinter and zlib, but it's not the precise context that spec was designed to cover (i.e. versioning distribution packages for Python projects).</p>
<p dir="ltr">I still think the idea is worth considering, it's just a more complex problem than it appears to be at first glance.</p>
<p dir="ltr">Cheers,<br>
Nick.<br></p>
<p dir="ltr">><br>
> The distutils version classes are pretty old, and fairly limited - the<br>
> strict version is frequently *too* strict, but the loose version is<br>
> rather too lenient...<br>
><br>
> Paul<br>
> _______________________________________________<br>
> Python-ideas mailing list<br>
> <a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-ideas">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
> Code of Conduct: <a href="http://python.org/psf/codeofconduct/">http://python.org/psf/codeofconduct/</a><br>
</p>