Skip to main content

Python helper for Semantic Versioning (https://semver.org)

Project description

Quickstart

A Python module for semantic versioning. Simplifies comparing versions.

Python Python versions Monthly downloads from PyPI Software license Documentation Status Black Formatter Percentage of open issues GitHub Discussion

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semver-3.0.0.dev4.tar.gz (64.0 kB view details)

Uploaded Source

Built Distribution

semver-3.0.0.dev4-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file semver-3.0.0.dev4.tar.gz.

File metadata

  • Download URL: semver-3.0.0.dev4.tar.gz
  • Upload date:
  • Size: 64.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for semver-3.0.0.dev4.tar.gz
Algorithm Hash digest
SHA256 c21ec24e51c4b2ff92e9e51c1d9c93b93fbdedaa3f99268ae2c879256ef391f5
MD5 14a19f3cebcd560db4b73a861dce0781
BLAKE2b-256 1714ba6a01f03cdac37ef40d7a0c545d94577d0e98dd50980ce4b13ab2978fe6

See more details on using hashes here.

File details

Details for the file semver-3.0.0.dev4-py3-none-any.whl.

File metadata

  • Download URL: semver-3.0.0.dev4-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for semver-3.0.0.dev4-py3-none-any.whl
Algorithm Hash digest
SHA256 5a47cea48ac895de2524528e1585c7d7b2775369a37dd51764db197898ff6609
MD5 b796c729a5cf2a254d13bf0d60816fa1
BLAKE2b-256 18e0ab9970a0064eb1c9fc69299df18e307b2540adb811649a380e83f93daf2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page