Skip to main content

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

Project description

Quickstart

A Python module for semantic versioning. Simplifies comparing versions.

Build status Python versions Monthly downloads from PyPI Software license Documentation Status Black Formatter

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


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.dev1.tar.gz (52.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

semver-3.0.0.dev1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: semver-3.0.0.dev1.tar.gz
  • Upload date:
  • Size: 52.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.10

File hashes

Hashes for semver-3.0.0.dev1.tar.gz
Algorithm Hash digest
SHA256 fa19ff56ba116a77ad3f3a2de5652cf82d7c8a054fab69cb1d60d083f662ab3c
MD5 bdec2a24f0eae0b62ab6f17d2bbcec55
BLAKE2b-256 6b8daf6ce776f7d109b68179cf1ee58129ad732c1fef92d98d693ed443b864a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: semver-3.0.0.dev1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.10

File hashes

Hashes for semver-3.0.0.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 e2094af8aac7a8d29d4688b996e211fd190a5a895b296c0c8df1c136e07c8137
MD5 74105a0afa3a9949486addc70f4e7258
BLAKE2b-256 1d4e1b51f6043f3abe36823322fac9d49befd83b5fd595004876582fac5fe1cf

See more details on using hashes here.

Supported by

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