跳转到主要内容

获取已发布和未发布的CPython和PyPy版本信息

项目描述

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 | 文档 | 问题 | 变更日志

是否曾需要知道当前支持哪些Python版本,或者给定Python版本有多少个子版本?想知道给定版本何时发布或达到生命周期的结束?需要知道给定PyPy版本对应的CPython版本?这些问题以及其他一些问题的答案可以通过这个库找到。

pyversion-info每次运行都会从jwodder/pyversion-info-data在GitHub上获取其数据。预发布版本目前不包括在内。我保证在遇到车祸之前,数据库更新时间为24小时。

有关更多信息,请参阅文档

安装

pyversion-info 需要 Python 3.7 或更高版本。只需使用 pip(您有 pip,对吧?)来安装 pyversion-info 和其依赖项。

python3 -m pip install pyversion-info

示例

(以下输出截至 2021-11-04。)

首先获取数据库

>>> from pyversion_info import VersionDatabase
>>> vd = VersionDatabase.fetch()

获取所有当前支持的 CPython 版本列表

>>> vd.cpython.supported_series()
['3.6', '3.7', '3.8', '3.9', '3.10']

3.11 何时发布?

>>> vd.cpython.release_date("3.11")
datetime.date(2022, 10, 3)

3.6 何时达到生命周期的结束?

>>> vd.cpython.eol_date("3.6")
datetime.date(2021, 12, 23)

3.9 究竟有多少个微版本?

>>> 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']

PyPy 有哪些主要版本?

>>> vd.pypy.major_versions()
['1', '2', '4', '5', '6', '7']

PyPy 7.3.* 支持哪些 CPython 系列?

>>> vd.pypy.supported_cpython_series("7.3")
['2.7', '3.6', '3.7', '3.8']

注意事项

通常只有在编辑发布计划 PEP 时,CPython 数据库才会更新。偶尔,PEP 中列出的截止日期会错过,但是 PEP 几天后才会更新,因此在这段时间内,这个库可能会错误地报告给定的版本已发布。

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面