Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyveci/verlib2
Standalone "packaging.version", without anything else.
https://github.com/pyveci/verlib2
Last synced: 6 days ago
JSON representation
Standalone "packaging.version", without anything else.
- Host: GitHub
- URL: https://github.com/pyveci/verlib2
- Owner: pyveci
- License: bsd-2-clause
- Created: 2023-10-13T23:07:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-01T13:20:53.000Z (about 1 month ago)
- Last Synced: 2024-10-01T20:06:29.892Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 42 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# verlib2
[![Tests](https://github.com/pyveci/verlib2/actions/workflows/main.yml/badge.svg)](https://github.com/pyveci/verlib2/actions/workflows/main.yml)
[![Test coverage](https://img.shields.io/codecov/c/gh/pyveci/verlib2.svg)](https://codecov.io/gh/pyveci/verlib2/)
[![Python versions](https://img.shields.io/pypi/pyversions/verlib2.svg)](https://pypi.org/project/verlib2/)[![License](https://img.shields.io/github/license/pyveci/verlib2.svg)](https://github.com/pyveci/verlib2/blob/main/LICENSE)
[![Status](https://img.shields.io/pypi/status/verlib2.svg)](https://pypi.org/project/verlib2/)
[![PyPI](https://img.shields.io/pypi/v/verlib2.svg)](https://pypi.org/project/verlib2/)
[![Downloads](https://pepy.tech/badge/verlib2/month)](https://www.pepy.tech/projects/verlib2)» [Changelog]
| [PyPI]
| [Issues]
| [Source code]
| [License][Changelog]: https://github.com/pyveci/verlib2/blob/main/CHANGES.md
[Documentation]: https://verlib2.readthedocs.io/
[Issues]: https://github.com/pyveci/verlib2/issues
[License]: https://github.com/pyveci/verlib2/blob/main/LICENSE
[PyPI]: https://pypi.org/project/verlib2/
[Source code]: https://github.com/pyveci/verlib2## 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
```shell
pip install verlib2
```## Usage
```
from verlib2 import Versionassert 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.
```shell
python3 -m venv .venv
source .venv/bin/activate
pip install --editable='.[develop,test]'
```Run software tests.
```shell
poe check
```[verlib]: https://pypi.org/project/verlib/
[verlib2]: https://pypi.org/project/verlib2/
[PEP 386]: https://peps.python.org/pep-0386/
[PEP 440]: https://peps.python.org/pep-0440/