RETIRED, further work has moved to Debian project infrastructure
2a122ac6f4
Update Travis configuration file |
||
---|---|---|
.gitignore | ||
.travis.yml | ||
CHANGELOG | ||
CONTRIBUTORS | ||
LICENSE.txt | ||
MANIFEST.in | ||
README.rst | ||
semver.py | ||
setup.py | ||
tests.py | ||
tox.ini |
Semver
A Python module for semantic versioning. Simplifies comparing versions.
Usage
This module provides just couple of functions, main of which are:
>>> import semver
>>> semver.compare("1.0.0", "2.0.0")
-1
>>> semver.compare("2.0.0", "1.0.0")
1
>>> semver.compare("2.0.0", "2.0.0")
0
>>> semver.match("2.0.0", ">=1.0.0")
True
>>> semver.match("1.0.0", ">1.0.0")
False
>>> semver.format_version(3, 4, 5, 'pre.2', 'build.4')
'3.4.5-pre.2+build.4'
>>> version_parts = semver.parse("3.4.5-pre.2+build.4")
>>> version_parts == {
'major': 3, 'minor': 4, 'patch': 5,
... 'prerelease': 'pre.2', 'build': 'build.4'}
... True
>>> version_info = semver.parse_version_info("3.4.5-pre.2+build.4")
>>> version_info
=3, minor=4, patch=5, prerelease='pre.2', build='build.4')
VersionInfo(major>>> version_info.major
3
>>> version_info > (1, 0)
True
>>> version_info < (3, 5)
True
>>> semver.bump_major("3.4.5")
'4.0.0'
>>> semver.bump_minor("3.4.5")
'3.5.0'
>>> semver.bump_patch("3.4.5")
'3.4.6'
>>> semver.max_ver("1.0.0", "2.0.0")
'2.0.0'
>>> semver.min_ver("1.0.0", "2.0.0")
'1.0.0'
Installation
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 setup.py 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 setup.py clean