Skip to main content

Version Comparator

Project description

Version

A version is a string that matches the following regex:

"^v?(\d+)(?:.(\d+))?(?:.(\d+))?(?:-?(a|b|rc)(\d+)?)?$"

E.g. v0.11.22-rc3.

Assumptions

  1. v1 is equivalent to v1.0.0
  2. A version without a candidate is greater than its candidate counterpart e.g. v2 > v2rc > v2b > v2a

Installation

pip install rtimbo-version

Usage

>>> from version import Version
>>> v1 = Version("v0.2.11rc3")
>>> v1.major
0
>>> v1.minor
2
>>> v1.patch
11
>>> v1.candidate
'rc'
>>> v1.candidate_number
3
>>> v1 > 0
True
>>> v1 > 1
False
>>> available_versions = [
...     Version("v0.9.2b"),
...     Version("v0.9.1"),
...     Version("v0.9.2"),
...     Version("v2.9.3rc1"),
...     Version("3.0.0"),
...     Version("v0.9.2a1"),
...     Version("v0.9.2rc1"),
...     Version("1.0.0"),
...     Version("2.5.7"),
...     Version("v0.9.2rc3")]
>>> 
>>> print('\n'.join([str(version) for version in sorted(available_versions)]))
v0.9.1
v0.9.2a1
v0.9.2b0
v0.9.2rc1
v0.9.2rc3
v0.9.2
v1.0.0
v2.5.7
v2.9.3rc1
v3.0.0

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

rtimbo-version-1.0.0.tar.gz (2.9 kB view details)

Uploaded Source

File details

Details for the file rtimbo-version-1.0.0.tar.gz.

File metadata

  • Download URL: rtimbo-version-1.0.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.3

File hashes

Hashes for rtimbo-version-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0d43a289aa67dbe45ca95ecabba6f72efd75c1a0a9698ed86d4ee4b1aac2aab7
MD5 9dbf0d11e83ec1c589441b46e5d13c34
BLAKE2b-256 8654568825323c42b8c58d02f55e7c9ce2e9e6ef454a4c00e31fa4e59beef422

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