AwesomeVersion
One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.
Make anything a version object, and compare against a vast section of other version formats.
Installation
python3 -m pip install awesomeversion
Example usage
These are some examples of what you can do, more examples can be found in the tests directory.
from awesomeversion import AwesomeVersion
current = AwesomeVersion("1.2.2")
upstream = AwesomeVersion("1.2.3")
print(upstream > current)
> True
from awesomeversion import AwesomeVersion
version = AwesomeVersion("1.2.3b0")
print(version.beta)
> True
from awesomeversion import AwesomeVersion
current = AwesomeVersion("2021.1.0")
upstream = AwesomeVersion("2021.1.0b2")
print(upstream > current)
> False
from awesomeversion import AwesomeVersion
current = AwesomeVersion("latest")
upstream = AwesomeVersion("2021.1.0")
print(upstream > current)
> False
from awesomeversion import AwesomeVersion
current = AwesomeVersion("latest")
upstream = AwesomeVersion("dev")
print(upstream > current)
> True
from awesomeversion import AwesomeVersion
with AwesomeVersion("20.12.0") as current:
with AwesomeVersion("20.12.1") as upstream:
print(upstream > current)
> True
from awesomeversion import AwesomeVersion
with AwesomeVersion("20.12.0") as current:
print("2020.12.1" > current)
> True
Contribute
All contributions are welcome!
- Fork the repository
- Clone the repository locally and open the devcontainer or use GitHub codespaces
- Do your changes
- Lint the files with
make lint - Ensure all tests passes with
make test - Ensure 100% coverage with
make coverage - Commit your work, and push it to GitHub
- Create a PR against the
mainbranch
Release files for awesomeversion 21.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awesomeversion-21.10.0.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awesomeversion-21.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.3 kB
Release files / awesomeversion-21.10.0.tar.gz
| Download URL | awesomeversion-21.10.0.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
17c8a337c530bb4cb592612f9c4d046fa8e977d2d6be75dd6ca4e72e863cdefb
|
|
BLAKE2b-256 checksum How to use checksums |
8ee89d0c352f7c756f90f162df052ed67a4ba0ab6915f74fc4df8a93a18d7fae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|
Release files / awesomeversion-21.10.0-py3-none-any.whl
| Download URL | awesomeversion-21.10.0-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36e7a3b163c7d79545aa8c4a30151cad6c96caa050893a08e960b79f6cf91d24
|
|
BLAKE2b-256 checksum How to use checksums |
6018a4f0b8bec8c29420b3875a1bb5f34e679a1e0919b529066d34e72daef537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|