stdlib中的包列表
项目描述
stdlibs
Python stdlib中顶级包的简单列表
此包提供了所有已知模块的静态列表,并为从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 查看哈希值)