跳转到主要内容

stdlib中的包列表

项目描述

stdlibs

Python stdlib中顶级包的简单列表

license version changelog documentation

此包提供了所有已知模块的静态列表,并为从Python 2.3开始的所有主要版本提供单独的列表。它还包括所有模块名称的合并列表,这些名称在任何3.x版本、任何2.x版本或两者中都可提供。

注意:在Python 3.10或更高版本中,可以通过sys.stdlib_module_names获取活动运行时的模块名称列表。此包存在是为了提供用于静态分析和其他工具的历史记录。

此包仅包括CPython版本的列表。如果其他运行时会有所帮助,请提出问题并开始讨论如何最好地满足这些需求。

安装

您可以从PyPI安装它

$ pip install stdlibs

用法

建议的使用方法是引用stdlibs.module_names——在某些版本的Python 3.x上,某些平台上的顶层名称。这是您可能拥有的顶层名称的超集,也是sys.stdlib_module_names中的超集。

>>> from stdlibs import module_names
>>> print("os" in module_names)
True
>>> print("peg_parser" in module_names)  # 3.9+
True

如果您需要特定版本,它们作为其他模块提供

>>> from stdlibs.py36 import module_names as module_names_py36
>>> print("os" in module_names_py36)
True
>>> print("peg_parser" in module_names_py36)
False

如果您打算处理多个版本,您可能会发现字符串API更方便

>>> from stdlibs import stdlib_module_names, KNOWN_VERSIONS
>>> [v for v in KNOWN_VERSIONS if "dataclasses" in stdlib_module_names(v)]
['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
>>>
>>> sorted(stdlib_module_names("3.7") - stdlib_module_names("3.6"))
['_abc', '_contextvars', '_py_abc', '_queue', '_uuid', '_xxtestfuzz', 'contextvars', 'dataclasses']
>>>
>>> from moreorless.click import unified_diff
>>> prev = None
>>> buf = []
>>> for v in KNOWN_VERSIONS:
...     cur = ''.join([f"{name}\n" for name in sorted(stdlib_module_names(v))])
...     if prev:
...         buf.append(unified_diff(prev, cur, f"new-in-{v}"))
...     prev = cur
>>> print(''.join(''.join(buf).splitlines(True)[:10]), end='')
--- a/new-in-2.4
+++ b/new-in-2.4
@@ -19,7 +19,6 @@
 DocXMLRPCServer
 ERRNO
 EasyDialogs
-FCNTL
 FILE
 FL
 FileDialog

重新生成

如果有新的发布tar包,首先执行stdlibs.fetch_releases,这将更新stdlibs/releases.toml

然后执行stdlibs.fetch,这将下载所有这些发布tar包,并创建/更新适当的stdlibs/py*.py文件以反映更改。第一次运行大约需要两分钟,但在后续运行中会快得多。

$ make distclean virtualenv
$ source .venv/bin/activate
(.venv) $ python -m stdlibs.fetch_releases
(.venv) $ python -m stdlibs.fetch

许可

stdlibs 是由 Amethyst Reese 版权所有,并使用 MIT 许可证授权。我在此仓库中向您提供代码,属于开源许可证。这是我的个人仓库;您获得的代码许可证来自我,而非我的雇主。请参阅 LICENSE 文件以获取详细信息。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

stdlibs-2024.5.15.tar.gz (25.4 kB 查看哈希值)

上传时间 源代码

构建分发

stdlibs-2024.5.15-py3-none-any.whl (55.1 kB 查看哈希值)

上传时间 Python 3

由以下组织支持