News for hackers. Stuff that matters.
Re:Quirks of Python Package Versioning by vsajip on Thursday August 03, 2023 @12:14PM (#36987867)
Other libraries are available: distlib is even part of PyPA, but apparently its approach to trying out new things put some people off, so it's not "blessed". It supports legacy, standard and semver versions in its version module [0].

    >>> from distlib.version import LegacyVersion, NormalizedVersion
    >>> NormalizedVersion('2.4.0cloudera2')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/disk2/vinay/projects/scratch/distlib/distlib/version.py", line 33, in __init__
        self._parts = parts = self.parse(s)
                              ^^^^^^^^^^^^^
      File "/disk2/vinay/projects/scratch/distlib/distlib/version.py", line 276, in parse
        result = _normalized_key(s)
                 ^^^^^^^^^^^^^^^^^^
      File "/disk2/vinay/projects/scratch/distlib/distlib/version.py", line 188, in _pep_440_key
        raise UnsupportedVersionError('Not a valid version: %s' % s)
    distlib.version.UnsupportedVersionError: Not a valid version: 2.4.0cloudera2
    >>> LegacyVersion('2.4.0cloudera2')
    LegacyVersion('2.4.0cloudera2')
[0] https://distlib.readthedocs.io/en/latest/reference.html#the-...

There are no comments on this comment yet.