» Changelog | PyPI | Issues | Source code | License
A standalone variant of distutils.version
and packaging.version
,
without anything else.
verlib is the implementation of PEP 386.
verlib2 is the implementation of PEP 440.
It also includes the original distutils.version
implementation,
for those who need it going forward.
Everyone needs to compare versions, but no one wants to add packaging
as a dependency.
distutils
is deprecated, and Python 3.12 removed it from the standard library.
pip install verlib2
from verlib2 import Version
assert Version("1.0.dev456") < Version("1!1.2.rev33+123456")
Note: verlib2.Version
provides packaging's Version
, while
both implementations can be accessed like this:
from verlib2.distutils.version import LooseVersion, StrictVersion
from verlib2.packaging.version import Version
Greg Stein, Greg Ward, Donald Stufft, Tarek Ziadé, and all contributors to
distutilsversion
, verlib
, distutils
, distutils2
, packaging.version
,
PEP-0386, PEP-0440, and most probably many more.
- https://peps.python.org/pep-0386/
- https://peps.python.org/pep-0440/
- http://bitbucket.org/tarek/distutilsversion/
- https://pypi.org/project/verlib/
- https://hg.python.org/distutils2
- https://github.com/pypa/packaging/blob/23.2/src/packaging/version.py
- numpy/numpy#21000
- https://github.com/numpy/numpy/blob/v1.26.0/numpy/_utils/_pep440.py
- crate/crate-python#513
- https://pypi.org/search/?q=pep440
- https://pypi.org/project/pep440/
- https://pypi.org/project/pep440deb/
- https://pypi.org/project/pep440nz/
- https://pypi.org/project/pep440-rs/
- https://pypi.org/project/pep440-utility/
- https://pypi.org/project/pep440-version-utils/
- https://pypi.org/project/version-utils/
Set up package in development mode.
python3 -m venv .venv
source .venv/bin/activate
pip install --editable='.[develop,test]'
Run software tests.
poe check