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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: semver-3.0.0.dev2.tar.gz
  • Upload date:
  • Size: 56.6 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.dev2.tar.gz
Algorithm Hash digest
SHA256 55dd56b0144d7fa48708300076d861655769bcfc4334b22cbb08486bf976eb6c
MD5 c9e78cf68c64e6f52381fa377306aa57
BLAKE2b-256 4bd42e111351cda79e8621f8f038e8dedcc38e9f226684a1b1002f9cb8aaa871

See more details on using hashes here.

File details

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

File metadata

  • Download URL: semver-3.0.0.dev2-py3-none-any.whl
  • Upload date:
  • Size: 16.6 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.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 153511dda7e85ce68673607bc7565e252b6495b23a5f631d73c59138b7aea5db
MD5 f8f349deb19847fa7d64ee5c65cbe852
BLAKE2b-256 a472b0f3417c71e275160947f80f6dd5f45133a99e21811a9ab2623bf92d436a

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