Home

Awesome

Semantic version implementation

pip install version==0.1.2

Version implements version object as described in Semantic Versioning spec 2.0.0-rc.1.

Example of simple X.Y.Z version:


>>> from version import Version

>>> v = Version('1.2.3')

>>> v
Version('1.2.3')

>>> str(v)
'1.2.3'

>>> v.major
1

>>> v.minor
2

>>> v.patch
3

>>> v.pre_release
[]

>>> v.build
[]

Example with pre-release and build versions:


>>> v2 = Version('2.7.3-rc.2.15+19.e02afe3')

>>> v2.major
2

>>> v2.minor
7

>>> v2.patch
3

>>> v2.pre_release
['rc', 2, 15]

>>> v2.build
[19, 'e02afe3']

Version supports rich comparison operators (<, <=, >, >=, ==, !=), and thus can be sorted:


>>> from __future__ import print_function
>>> versions = [Version('1.0.0+0.3.7'),
...             Version('1.0.0'),
...             Version('1.0.0-beta.11'),
...             Version('0.9.0'),
...             Version('1.0.0-rc.1'),
...             Version('1.0.0-rc.1+build.1'),
...             Version('1.0.0-alpha.1')]

>>> print('\n'.join(map(str, sorted(versions))))
0.9.0
1.0.0-alpha.1
1.0.0-beta.11
1.0.0-rc.1
1.0.0-rc.1+build.1
1.0.0
1.0.0+0.3.7