PEP440 in rust
A library for python version numbers and specifiers, implementing PEP 440
pip install pep440_rs
from pep440_rs import Version, VersionSpecifier
assert Version("1.1a1").any_prerelease()
assert Version("1.1.dev2").any_prerelease()
assert not Version("1.1").any_prerelease()
assert VersionSpecifier(">=1.0").contains(Version("1.1a1"))
assert not VersionSpecifier(">=1.1").contains(Version("1.1a1"))
assert Version("2.0") in VersionSpecifier("==2")
Unlike pypa/packaging, this library always matches preleases. To only match final releases, filter with .any_prelease() beforehand.
PEP 440 has a lot of unintuitive features, including:
- An epoch that you can prefix the version which, e.g.
1!1.2.3. Lower epoch always means lower version (1.0 <=2!0.1) - post versions, which can be attached to both stable releases and prereleases
- dev versions, which can be attached to sbpth table releases and prereleases. When attached to a prerelease the dev version is ordered just below the normal prerelease, however when attached to a stable version, the dev version is sorted before a prereleases
- prerelease handling is a mess: "Pre-releases of any kind, including developmental releases, are implicitly excluded from all version specifiers, unless they are already present on the system, explicitly requested by the user, or if the only available version that satisfies the version specifier is a pre-release.". This means that we can't say whether a specifier matches without also looking at the environment
- prelease vs. prerelease incl. dev is fuzzy
- local versions on top of all the others, which are added with a + and have implicitly typed string and number segments
- no semver-caret (
^), but a pseudo-semver tilde (~=) - ordering contradicts matching: We have e.g.
1.0+local > 1.0when sorting, but==1.0matches1.0+local. While the ordering of versions itself is a total order the version matching needs to catch all sorts of special cases
Metadata
Release files for pep440-rs 0.6.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pep440_rs-0.6.5.tar.gz | 47.8 kB | Without provenance | Details for pep440_rs-0.6.5.tar.gz |
Built distributions (wheels)
Total release size: 4.9 MB
Release files / pep440_rs-0.6.5.tar.gz
| Download URL | pep440_rs-0.6.5.tar.gz |
|---|---|
| Size | 47.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97347b4423bdd903a30c6ac0ef9755bc2744f39ae10ffdf50844ef79089c4e02
|
|
BLAKE2b-256 checksum How to use checksums |
305ced6066ca8ae413e1f751bf7e61a08ec11642514d7d115b376ece6962d16d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-win_amd64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 173.0 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0814a66b7a67b50011f58dd425ce15d9f926e5c60eed9ca9b6465b5a8da73cd0
|
|
BLAKE2b-256 checksum How to use checksums |
7198ed56b7fd2e1cb340ae8e0a76ef14bcfd57db5232a0cec695dfa27be9368b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-win32.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-win32.whl |
|---|---|
| Size | 165.2 kB |
| Tags | CPython 3.8 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
89b6557881cf80757982fd5fe7d4d366e27e6d51afcaf8a5087f918f7fdc0b64
|
|
BLAKE2b-256 checksum How to use checksums |
e75511255204893affd4201b589ff03be7e0789eb9b5667151c855831cfd40ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_x86_64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 476.0 kB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0de9686e1cf356c7abd4a29148e6254b3bcbc58ec6388e57e9f9a8501c85cb6d
|
|
BLAKE2b-256 checksum How to use checksums |
c51139a875e7adb7015d07ce6ea1257a16b83e114ced8d19d7f914c6c20c2d0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_i686.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_i686.whl |
|---|---|
| Size | 500.0 kB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
65cba7c0350f7443b6d8eb9b4a0612d35b64f0149448d9294c8d02819ebc2667
|
|
BLAKE2b-256 checksum How to use checksums |
c3febb8e454e0dd777f92bbc2b4bea1af12e831af10280f1b9fadd46cd3c01b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_armv7l.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 578.7 kB |
| Tags | CPython 3.8 Linux musl 1.2+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
78a15ff8408c30ee3e501e97fe9e8a9f5c87e4e0f07a5e1cba997530bf6ecb1e
|
|
BLAKE2b-256 checksum How to use checksums |
d137c623ce1ea2e8f60d0b865158fb6990bbadbe6c1acbfbf22e0a449066745e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_aarch64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 493.3 kB |
| Tags | CPython 3.8 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2ac95c12aeeb3bf3fc7cc40cacae6f57a33b42097d65a3c1ad81b189271d0485
|
|
BLAKE2b-256 checksum How to use checksums |
170c3feb949e45ea012f8e8dcdeeb038181041b4b6e2fd13f0a0ac12f762899a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 305.6 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
ad8a63034c1e4d3a64107b9681df40cd692eb5d71ba9f12c70ca2d7b24225021
|
|
BLAKE2b-256 checksum How to use checksums |
90bad7a1f9f39229415d0e9a9cc75fb125339ef1e882b0fc56e2d0a3c7140622
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 357.8 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ IBM System/390x abi3 |
|
SHA-256 checksum How to use checksums |
f5fdb68ee25f9c42c6a812f3f67cb3df4a2e34e2a08d7984de2e6ecd6ad6a6f6
|
|
BLAKE2b-256 checksum How to use checksums |
2291a019f49e607b1b4cf637a9892d304510dac295a1b97c7274e99f36864d74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 343.4 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ PowerPC 64-le abi3 |
|
SHA-256 checksum How to use checksums |
a0498ad4fbcfe74ac8cc3e55fc2b3f0e22fcafa9b203030d162693726305f1d1
|
|
BLAKE2b-256 checksum How to use checksums |
f1f6712018c85fa795765dff57860a157e2f961637fa04c26e70888fcca2fef2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 316.4 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
b9c35e06dd90f76ac510c3e55f5f20226ebffd60bc317c13ef7074bc2fe52511
|
|
BLAKE2b-256 checksum How to use checksums |
b4fe0afabff9dd72a4c9fbc01d54baf52f8c56c86a546bab843908a77592c7e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 315.4 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
35aa07b312f781937d6606a8f74428679c35953946b0061d618eb2b9c348942a
|
|
BLAKE2b-256 checksum How to use checksums |
4ddb06f606d6ecb0977b36d30b76a885b48604f36405b4092688ede42afb71cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl |
|---|---|
| Size | 323.7 kB |
| Tags | CPython 3.8 Linux glibc 2.5+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
9aff97fd300aa500bd279e17430252a98fca5d2e9208edec5107e9e120091cf3
|
|
BLAKE2b-256 checksum How to use checksums |
6cda5013b5a6e9cc24daf643f6ee678fd152b0468778eb5bc3f0a1c541ad53a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 264.8 kB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
aa9bacde12f3e21582c7f072cba587eb3666babb51dcb35af5390a6734759231
|
|
BLAKE2b-256 checksum How to use checksums |
a1165cc32b4fbf247a77af1a9a28bba38b4c52f2ddcdd7880488acd1ac246a2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Release files / pep440_rs-0.6.5-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | pep440_rs-0.6.5-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 272.5 kB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
bb78fa69cbfb565fe78c974cda89b4b205fbc6e682bf9fee8b0fea96cb51d0f8
|
|
BLAKE2b-256 checksum How to use checksums |
e85f931fc3a873603abfe89ff6feed919b168218d215e4a59f4ce0d7ff0f08c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.7.0
|
Security for pep440-rs 0.6.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.