Project: verlib2

A standalone variant of packaging.version, without anything else.

Project Details

Latest version
0.2.0
Home Page
PyPI Page
https://pypi.org/project/verlib2/

Project Popularity

PageRank
0.0018246722374860229
Number of downloads
46953

verlib2

Tests Test coverage Python versions

License Status PyPI Downloads

» Changelog | PyPI | Issues | Source code | License

About

A standalone variant of packaging.version, without anything else.

verlib is the implementation of PEP 386. verlib2 is the implementation of PEP 440.

Rationale

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.

Setup

pip install verlib2

Usage

from verlib2 import Version

assert Version("1.0.dev456") < Version("1!1.2.rev33+123456") 

Acknowledgements

Tarek Ziadé, Donald Stufft, and all contributors to distutilsversion, verlib, distutils, distutils2, packaging.version, PEP-0386, PEP-0440, and most probably more.

Prior Art

  • 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
  • https://github.com/numpy/numpy/pull/21000
  • https://github.com/numpy/numpy/blob/v1.26.0/numpy/_utils/_pep440.py
  • https://github.com/crate/crate-python/pull/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/

Development

Set up package in development mode.

python3 -m venv .venv
source .venv/bin/activate
pip install --editable='.[develop,test]'

Run software tests.

poe check