[Cython] [cython-users] Re: Cython 0.17 beta 1 released

Yaroslav Halchenko lists at onerussian.com
Thu Aug 2 19:02:48 CEST 2012


On Thu, 02 Aug 2012, Stefan Behnel wrote:

> Bradley M. Froehle, 01.08.2012 18:35:
> > Yes, this versioning has also impacted mpi4py which had to add some pretty ugly code in setup.py to work around it:

> > https://code.google.com/p/mpi4py/source/detail?r=841e9df

> >> I am not sure what is the status on PEP 386 [1] (not yet adopted afaik)

> It's in state "Accepted".

ah right -- now it is in python3 (but not in python2):

(git)novo:~/proj/misc/cpython[2.7]git
$> git grep NormalizedVersion 2.7   
$> git grep NormalizedVersion master
master:Doc/library/packaging.version.rst:.. class:: NormalizedVersion(self, s, error_on_huge_major_num=True)
master:Doc/library/packaging.version.rst:      >>> NormalizedVersion('1.2b1') < NormalizedVersion('1.2')
master:Doc/library/packaging.version.rst:   :class:`NormalizedVersion` is used internally by :class:`VersionPredicate` to
master:Doc/library/packaging.version.rst:   :class:`NormalizedVersion`.
master:Doc/library/packaging.version.rst:      >>> NormalizedVersion("irrational_version_number")
master:Lib/packaging/command/bdist_msi.py:from packaging.version import NormalizedVersion
master:Lib/packaging/command/bdist_msi.py:class MSIVersion(NormalizedVersion):
master:Lib/packaging/errors.py:    See `error_on_huge_major_num` option in `NormalizedVersion` for details.
master:Lib/packaging/pypi/dist.py:from packaging.version import (suggest_normalized_version, NormalizedVersion,
master:Lib/packaging/pypi/dist.py:            self._version = NormalizedVersion(version)
master:Lib/packaging/tests/test_version.py:from packaging.version import NormalizedVersion as V
master:Lib/packaging/tests/test_version.py:        self.assertEqual(repr(V('1.0')), "NormalizedVersion('1.0')")
master:Lib/packaging/tests/test_version.py:        TypeError: cannot compare NormalizedVersion and str
master:Lib/packaging/tests/test_version.py:        TypeError: cannot compare NormalizedVersion and str
master:Lib/packaging/version.py:__all__ = ['NormalizedVersion', 'suggest_normalized_version',
master:Lib/packaging/version.py:class NormalizedVersion:
master:Lib/packaging/version.py:        """Create a NormalizedVersion instance from a version string.
master:Lib/packaging/version.py:            the introduction of `NormalizedVersion` was version numbers like
master:Lib/packaging/version.py:        if not isinstance(other, NormalizedVersion):
master:Lib/packaging/version.py:        if not isinstance(other, NormalizedVersion):
master:Lib/packaging/version.py:    If you have a version string that isn't rational (i.e. NormalizedVersion
master:Lib/packaging/version.py:    - 2312 (53.93%) match NormalizedVersion without change
master:Lib/packaging/version.py:        NormalizedVersion(s)
master:Lib/packaging/version.py:        NormalizedVersion(rs)
master:Lib/packaging/version.py:    return comp, NormalizedVersion(version)
master:Lib/packaging/version.py:            version = NormalizedVersion(version)


> >> parsing the version -- bzr and xpra I believe [2]. So may be it is worth
> >> making it '0.17b1' (and use corresponding tags accordingly)?

> I guess so. That would fit the StrictVersion scheme.

just a side-note -- I didn't know that StrictVersion doesn't play nicely with LooseVersion to any degree:

$> python -c 'from distutils.version import LooseVersion as LV, StrictVersion as SV; print SV("0.17") > LV("0.18")' 
True

at least in python3 it pukes:

$> python3 -c 'from distutils.version import LooseVersion as LV, StrictVersion as SV; print(SV("0.17") > LV("0.18"))' 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.2/distutils/version.py", line 70, in __gt__
    c = self._cmp(other)
  File "/usr/lib/python3.2/distutils/version.py", line 179, in _cmp
    if self.version < other.version:
TypeError: unorderable types: tuple() < list()


-- 
Yaroslav O. Halchenko
Postdoctoral Fellow,   Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        


More information about the cython-devel mailing list