从sdists / bdists / 已安装包查询元数据。避免任意导入和eval()的安全pkginfo分叉
项目描述
pkginfo2 README
主页URL: https://github.com/nexB/pkginfo2 SPDX-License-Identifier: MIT
本软件包提供了一个API,用于查询源分发(sdist)或二进制分发或wheel(例如,通过运行bdist_egg创建)中的PKG-INFO
文件中编写的distutils元数据。它还可以查询已安装分发的EGG-INFO
目录,以及存储在“开发签出”中的*.egg-info
(例如,通过运行setup.py develop
创建)或已安装包的*.dist-info
。
这是http://bazaar.launchpad.net/~tseaver/pkginfo的一个分支,移除了导入和评估任意代码以及与当前解释器所知的模块工作的能力。如果需要这些功能,请使用importlib_metadata。
有关更多文档,请参阅pkginfo2仓库。
pkginfo2 更新日志
30.0.0 (2022-01-28)
分支并重命名为pkginfo2。移除了导入或评估包或模块的能力。
将bzr历史迁移到git
1.8.2 (2021-12-01)
添加了对已安装分发中
__package__
设置为空字符串的修复。LP #1952946。
1.8.1 (2021-11-19)
添加了'MANIFEST.in',以确保测试用例使用的示例文件包含在源分发中。LP #1951553。
1.8.0 (2021-11-18)
支持已安装分发的新的标准元数据位置。LP #1865286。
不要用空负载覆盖基于头的'description'。LP #1885458。
添加对Metadata-Version 2.2的支持。LP #1928729。
添加对sdists未压缩tarball的支持。LP #1951457。
添加对Python 3.10的支持。
1.7.1 (2021-07-09)
使用Python3构建文档,并修复doctest示例以使用Python3兼容的语法。LP #1933322。
1.7.0 (2021-01-16)
添加对Python 3.9的支持。
放弃对Python 3.5的支持。
1.6.1 (2020-10-26)
调整测试分类器以匹配支持的Python版本。LP #1901127。
1.6.0 (2020-10-20)
添加对Python 3.8的支持。LP #1869854。
放弃对Python 3.4的支持。
更新测试以匹配setuptools的变化,不再为没有明确元数据的已安装包报告元数据版本。LP #1870197。
1.5.0.1 (2019-01-08)
修复损坏的'sdist'。LP #1639585。
1.5.0 (2019-01-07)
修复'console_scripts'入口点的语法。LP #1810734。
添加对CLI的JSON输出支持。LP #1700580。
添加对已安装wheel的支持。例如,'dist-info/'目录。LP #1700200。
强化元数据提取以应对意外的编码。LP #1780454。
更新测试以匹配pip/setuptools对新的元数据版本的使用。LP #1772274。
添加对Python 3.6和3.7的支持。
放弃对Python 3.3的支持。
1.4.2 (2018-03-14)
在pkginfo模块中使用相对导入。支持将包作为vendoring添加到setuptools中。
添加对
Provides-Extra
和Description-Content-Type
字段的支撑。参见https://packaging.pythonlang.cn/specifications/。见:PEP 566。移除对旧setuptools的支持,不再在项目目录根目录中保留
PKG-INFO
。
1.4.1 (2016-11-07)
仅包装更改(为1.4.0构建了无效的sdist)。
1.4.0 (2016-11-04)
在MIT许可下重新许可:PSF许可证不适合第三方库。
1.3.2 (2016-05-24)
仅包装更改(自动化修复为1.3.1构建的wheel)。
1.3.1 (2016-05-24)
仅包装更改(为1.3.0构建了无效的wheel)。
1.3.0 (2016-05-23)
更新主页URL以指向Launchpad,而不是PyPI。
添加构建wheel的支持。
添加对Python 3.5的支持。
放弃对Python 2.6和3.2的支持。
1.2.1 (2014-01-02)
添加了被忽略的Trove分类器以用于Python 3.4。
1.2 (2014-01-02)
添加对Python 3.4和PyPy3的支持。
为
pkginfo.commandline
模块添加100%覆盖率。
1.2b1 (2013-12-05)
添加对“轮”分布格式的支持,以及最小化元数据2.0支持(不包括新的PEP 426 JSON属性)。代码(重新)借用自Donald Stuft的twine包。
1.1 (2013-10-09)
修复测试以通过当前的PyPy版本。
1.1b1(2013-05-05)
支持“开发”包,这些包将其*.egg-info保存在子目录中。参见https://bugs.launchpad.net/pkginfo/+bug/919147。
添加对“未打包的SDists”的支持(感谢Mike Lundy提供的补丁)。
1.0 (2013-05-05)
与1.0b2相比没有变化。
1.0b2(2012-12-28)
抑制针对客户端报告的资源警告泄漏。
修复Py3k下的‘commandline’模块。
1.0b1(2012-12-28)
添加对Python 3.2和3.3的支持,包括在tox下测试它们。
添加对PyPy的支持,包括在tox下测试它。
在tox下测试支持的Python版本。
放弃对Python 2.5的支持。
添加setup.py dev别名:运行setup.py develop并安装测试额外组件(nose和coverage)。
0.9.1 (2012-10-22)
修复Python >= 2.7下的测试失败,这是由于我们具有分类器而强制执行‘metadata_version == 1.1’。
0.9 (2012-04-25)
修复安装的命名空间包的反射。它们可能作为egg安装或通过分发的‘egg-info’文件安装。https://bugs.launchpad.net/pkginfo/+bug/934311
避免在Python 2.6 / 2.7下解析unicode时0.8的回归。https://bugs.launchpad.net/pkginfo/+bug/733827/comments/3
0.8 (2011-03-12)
绕过Python 2.7破坏StringIO的问题。修复https://bugs.launchpad.net/pkginfo/+bug/733827
修复安装的包中缺少__package__属性的反射问题。
0.7 (2010-11-04)
保留description字段中的换行符。感谢Sridhar Ratnakumar提供的补丁。
100%测试覆盖率。
0.6 (2010-06-01)
将使用StringIO.StringIO替换为(如果可用)io.StringIO,Python >= 2.6。
将使用rfc822标准库模块替换为(如果可用)email.parser,Python >= 2.5。确保分发“展开”包装的续行,去除任何前导/尾随空白,无论使用哪个模块进行解析。
删除对zope.testing的虚假测试依赖。
添加测试,捕获在批准的PEP 345中拼写的“环境标记”。
为1.2 PKG-INFO元数据添加Project-URL(在PEP 345的接受版本中定义)。
0.5 (2009-09-11)
将包标记为非zip安全。
修复Trove元数据的拼写错误。
恢复与Python 2.4的兼容性。
请注意,在Python 2.6或更高版本中,安装的包/模块的反射才能正常工作。
将Index类添加为对一组分发的抽象。
将download_url_prefix参数添加到pkginfo脚本中。如果传入,则脚本将使用前缀合成download_url,对于不直接提供该值的分发。
0.4.1 (2009-05-07)
修复处理缺少__file__或PKG-INFO的安装包的bug。
0.4 (2009-05-07)
扩展控制台脚本以允许输出为CSV或INI。还添加了指定元数据版本和其他解析/输出策略的参数。
支持PEP 241、314和345中指定的不同元数据版本。现在,分发仅解析和公开与其元数据版本对应的属性,该版本默认为从PKG-INFO文件解析的版本。当创建分发对象时,程序员可以覆盖该版本。
0.3 (2009-05-07)
添加对“开发蛋”(带有 PKG-INFO 的检出,可能通过 setup.py develop 创建)的反射支持。
添加一个控制台脚本 pkginfo,它接受命令行上的一个或多个路径,并输出相关信息。感谢 runeh 提供的补丁!
添加 get_metadata 辅助函数,该函数将给定的路径或模块分发到可用的分发类型中,并返回一个分发对象。感谢 runeh 提供的补丁!
使分发对象支持对元数据字段的迭代。感谢 runeh 提供的补丁!
将 Distribution 和子类改为新式类。感谢 runeh 提供的补丁!
0.2 (2009-04-14)
添加对 bdist_egg 二进制分发的反射支持。
0.1.1 (2009-04-10)
修复打包错误。
0.1 (2009-04-10)
初始发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
pkginfo2-30.0.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e1afbeb156febb407a9b5c16b51c5b4737c529eeda2b1607e1e277cf260669c |
|
MD5 | 8fd5bd0d69938534c9796195164b5928 |
|
BLAKE2b-256 | 908d09cc1c99a30ac14050fc4e04e549e024be83ff72a7f63e75023501baf977 |
pkginfo2-30.0.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1558f3ff71c99e8f362b6d079c15ef334dfce8ab2bc623a992341baeb1e7248 |
|
MD5 | 08f225691729a9b3441cb955c82abce9 |
|
BLAKE2b-256 | 49014e506c68c9ea09c702b1eac87e6d2cda6d6633e6ed42ec1f43662e246769 |