Python helper for Semantic Versioning (http://semver.org/)
Project description
A Python module for semantic versioning. Simplifies comparing versions.
The module follows the MAJOR.MINOR.PATCH style:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards compatible manner, and
PATCH version when you make backwards compatible bug fixes.
Additional labels for pre-release and build metadata are supported.
To import this library, use:
>>> import semver
Working with the library is quite straightforward. To turn a version string into the different parts, use the semver.VersionInfo.parse function:
>>> ver = semver.VersionInfo.parse('1.2.3-pre.2+build.4')
>>> ver.major
1
>>> ver.minor
2
>>> ver.patch
3
>>> ver.prerelease
'pre.2'
>>> ver.build
'build.4'
To raise parts of a version, there are a couple of functions available for you. The function semver.VersionInfo.bump_major leaves the original object untouched, but returns a new semver.VersionInfo instance with the raised major part:
>>> ver = semver.VersionInfo.parse("3.4.5")
>>> ver.bump_major()
VersionInfo(major=4, minor=0, patch=0, prerelease=None, build=None)
It is allowed to concatenate different “bump functions”:
>>> ver.bump_major().bump_minor()
VersionInfo(major=4, minor=1, patch=0, prerelease=None, build=None)
To compare two versions, semver provides the semver.compare function. The return value indicates the relationship between the first and second version:
>>> 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
There are other functions to discover. Read on!
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
Built Distribution
Hashes for semver-2.12.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7b14edf94747ebdd08a5ee7c1d0366b039cf144f0e0eba6553b2c6d2bf9b6f8 |
|
MD5 | 6d9fe6c68a1e87d244af8a7c5b6ba249 |
|
BLAKE2b-256 | 1edd37a34ebb0536d824e0a736343195305d9ad8c733f48ab9f82a56eaa09b45 |