Utility to compare (Numpy) version strings.

The NumpyVersion class allows properly comparing numpy version strings. The LooseVersion and StrictVersion classes that distutils provides don’t work; they don’t recognize anything like alpha/beta/rc/dev versions.

Module Contents


class NumpyVersion(vstring)

Parse and compare numpy version strings.

Numpy has the following versioning scheme (numbers given are examples; they can be >9) in principle):

  • Released version: ‘1.8.0’, ‘1.8.1’, etc.
  • Alpha: ‘1.8.0a1’, ‘1.8.0a2’, etc.
  • Beta: ‘1.8.0b1’, ‘1.8.0b2’, etc.
  • Release candidates: ‘1.8.0rc1’, ‘1.8.0rc2’, etc.
  • Development versions: ‘1.8.0.dev-f1234afa’ (git commit hash appended)
  • Development versions after a1: ‘1.8.0a1.dev-f1234afa’,
    ‘1.8.0b2.dev-f1234afa’, ‘1.8.1rc1.dev-f1234afa’, etc.
  • Development versions (no git hash available): ‘1.8.0.dev-Unknown’

Comparing needs to be done against a valid version string or other NumpyVersion instance.

vstring : str
Numpy version string (np.__version__).

All dev versions of the same (pre-)release compare equal.

>>> from scipy._lib._version import NumpyVersion
>>> if NumpyVersion(np.__version__) < '1.7.0':
...     print('skip')
>>> NumpyVersion('1.7')  # raises ValueError, add ".0"

Compare major.minor.bugfix


Compare alpha/beta/rc/final.