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

2018-07-06 Thread Donald Stufft
You should 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  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 
> 
> 
> Pål Grønås Drange
> 
> 
> ___
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/

___
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/


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

2018-07-05 Thread Pål Grønås Drange
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

Pål Grønås Drange
___
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/