Get information about released & unreleased CPython and PyPy versions
Project description
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.7 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyversion_info-1.2.2.tar.gz
.
File metadata
- Download URL: pyversion_info-1.2.2.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 601a0116d978864c88c22f70ca650f4f523ca1d0751af3b352c09aeeb9b8e7de |
|
MD5 | de239a68d817628d4051b6677b3a4583 |
|
BLAKE2b-256 | e6a335bf3b31bedf3f294e44af3ef322d714b81a08099d34c2c4c52b92f84a61 |
File details
Details for the file pyversion_info-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: pyversion_info-1.2.2-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 048e8fbb1e545853419336cd9434ce878f21240dff1a7ba4d93f637f9aebfb41 |
|
MD5 | 38a3a865717a49a56032d54ccffed6e9 |
|
BLAKE2b-256 | fac01e902d3f82b956e7797d004f8f2a9d02cc915067a4f72d22e13fd2e47bf9 |