Skip to main content

Package version handling library

Project description

https://badge.fury.io/py/versions.png https://pypip.in/d/versions/badge.png https://secure.travis-ci.org/pmuller/versions.png?branch=master

Documentation: versions.rtfd.org

Basic usage

Version comparisons example:

>>> from versions import Version
>>> v1 = Version.parse('1')
>>> v2 = Version.parse('2')
>>> v1 == v2
False
>>> v1 != v2
True
>>> v1 > v2
False
>>> v1 < v2
True
>>> v1 >= v2
False
>>> v1 <= v2
True

Version.parse expects a Semantic Version 2.0 string and returns a corresponding Version object:

>>> from versions import Version
>>> v = Version.parse('1.2.0-dev+foo.bar')
>>> v.major, v.minor, v.patch, v.prerelease, v.build_metadata
(1, 2, 0, 'dev', 'foo.bar')

If it isn’t a semantic version string, the parser tries to normalize it:

>>> v = Version.parse('1')
>>> v.major, v.minor, v.patch, v.prerelease, v.build_metadata
(1, 0, 0, None, None)

Version constraint matching

versions also implements version constraint parsing and evaluation:

>>> from versions import Constraint
>>> Constraint.parse('>1').match('2')
True
>>> Constraint.parse('<2').match(Version.parse('1'))
True

For conveniance, constraint matching can be tested using the in operator:

>>> '1.5' in Constraint.parse('<2')
True
>>> Version(2) in Constraint.parse('!=2')
False

Constraints can be merged using Constraints:

>>> from versions import Constraints
>>> '1.0' in Constraints.parse('>1,<2')
False
>>> '1.5' in Constraints.parse('>1,<2')
True
>>> '2.0' in Constraints.parse('>1,<2')
False
Bitdeli badge

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

versions-0.7.0.tar.gz (15.7 kB view details)

Uploaded Source

File details

Details for the file versions-0.7.0.tar.gz.

File metadata

  • Download URL: versions-0.7.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for versions-0.7.0.tar.gz
Algorithm Hash digest
SHA256 4031b66e908cbd746de7ee57f82b1bbe1bc9912b59774e65e934fcdd218cbf81
MD5 16556761804eb760da4520c3d4dc6137
BLAKE2b-256 5839e7f00beced6c4c35f27fddef10c9bb0acca2d3c7bbebb7d50dd777c69a71

See more details on using hashes here.

Supported by

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