[Python-ideas] Add `rc` to distutils.version.StrictVersion

Donald Stufft donald at stufft.io
Fri Jul 6 16:02:20 EDT 2018


You should https://packaging.pypa.io/en/latest/version/ <https://packaging.pypa.io/en/latest/version/> instead of anything in distutils for handling version numbers.

> On Jul 5, 2018, at 2:11 PM, Pål Grønås Drange <paal.drange at gmail.com> wrote:
> 
> StrictVersion from distutils accepts version tags like
> 1.14.0
> 1.14.0a1
> 1.14.0b2
> 
> but not
> 1.14.0rc1 (nor 1.14.0c1).
> 
> My suggestion:  Add `rc` in the regexp and make it a `prerelease` (the
> latter comes for free by the current implementation).
> 
> Most package maintainers have adopted the `rc` abbreviation for release
> candidate versioning, e.g.
> - numpy 1.14.0rc1
> - scipy 1.1.0rc1
> - plotly 3.0.0rc1
> - pandas 0.23.0rc1
> - matplotlib 2.2.0rc1
> - dask 0.13.0rc1
> - django 1.9rc1.
> All of these are available on PyPI.
> 
> A natural way of sorting version numbers from pip is by simply using
>     sorted(versions, key=distutils.version.StrictVersion),
> however, due to StrictVersion only accepting `a` and `b` as
> abbreviations, this does not work for the aforemention packages.
> 
> The very obvious cons are:
> - touching 20 years old code [1]
> - StrictVersion is preserved "for anal retentives and software
>   idealists", and I don't know if they agree.
> 
> There might be more cons I fail to think of at this moment.
> 
> [1] https://github.com/python/cpython/blob/master/Lib/distutils/version.py#L130 <https://github.com/python/cpython/blob/master/Lib/distutils/version.py#L130>
> 
> Pål Grønås Drange
> 
> 
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180706/1584f841/attachment-0001.html>


More information about the Python-ideas mailing list