Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Semantic versioning (SemVer) implementation for Python
Python
Branch: master

README.md

Semantic version implementation

pip install version==0.1.1

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:

>>> 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
Something went wrong with that request. Please try again.