{ "info": { "author": "John Thorvald Wodder II", "author_email": "pyversion-info@varonathe.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": ".. image:: http://www.repostatus.org/badges/latest/active.svg\n :target: http://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://travis-ci.org/jwodder/pyversion-info.svg?branch=master\n :target: https://travis-ci.org/jwodder/pyversion-info\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.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\n :target: https://saythanks.io/to/jwodder\n\n`GitHub `_\n| `PyPI `_\n| `Issues `_\n\n.. contents::\n :backlinks: top\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? 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 `_\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\n\nInstallation\n============\nJust use `pip `_ (You have pip, right?) to install\n``pyversion-info`` and its dependencies::\n\n pip install pyversion-info\n\n\nExamples\n========\n\nStart out by fetching the database::\n\n >>> from pyversion_info import get_pyversion_info\n >>> pyvinfo = get_pyversion_info()\n\nGet a list of all currently-supported Python series::\n\n >>> pyvinfo.supported_series()\n ['2.7', '3.5', '3.6', '3.7']\n\nWhen does 3.8 come out?\n\n::\n\n >>> pyvinfo.release_date(\"3.8\")\n datetime.date(2019, 10, 21)\n\nWhen does 2.7 reach end-of-life?\n\n::\n\n >>> pyvinfo.eol_date(\"2.7\")\n datetime.date(2020, 1, 1)\n\nJust how many micro versions does 2.7 have, anyway?\n\n::\n\n >>> pyvinfo.subversions(\"2.7\")\n ['2.7.0', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16']\n\n\nHow many versions of Python 3 have been released?\n\n::\n\n >>> pyvinfo.subversions(\"3\")\n ['3.0', '3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7']\n\n\nAPI\n===\n\nVersions are passed to & returned from methods as strings in the form ``\"X\"``\n(a major version), ``\"X.Y\"`` (a minor version), or ``\"X.Y.Z\"`` (a micro\nversion).\n\nAll dates are returned as ``datetime.date`` objects.\n\n``PyVersionInfo``\n-----------------\nA class for querying Python versions and their release & EOL dates\n\n``PyVersionInfo(data)``\n Construct a new ``PyVersionInfo`` object from a `dict` containing version\n release dates and series EOL dates structured in accordance with `this\n JSON Schema\n `_\n\n``pyvinfo.eol_date(series)``\n Returns the end-of-life date of the given Python version series (i.e., a\n minor version like 3.5). The return value may be `None`, indicating that\n the series is not yet end-of-life and its end-of-life date is unknown or\n undetermined. The return value may alternatively be `True`, indicating that\n the series has reached end-of-life but the date on which that happened is\n unknown.\n\n``pyvinfo.is_eol(series)``\n Returns whether the given version series has reached end-of-life yet\n\n``pyvinfo.is_released(version)``\n Returns whether the given version has been released yet. For a major or\n minor version, this is the whether the first (in version order) micro\n version has been released.\n\n``pyvinfo.is_supported(series)``\n Returns whether the given version series is currently supported (i.e., has\n at least one release out and is not yet end-of-life)\n\n``pyvinfo.major_versions()``\n Returns a list in version order of all Python major versions that have ever\n been released\n\n``pyinfo.micro_versions()``\n Returns a list in version order of all Python micro versions that have ever\n been released. Versions in the form ``X.Y`` are included here as ``X.Y.0``.\n\n``pyvinfo.minor_versions()``\n Returns a list in version order of all Python minor versions that have ever\n been released\n\n``pyvinfo.release_date(version)``\n Returns the release date of the given Python version. For a major or minor\n version, this is the release date of its first (in version order) micro\n version. The return value may be `None`, indicating that, though the\n version has been released and is known to the database, its release date is\n unknown.\n\n``pyvinfo.subversions(version)``\n Returns a list in version order of all released subversions of the given\n version. If ``version`` is a major version, this is all of its released\n minor versions. If ``version`` is a minor version, this is all of its\n released micro versions.\n\n``pyvinfo.supported_series()``\n Returns a list in version order of all Python version series (i.e., minor\n versions like 3.5) that are currently supported (i.e., that have at least\n one released made and are not yet end-of-life)\n\n\nUtilities\n---------\n\n``UnknownVersionError``\n Exception raised when ``PyVersionInfo`` is asked for information about a\n version that does not appear in its database. Operations that result in an\n ``UnknownVersionError`` may succeed later as more Python versions are\n announced & released.\n\n The unknown version is stored in an ``UnknownVersionError`` instance's\n ``version`` attribute.\n\n``get_pyversion_info(url=pyversion_info.DATA_URL, cache_dir=pyversion_info.CACHE_DIR)``\n Fetches the latest version release data from ``url`` and returns a new\n ``PyVersionInfo`` object. The HTTP response is cached in ``cache_dir`` to\n speed up future requests (or ``cache_dir`` can be set to `None` to disable\n caching).\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jwodder/pyversion-info", "keywords": "history,python,python versions", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyversion-info", "package_url": "https://pypi.org/project/pyversion-info/", "platform": "", "project_url": "https://pypi.org/project/pyversion-info/", "project_urls": { "Bug Tracker": "https://github.com/jwodder/pyversion-info/issues", "Homepage": "https://github.com/jwodder/pyversion-info", "Say Thanks!": "https://saythanks.io/to/jwodder", "Source Code": "https://github.com/jwodder/pyversion-info" }, "release_url": "https://pypi.org/project/pyversion-info/0.1.0/", "requires_dist": [ "appdirs (~=1.4)", "cachecontrol[filecache] (~=0.12.0)", "requests (==2.*)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "summary": "List released Python versions and their release & EOL dates", "version": "0.1.0" }, "last_serial": 5179513, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1ab3523693209bfae46d081e55f5ca37", "sha256": "ffea37a8b1fb978bb5ceac1be0ba218d6184a68af13680164fd22f93a169ca3e" }, "downloads": -1, "filename": "pyversion_info-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1ab3523693209bfae46d081e55f5ca37", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 7611, "upload_time": "2019-04-23T22:49:08", "url": "https://files.pythonhosted.org/packages/91/ab/c118140c1cac4a47cc4068df11662fb0597cbc1e4110a2a00b7cec8172a4/pyversion_info-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc0b95a7478b5d5cf7490a14be5d0572", "sha256": "d5f3cc4f51d3fd1acd64d82c86603a5ba94b76037338aedfdc049c28e4dcf517" }, "downloads": -1, "filename": "pyversion_info-0.1.0.tar.gz", "has_sig": true, "md5_digest": "cc0b95a7478b5d5cf7490a14be5d0572", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 13008, "upload_time": "2019-04-23T22:49:10", "url": "https://files.pythonhosted.org/packages/36/03/884eb90e2318eb8de8cf07a538702e847301563221834266d8b0bde1a634/pyversion_info-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1ab3523693209bfae46d081e55f5ca37", "sha256": "ffea37a8b1fb978bb5ceac1be0ba218d6184a68af13680164fd22f93a169ca3e" }, "downloads": -1, "filename": "pyversion_info-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1ab3523693209bfae46d081e55f5ca37", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 7611, "upload_time": "2019-04-23T22:49:08", "url": "https://files.pythonhosted.org/packages/91/ab/c118140c1cac4a47cc4068df11662fb0597cbc1e4110a2a00b7cec8172a4/pyversion_info-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc0b95a7478b5d5cf7490a14be5d0572", "sha256": "d5f3cc4f51d3fd1acd64d82c86603a5ba94b76037338aedfdc049c28e4dcf517" }, "downloads": -1, "filename": "pyversion_info-0.1.0.tar.gz", "has_sig": true, "md5_digest": "cc0b95a7478b5d5cf7490a14be5d0572", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 13008, "upload_time": "2019-04-23T22:49:10", "url": "https://files.pythonhosted.org/packages/36/03/884eb90e2318eb8de8cf07a538702e847301563221834266d8b0bde1a634/pyversion_info-0.1.0.tar.gz" } ] }