pyversion-info


Namepyversion-info JSON
Version 1.2.2 PyPI version JSON
download
home_page
SummaryGet information about released & unreleased CPython and PyPy versions
upload_time2024-02-04 19:41:40
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords cpython pypy history python python versions
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. 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.

.. 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

.. image:: https://codecov.io/gh/jwodder/pyversion-info/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/jwodder/pyversion-info

.. image:: https://img.shields.io/pypi/pyversions/pyversion-info.svg
    :target: https://pypi.org/project/pyversion-info/

.. image:: https://img.shields.io/github/license/jwodder/pyversion-info.svg
    :target: https://opensource.org/licenses/MIT
    :alt: MIT License

`GitHub <https://github.com/jwodder/pyversion-info>`_
| `PyPI <https://pypi.org/project/pyversion-info/>`_
| `Documentation <https://pyversion-info.readthedocs.io>`_
| `Issues <https://github.com/jwodder/pyversion-info/issues>`_
| `Changelog <https://github.com/jwodder/pyversion-info/blob/master/CHANGELOG.md>`_

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 <https://github.com/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 <https://pyversion-info.readthedocs.io>`_ for more
information.


Installation
============
``pyversion-info`` requires Python 3.7 or higher.  Just use `pip
<https://pip.pypa.io>`_ 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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pyversion-info",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "CPython,PyPy,history,python,python versions",
    "author": "",
    "author_email": "John Thorvald Wodder II <pyversion-info@varonathe.org>",
    "download_url": "https://files.pythonhosted.org/packages/e6/a3/35bf3b31bedf3f294e44af3ef322d714b81a08099d34c2c4c52b92f84a61/pyversion_info-1.2.2.tar.gz",
    "platform": null,
    "description": ".. image:: https://www.repostatus.org/badges/latest/active.svg\n    :target: https://www.repostatus.org/#active\n    :alt: Project Status: Active \u2014 The project has reached a stable, usable\n          state and is being actively developed.\n\n.. image:: https://github.com/jwodder/pyversion-info/actions/workflows/test.yml/badge.svg\n    :target: https://github.com/jwodder/pyversion-info/actions/workflows/test.yml\n    :alt: CI Status\n\n.. image:: https://codecov.io/gh/jwodder/pyversion-info/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/jwodder/pyversion-info\n\n.. image:: https://img.shields.io/pypi/pyversions/pyversion-info.svg\n    :target: https://pypi.org/project/pyversion-info/\n\n.. image:: https://img.shields.io/github/license/jwodder/pyversion-info.svg\n    :target: https://opensource.org/licenses/MIT\n    :alt: MIT License\n\n`GitHub <https://github.com/jwodder/pyversion-info>`_\n| `PyPI <https://pypi.org/project/pyversion-info/>`_\n| `Documentation <https://pyversion-info.readthedocs.io>`_\n| `Issues <https://github.com/jwodder/pyversion-info/issues>`_\n| `Changelog <https://github.com/jwodder/pyversion-info/blob/master/CHANGELOG.md>`_\n\nEver needed to know what Python versions were currently supported, or how many\nsubversions a given Python version had?  Wondering how long until a given\nversion came out or reached end-of-life?  Need to know what CPython versions a\ngiven PyPy version corresponds to?  The answers to these and some other\nquestions can be found with this library.\n\n``pyversion-info`` pulls its data every run from\n`jwodder/pyversion-info-data <https://github.com/jwodder/pyversion-info-data>`_\non GitHub.  Prerelease versions are not (currently) included.  I promise\n24-hour turnaround times for keeping the database up-to-date until I am hit by\na bus.\n\nSee `the documentation <https://pyversion-info.readthedocs.io>`_ for more\ninformation.\n\n\nInstallation\n============\n``pyversion-info`` requires Python 3.7 or higher.  Just use `pip\n<https://pip.pypa.io>`_ for Python 3 (You have pip, right?) to install\n``pyversion-info`` and its dependencies::\n\n    python3 -m pip install pyversion-info\n\n\nExamples\n========\n\n(The given outputs are current as of 2021-11-04.)\n\nStart out by fetching the database:\n\n>>> from pyversion_info import VersionDatabase\n>>> vd = VersionDatabase.fetch()\n\nGet a list of all currently-supported CPython series:\n\n>>> vd.cpython.supported_series()\n['3.6', '3.7', '3.8', '3.9', '3.10']\n\nWhen does 3.11 come out?\n\n>>> vd.cpython.release_date(\"3.11\")\ndatetime.date(2022, 10, 3)\n\nWhen does 3.6 reach end-of-life?\n\n>>> vd.cpython.eol_date(\"3.6\")\ndatetime.date(2021, 12, 23)\n\nJust how many micro versions does 3.9 have, anyway?\n\n>>> vd.cpython.subversions(\"3.9\")\n['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']\n\nWhat major versions of PyPy are there?\n\n>>> vd.pypy.major_versions()\n['1', '2', '4', '5', '6', '7']\n\nWhat CPython series do PyPy 7.3.\\* support?\n\n>>> vd.pypy.supported_cpython_series(\"7.3\")\n['2.7', '3.6', '3.7', '3.8']\n\n\nCaveats\n=======\n\nThe CPython database is generally only updated when an edit is made to a\nrelease schedule PEP.  Occasionally, a deadline listed in a PEP is missed, but\nthe PEP is not updated for a couple days, and so for a brief period this\nlibrary will falsely report the given version as released.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Get information about released & unreleased CPython and PyPy versions",
    "version": "1.2.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/jwodder/pyversion-info/issues",
        "Documentation": "https://pyversion-info.readthedocs.io",
        "Source Code": "https://github.com/jwodder/pyversion-info"
    },
    "split_keywords": [
        "cpython",
        "pypy",
        "history",
        "python",
        "python versions"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fac01e902d3f82b956e7797d004f8f2a9d02cc915067a4f72d22e13fd2e47bf9",
                "md5": "38a3a865717a49a56032d54ccffed6e9",
                "sha256": "048e8fbb1e545853419336cd9434ce878f21240dff1a7ba4d93f637f9aebfb41"
            },
            "downloads": -1,
            "filename": "pyversion_info-1.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "38a3a865717a49a56032d54ccffed6e9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11442,
            "upload_time": "2024-02-04T19:41:39",
            "upload_time_iso_8601": "2024-02-04T19:41:39.042341Z",
            "url": "https://files.pythonhosted.org/packages/fa/c0/1e902d3f82b956e7797d004f8f2a9d02cc915067a4f72d22e13fd2e47bf9/pyversion_info-1.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6a335bf3b31bedf3f294e44af3ef322d714b81a08099d34c2c4c52b92f84a61",
                "md5": "de239a68d817628d4051b6677b3a4583",
                "sha256": "601a0116d978864c88c22f70ca650f4f523ca1d0751af3b352c09aeeb9b8e7de"
            },
            "downloads": -1,
            "filename": "pyversion_info-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "de239a68d817628d4051b6677b3a4583",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 26064,
            "upload_time": "2024-02-04T19:41:40",
            "upload_time_iso_8601": "2024-02-04T19:41:40.672448Z",
            "url": "https://files.pythonhosted.org/packages/e6/a3/35bf3b31bedf3f294e44af3ef322d714b81a08099d34c2c4c52b92f84a61/pyversion_info-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-04 19:41:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jwodder",
    "github_project": "pyversion-info",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pyversion-info"
}
        
Elapsed time: 4.51927s