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.
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 | |
|---|---|---|---|
| pyversion_info-1.2.5.tar.gz | 26.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyversion_info-1.2.5-py3-none-any.whl | Python 3 | none | any | Details |
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
|