跳转到主要内容

解析wheel文件名

项目描述

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

GitHub | PyPI | 问题 | 变更日志

wheel-filename 允许您验证 wheel 文件名并将它们解析为其组件字段。

此包严格遵守相关PEP,但有以下例外

  • 与其他文件名组件不同,版本组件可能包含字符 !+ 以实现完全PEP 440支持。

  • 版本组件可以是相关字符集中的任何序列;它们不会验证PEP 440合规性。

  • 匹配 .whl 文件扩展名时不区分大小写。

安装

wheel-filename 需要 Python 3.6 或更高版本。只需使用 Python 3 的 pip(您有 pip 吗?)来安装 wheel-filename

python3 -m pip install wheel-filename

示例

>>> from wheel_filename import parse_wheel_filename
>>> pwf = parse_wheel_filename('pip-18.0-py2.py3-none-any.whl')
>>> str(pwf)
'pip-18.0-py2.py3-none-any.whl'
>>> pwf.project
'pip'
>>> pwf.version
'18.0'
>>> pwf.build is None
True
>>> pwf.python_tags
['py2', 'py3']
>>> pwf.abi_tags
['none']
>>> pwf.platform_tags
['any']
>>> list(pwf.tag_triples())
['py2-none-any', 'py3-none-any']

API

parse_wheel_filename(filename)

解析 wheel 文件名(一个 strbytesos.PathLike)并返回一个 ParsedWheelFilename 实例。在处理之前,将任何前导目录组件从参数中删除。如果文件名不是有效的 wheel 文件名,则引发一个 InvalidFilenameError

ParsedWheelFilename

一个表示 wheel 文件名组件的 named tuple。它具有以下属性和方法

project: str

由 wheel 分发的项目的名称

version: str

由 wheel 分发的项目的版本

build: Optional[str]

wheel 的构建标签(如果未定义则为 None

python_tags: List[str]

wheel 的 Python 标签列表

abi_tags: List[str]

wheel 的 ABI 标签列表

platform_tags: List[str]

wheel 的平台标签列表

str(pwf)

ParsedWheelFilename 转换为字符串返回原始文件名

tag_triples() -> Iterator[str]

返回一个迭代器,其中包含从文件名中的兼容性标签生成的所有简单标签三元组

InvalidFilenameError

当将无效的 wheel 文件名传递给 parse_wheel_filename() 时引发的一个 ValueError 子类。它有一个包含无效文件名基本名称的 filename 属性。

命令

自版本 1.4.0 以来新增

wheel-filename 还提供了一个同名的命令,该命令接受 wheel 文件名(实际的 wheel 不必存在)并将文件名组件以 JSON 格式输出。

示例

$ wheel-filename pip-18.0-py2.py3-none-any.whl
{
    "project": "pip",
    "version": "18.0",
    "build": null,
    "python_tags": [
        "py2",
        "py3"
    ],
    "abi_tags": [
        "none"
    ],
    "platform_tags": [
        "any"
    ]
}

项目详情


下载文件

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

源代码发行版

wheel-filename-1.4.1.tar.gz (9.1 kB 查看哈希值

上传日期 源代码

构建发行版

wheel_filename-1.4.1-py3-none-any.whl (6.4 kB 查看哈希值

上传日期 Python 3

支持