从wheels提取信息
项目描述
wheel-inspect 检查Python wheel文件和*.dist-info目录,并将它们的各种信息以JSON序列化对象的形式输出。它可以在Python代码中调用
from wheel_inspect import inspect_wheel output = inspect_wheel(path_to_wheel_file)
或使用wheel2json命令从命令行调用。
安装
wheel-inspect 需要 Python 3.6 或更高版本。只需使用 Python 3 的 pip 安装 wheel-inspect 和其依赖项
python3 -m pip install wheel-inspect
示例
$ wheel2json wheel_inspect-1.0.0.dev1-py3-none-any.whl
{
"abi": [
"none"
],
"arch": [
"any"
],
"buildver": null,
"derived": {
"dependencies": [
"distlib",
"headerparser",
"packaging",
"readme-renderer",
"setuptools"
],
"description_in_body": true,
"description_in_headers": false,
"keyword_separator": ",",
"keywords": [
"packages",
"pypi",
"wheel"
],
"modules": [
"wheel_inspect",
"wheel_inspect.__main__",
"wheel_inspect.inspect",
"wheel_inspect.metadata",
"wheel_inspect.schema",
"wheel_inspect.util",
"wheel_inspect.wheel_info"
],
"readme_renders": true
},
"dist_info": {
"entry_points": {
"console_scripts": {
"wheel2json": {
"attr": "main",
"extras": [],
"module": "wheel_inspect.__main__"
}
}
},
"metadata": {
"author": "John Thorvald Wodder II",
"author_email": "wheel-inspect@varonathe.org",
"classifier": [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
"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",
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Software Distribution"
],
"description": {
"length": 1538
},
"home_page": "https://github.com/jwodder/wheel-inspect",
"keywords": "packages,pypi,wheel",
"license": "MIT",
"metadata_version": "2.1",
"name": "wheel-inspect",
"platform": [],
"requires_dist": [
{
"extras": [],
"marker": null,
"name": "distlib",
"specifier": "~=0.2.7",
"url": null
},
{
"extras": [],
"marker": null,
"name": "headerparser",
"specifier": "~=0.2.0",
"url": null
},
{
"extras": [],
"marker": null,
"name": "packaging",
"specifier": ">=17.1",
"url": null
},
{
"extras": [],
"marker": null,
"name": "readme-renderer",
"specifier": "~=21.0",
"url": null
},
{
"extras": [],
"marker": null,
"name": "setuptools",
"specifier": ">=36",
"url": null
}
],
"requires_python": "~=3.5",
"summary": "Extract information from wheels",
"version": "1.0.0.dev1"
},
"record": [
{
"digests": {
"sha256": "EL9q_wQOJRlJL3LkKscASTrhXgXgVLfeugZz66MFeV8"
},
"path": "wheel_inspect/__init__.py",
"size": 440
},
{
"digests": {
"sha256": "3_DrJ4Tr-ie5TCQtmmTnS82eHTMmVDY1mOeSP_hJ_Ho"
},
"path": "wheel_inspect/__main__.py",
"size": 247
},
{
"digests": {
"sha256": "LCgjTkHaGxyzSKeY_pEDSWQFNQi7PRby6lh6H0OSVAQ"
},
"path": "wheel_inspect/inspect.py",
"size": 4816
},
{
"digests": {
"sha256": "3u83eQ0RBdR-AEOxqsPyMkc663G2Un9Hd6tqhO2eu6k"
},
"path": "wheel_inspect/metadata.py",
"size": 1946
},
{
"digests": {
"sha256": "8VOeroNaM34lIqdjnCiaCwtNEVwi_wFDTtYaL7dEXDQ"
},
"path": "wheel_inspect/schema.py",
"size": 12158
},
{
"digests": {
"sha256": "iaxC3qenCrPMRjrqdTwj1Hfy-OPo-y-WVLaPWEDeSFs"
},
"path": "wheel_inspect/util.py",
"size": 1352
},
{
"digests": {
"sha256": "wNTKsMw_TVe3RbIpj8tjwRE0Q_rUeoRUF66KKpqBp2c"
},
"path": "wheel_inspect/wheel_info.py",
"size": 1010
},
{
"digests": {
"sha256": "-X7Ry_-tNPLAGkZasQc2KOBW_Ohnx52rgDZfo8cxw10"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/LICENSE",
"size": 1095
},
{
"digests": {
"sha256": "SbhMBq15toKwrurqS0Xmt--MPsWRvKTjtx9ya4tTed8"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/METADATA",
"size": 2692
},
{
"digests": {
"sha256": "-ZFxwj8mZJPIVcZGLrsQ8UGRcxVAOExzPLVBGR7u7bE"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/WHEEL",
"size": 92
},
{
"digests": {
"sha256": "fqJPsljFaWRzPdYMreNAf0zg8GSQE0Tgh8_XOzL85lo"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/entry_points.txt",
"size": 60
},
{
"digests": {
"sha256": "Cz2n0fdOaOfDcl0g6x4t_DEWzWZYYRcFASrgxW0v_WE"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/top_level.txt",
"size": 14
},
{
"digests": {},
"path": "wheel_inspect-1.0.0.dev1.dist-info/RECORD",
"size": null
}
],
"top_level": [
"wheel_inspect"
],
"wheel": {
"generator": "bdist_wheel (0.32.1)",
"root_is_purelib": true,
"tag": [
"py3-none-any"
],
"wheel_version": "1.0"
}
},
"file": {
"digests": {
"md5": "fc6dcdac9f850435e41167f48e3862f4",
"sha256": "69733fa29a205ecfee322961defd15dc42880873869db6a742edf26d6d6d4832"
},
"size": 10208
},
"filename": "wheel_inspect-1.0.0.dev1-py3-none-any.whl",
"project": "wheel_inspect",
"pyver": [
"py3"
],
"valid": true,
"version": "1.0.0.dev1"
}
API
- wheel_inspect.DIST_INFO_SCHEMA
这是一个由 inspect_dist_info_dir() 返回结构的 JSON Schema。它与 WHEEL_SCHEMA 相同,但去除了 "filename"、"project"、"version"、"buildver"、"pyver"、"abi"、"arch" 和 "file" 键。
- wheel_inspect.WHEEL_SCHEMA
这是由 inspect_wheel() 返回结构的 JSON Schema。这个值之前以“SCHEMA”的名字导出;旧名字仍然可用于向后兼容,但将来将不再使用,因此不应该在新代码中使用。
- wheel_inspect.inspect_dist_info_dir(dirpath)
将 dirpath 视为一个 *.dist-info 目录并检查其内容。返回值的结构由 DIST_INFO_SCHEMA 描述。
- wheel_inspect.inspect_wheel(path)
检查给定 path 位置的 wheel 文件。返回值的结构由 WHEEL_SCHEMA 描述。
之前版本的 wheel-inspect 提供了 parse_wheel_filename() 函数。从版本 1.5.0 开始,这个特性已经被分割到它自己的包中,即 wheel-filename。 wheel-inspect 继续重新导出这个函数以保持与早期版本的 API 兼容性,但将来会发生变化。从 wheel-inspect 导入 parse_wheel_filename() 的代码应更新为使用 wheel-filename。
命令
wheel2json [<path> ...]
wheel-inspect 提供了一个 wheel2json 命令(也可以通过 python -m wheel_inspect 访问),可以用于从命令行检查 wheel 文件和 *.dist-info 目录。每个传递给命令的路径都会单独检查(如果它是目录,则被视为 *.dist-info 目录,否则视为 wheel 文件),并且结果数据将以格式化的 JSON 对象输出。(注意,当给出多个路径时,这会产生没有分隔的 JSON 对象流。)
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
构建发行版
wheel-inspect-1.7.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 469df948ea059ad0cd33cf5f033c554a8b4c20641745701f402e71a7694ec828 |
|
| MD5 | 39da5dfb02aaa15b738fe6fbd285bcdf |
|
| BLAKE2b-256 | ea15828aac1533961f40de460124e271548f83c10eeb786db09239b238ea8298 |
wheel_inspect-1.7.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5a7191d33402bd2e7173d8ffa521d7da4f111a6837d71dde44d272438368d507 |
|
| MD5 | 973b3ca22f79d06e8400d1091793f19e |
|
| BLAKE2b-256 | eeac42d840f8e8bd03252f88f15f67a1713e21c4d37120a1387d451628646815 |