Semver 3.0.0-dev.2 – Semantic Versioning¶
If you are searching for how to stay compatible with semver3, refer to Migrating from semver2 to semver3.
This is a development version. Do NOT use it in production before the final 3.0.0 is released.
A Python module for semantic versioning. Simplifies comparing versions.
This project works for Python 3.6 and greater only. If you are
looking for a compatible version for Python 2, use the
The last version of semver which supports Python 2.7 to 3.5 will be 2.x.y However, keep in mind, the major 2 release is frozen: no new features nor backports will be integrated.
We recommend to upgrade your workflow to Python 3.x to gain support, bugfixes, and new features.
The module follows the
MAJORversion when you make incompatible API changes,
MINORversion when you add functionality in a backwards compatible manner, and
PATCHversion 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
>>> ver = semver.Version.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.Version.bump_major leaves the original object untouched, but
returns a new
semver.Version instance with the raised major part:
>>> ver = semver.Version.parse("3.4.5") >>> ver.bump_major() Version(major=4, minor=0, patch=0, prerelease=None, build=None)
It is allowed to concatenate different “bump functions”:
>>> ver.bump_major().bump_minor() Version(major=4, minor=1, patch=0, prerelease=None, build=None)
To compare two versions, semver provides the
The return value indicates the relationship between the first and second
>>> 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!