Semver <object data="" type="image/svg+xml">Latest version on PyPI</object>

Build status <object data="" type="image/svg+xml">Python versions</object> <object data="" type="image/svg+xml">Monthly downloads from PyPI</object> <object data="" type="image/svg+xml">Software license</object>

A Python module for semantic versioning. Simplifies comparing versions.


This module provides just couple of functions, main of which are:

>>> import semver
>>>"1.0.0", "2.0.0")
>>>"2.0.0", "1.0.0")
>>>"2.0.0", "2.0.0")
>>> semver.match("2.0.0", ">=1.0.0")
>>> semver.match("1.0.0", ">1.0.0")
>>> semver.format_version(3, 4, 5, 'pre.2', 'build.4')
>>> semver.bump_major("3.4.5")
>>> semver.bump_minor("3.4.5")
>>> semver.bump_patch("3.4.5")
>>> semver.max_ver("1.0.0", "2.0.0")
>>> semver.min_ver("1.0.0", "2.0.0")


For Python 2:

pip install semver

For Python 3:

pip3 install semver

How to Contribute

When you make changes to the code please run the tests before pushing your code to your fork and opening a pull request:

python test

We use py.test and tox to run tests against all supported Python versions. All test dependencies are resolved automatically, apart from virtualenv, which for the moment you still may have to install manually:

pip install "virtualenv<14.0.0"  # <14.0.0 needed for Python 3.2 only

You can use the clean command to remove build and test files and folders:

python clean