跳转到主要内容

从wheels提取信息

项目描述

Project Status: Active — The project has reached a stable, usable state and is being actively developed. CI Status https://codecov.io/gh/jwodder/wheel-inspect/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/wheel-inspect.svg MIT License

GitHub | PyPI | 问题 | 变更日志

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-filenamewheel-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 (1.3 MB 查看哈希值)

上传时间 源代码

构建发行版

wheel_inspect-1.7.1-py3-none-any.whl (20.3 kB 查看哈希值)

上传时间 Python 3

由以下提供支持