Skip to main content

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

Reason this release was yanked:

License was wrong and some files were missing

Project description

A Python module to simplify semantic versioning.

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.3.tar.gz (32.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.3-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file semver-3.0.3.tar.gz.

File metadata

  • Download URL: semver-3.0.3.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.13.1

File hashes

Hashes for semver-3.0.3.tar.gz
Algorithm Hash digest
SHA256 8769a03a93507fecdf19b6eefb08d5e95b462504871a61e29e09798822888c94
MD5 6023ccda9254e3ee8e31a246ce67b898
BLAKE2b-256 13f8071c42ed3e9678f66a6d624c8df4cdd1490de2504dde6a1d47b61a8195e2

See more details on using hashes here.

File details

Details for the file semver-3.0.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for semver-3.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf5e5a52f98cd8377cfb99088eb743722f3d47cefc8a37e503c1e5806846b17
MD5 af296688ee72bb779ba2e4661c6dc84a
BLAKE2b-256 0ea5f240eb6341a63e9846a4c5b02222908181deeb3031b24c743a2381d3dd3f

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