Version Handling

A core requirement of dealing with packages is the ability to work with versions.

See Version Specifiers Specification for more details on the exact format implemented in this module, for use in Python Packaging tooling.

Usage

>>> from packaging.version import Version, parse
>>> v1 = parse("1.0a5")
>>> v2 = Version("1.0")
>>> v1
<Version('1.0a5')>
>>> v2
<Version('1.0')>
>>> v1 < v2
True
>>> v1.epoch
0
>>> v1.release
(1, 0)
>>> v1.pre
('a', 5)
>>> v1.is_prerelease
True
>>> v2.is_prerelease
False
>>> Version("french toast")
Traceback (most recent call last):
    ...
InvalidVersion: Invalid version: 'french toast'
>>> Version("1.0").post
>>> Version("1.0").is_postrelease
False
>>> Version("1.0.post0").post
0
>>> Version("1.0.post0").is_postrelease
True

Reference

packaging.version.parse(version)

Parse the given version string and return either a Version object or a LegacyVersion object depending on if the given version is a valid PEP 440 version or a legacy version.

Parameters:

version (str) –

Return type:

Union[packaging.version.LegacyVersion, packaging.version.Version]

exception packaging.version.InvalidVersion

An invalid version was found, users should refer to PEP 440.

__weakref__

list of weak references to the object (if defined)