Python helper for Semantic Versioning (http://semver.org/)
Project description
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
VersionInfo(major=3, minor=4, patch=5, prerelease='pre.2', build='build.4')
>>> 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
semver-2.7.2.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for semver-2.7.2.macosx-10.11-x86_64.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 621e825ee4ab945c08e6b853d5760d83c0cba5b8c06f38fe999d1cb22b0373e3 |
|
MD5 | 286639d490c641497006f1676167ddc9 |
|
BLAKE2b-256 | 130ca3ac8865b6b023f62a0e7aa6f8aa43f970eedd5190d40918d3deec8e97ae |