Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwodder/pyversion-info
Get information about released & unreleased CPython and PyPy versions
https://github.com/jwodder/pyversion-info
available-on-pypi cpython history pypy python python-versions
Last synced: 20 days ago
JSON representation
Get information about released & unreleased CPython and PyPy versions
- Host: GitHub
- URL: https://github.com/jwodder/pyversion-info
- Owner: jwodder
- License: mit
- Created: 2019-04-23T20:26:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-05T18:43:59.000Z (4 months ago)
- Last Synced: 2024-10-07T12:36:12.585Z (about 1 month ago)
- Topics: available-on-pypi, cpython, history, pypy, python, python-versions
- Language: Python
- Homepage:
- Size: 145 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
|repostatus| |ci-status| |coverage| |pyversions| |license|
.. |repostatus| image:: https://www.repostatus.org/badges/latest/active.svg
:target: https://www.repostatus.org/#active
:alt: Project Status: Active — The project has reached a stable, usable
state and is being actively developed... |ci-status| image:: https://github.com/jwodder/pyversion-info/actions/workflows/test.yml/badge.svg
:target: https://github.com/jwodder/pyversion-info/actions/workflows/test.yml
:alt: CI Status.. |coverage| image:: https://codecov.io/gh/jwodder/pyversion-info/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jwodder/pyversion-info.. |pyversions| image:: https://img.shields.io/pypi/pyversions/pyversion-info.svg
:target: https://pypi.org/project/pyversion-info/.. |license| image:: https://img.shields.io/github/license/jwodder/pyversion-info.svg
:target: https://opensource.org/licenses/MIT
:alt: 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.8 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.