GitHub | PyPI | Documentation | Issues | Changelog
Ever needed to know what Python versions were currently supported, or how many subversions a given Python version had? Wondering how long until a given version came out or reached end-of-life? Need to know what CPython versions a given PyPy version corresponds to? The answers to these and some other questions can be found with this library.
pyversion-info pulls its data every run from jwodder/pyversion-info-data on GitHub. Prerelease versions are not (currently) included. I promise 24-hour turnaround times for keeping the database up-to-date until I am hit by a bus.
See the documentation for more information.
Installation
pyversion-info requires Python 3.10 or higher. Just use pip for Python 3 (You have pip, right?) to install pyversion-info and its dependencies:
python3 -m pip install pyversion-info
Examples
(The given outputs are current as of 2021-11-04.)
Start out by fetching the database:
>>> from pyversion_info import VersionDatabase >>> vd = VersionDatabase.fetch()
Get a list of all currently-supported CPython series:
>>> vd.cpython.supported_series() ['3.6', '3.7', '3.8', '3.9', '3.10']
When does 3.11 come out?
>>> vd.cpython.release_date("3.11")
datetime.date(2022, 10, 3)
When does 3.6 reach end-of-life?
>>> vd.cpython.eol_date("3.6")
datetime.date(2021, 12, 23)
Just how many micro versions does 3.9 have, anyway?
>>> vd.cpython.subversions("3.9")
['3.9.0', '3.9.1', '3.9.2', '3.9.3', '3.9.4', '3.9.5', '3.9.6', '3.9.7', '3.9.8', '3.9.9', '3.9.10', '3.9.11']
What major versions of PyPy are there?
>>> vd.pypy.major_versions() ['1', '2', '4', '5', '6', '7']
What CPython series do PyPy 7.3.* support?
>>> vd.pypy.supported_cpython_series("7.3")
['2.7', '3.6', '3.7', '3.8']
Caveats
The CPython database is generally only updated when an edit is made to a release schedule PEP. Occasionally, a deadline listed in a PEP is missed, but the PEP is not updated for a couple days, and so for a brief period this library will falsely report the given version as released.
Metadata
Release files for pyversion-info 1.2.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 |
|---|---|---|---|---|
| pyversion_info-1.2.5.tar.gz | 26.6 kB | Without provenance | Details for pyversion_info-1.2.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyversion_info-1.2.5-py3-none-any.whl | Python 3 | none | any | Details for pyversion_info-1.2.5-py3-none-any.whl |
Total release size: 38.7 kB
Release files / pyversion_info-1.2.5.tar.gz
| Download URL | pyversion_info-1.2.5.tar.gz |
|---|---|
| Size | 26.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50b642c08cb382393b4a79e07b3e78a19ae6e66d77191baeda3656e921680145
|
|
BLAKE2b-256 checksum How to use checksums |
4581f8334c899649efc2efc16223bc7a078f906be2fa29c1a943409e9bb055bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / pyversion_info-1.2.5-py3-none-any.whl
| Download URL | pyversion_info-1.2.5-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44c3b5809b840d75c49df8b63e7d977e962e661cd52c065905291d892dcaf33c
|
|
BLAKE2b-256 checksum How to use checksums |
fc45d6e0ccdc1c75878bc1b2f0cbeda3554870181c61f7465840816f299887c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for pyversion-info 1.2.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.