StrictVersion¶
- class audeer.StrictVersion(version=None)[source]¶
Version numbering for anal retentives and software idealists.
This implementation was originally part of
distutils
asversion.StrictVersion
.A version number consists of two or three dot-separated numeric components, with an optional “pre-release” tag on the end. The pre-release tag consists of the letter ‘a’ or ‘b’ followed by a number. If the numeric components of two version numbers are equal, then one with a pre-release tag will always be deemed earlier (lesser) than one without.
The following are valid version numbers (shown in the order that would be obtained by sorting according to the supplied cmp function):
'0.4'
,'0.4.1'
,'0.5a1'
,'0.5b3'
,'0.5'
,'0.9.6'
,'1.0'
,'1.0.4a3'
,'1.0.4b1'
,'1.0.4'
.The following are examples of invalid version numbers:
'1'
,'2.7.2.2'
,'1.3.a4'
,'1.3pl1'
,'1.3c4'
.- Parameters
version – version string
- Raises
ValueError – if
version
does not match theStrictVersion.version_re
pattern
Examples
>>> v1 = StrictVersion("1.17.2a1") >>> v1 StrictVersion ('1.17.2a1') >>> v1.version (1, 17, 2) >>> v1.prerelease ('a', 1) >>> v2 = StrictVersion("1.17.2") >>> v1 < v2 True