Skip to main content

Get information about released & unreleased CPython and PyPy versions

Project description

Project Status: Active — The project has reached a stable, usable state and is being actively developed. CI Status https://codecov.io/gh/jwodder/pyversion-info/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/pyversion-info.svg MIT License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyversion_info-1.2.2.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

pyversion_info-1.2.2-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

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

Hashes for pyversion_info-1.2.2.tar.gz
Algorithm Hash digest
SHA256 601a0116d978864c88c22f70ca650f4f523ca1d0751af3b352c09aeeb9b8e7de
MD5 de239a68d817628d4051b6677b3a4583
BLAKE2b-256 e6a335bf3b31bedf3f294e44af3ef322d714b81a08099d34c2c4c52b92f84a61

See more details on using hashes here.

File details

Details for the file pyversion_info-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyversion_info-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 048e8fbb1e545853419336cd9434ce878f21240dff1a7ba4d93f637f9aebfb41
MD5 38a3a865717a49a56032d54ccffed6e9
BLAKE2b-256 fac01e902d3f82b956e7797d004f8f2a9d02cc915067a4f72d22e13fd2e47bf9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page