Python helper for Semantic Versioning (https://semver.org)
Project description
A Python module to simplify semantic versioning.
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.Version.parse function:
>>> 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 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
File details
Details for the file semver-3.0.2.tar.gz
.
File metadata
- Download URL: semver-3.0.2.tar.gz
- Upload date:
- Size: 215.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc |
|
MD5 | 0bbc4d74959c9f1522f75ffb4ae0934d |
|
BLAKE2b-256 | 416ca536cc008f38fd83b3c1b98ce19ead13b746b5588c9a0cb9dd9f6ea434bc |
File details
Details for the file semver-3.0.2-py3-none-any.whl
.
File metadata
- Download URL: semver-3.0.2-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ea4686fe70b981f85359eda33199d60c53964284e0cfb4977d243e37cf4bf4 |
|
MD5 | 4317e148d323525fcd740d0ac312be14 |
|
BLAKE2b-256 | 9a770cc7a8a3bc7e53d07e8f47f147b92b0960e902b8254859f4aee5c4d7866b |