Python包的核心工具。通过Fork支持LegacyVersion
撤销此版本的原因
由基于https://github.com/pypa/packaging/issues/530#issuecomment-1362652137的packvers替代
项目描述
packaging2是packaging的一个友好Fork,旨在解决LegacyVersion支持的删除问题。请参阅https://github.com/pypa/packaging/issues/530
为各种Python打包互操作性规范提供可重复使用的核心工具。
此库提供实现了互操作性规范的实用工具,这些规范具有明确的正确行为(例如:PEP 440)或从单个共享实现中受益很大(例如:PEP 425)。
packaging2项目包括以下内容:版本处理、指定、标记、需求、标签、实用工具。
文档
文档(此处)提供了以下信息和API
版本处理
指定符
标记
要求
标签
实用工具
安装
使用pip安装这些实用工具
pip install packaging2
讨论
如果您遇到错误,可以在我们的问题跟踪器中提交。
行为准则
包装项目代码库、问题跟踪器、聊天室和邮件列表中互动的每个人应遵守Python软件基金会行为准则。
贡献
CONTRIBUTING.rst文件概述了如何为此项目做出贡献以及如何报告潜在的安全问题。此项目的文档还涵盖了关于项目开发和安全的信息。
项目历史
请查阅CHANGELOG.rst文件或变更日志文档,以了解最近的变化和项目历史。
变更日志
21.4 - 2022-12-22
将v21.3分叉为packaging2,作为https://github.com/pypa/packaging/issues/530的解决方案,并恢复对LegacyVersion和LegacySpecifier的支持
21.3 - 2021-11-17
21.2 - 2021-10-29
更新21.1的文档条目
21.1 - 2021-10-29
将pyparsing的pin更新为排除3.0.0
21.0 - 2021-07-03
PEP 656:musllinux支持(#411)
停止支持Python 2.7、Python 3.4和Python 3.5
使用sysconfig替换distutils的使用(#396)
在parse_sdist_filename中添加对zip文件的支持(#429)
使用缓存的_hash属性来短路标签相等比较(#417)
为SpecifierSet的specifier参数指定默认值(#437)
在packaging.tags中正确实现仅关键字“warn”参数(#403)
正确从 ~= 检查中删除预发布后缀(#366)
修复Version.post和Version.dev的类型提示(#393)
使用类型别名UnparsedVersion(#398)
改进packaging.specifiers.filter()的类型推理(#430)
收紧canonicalize_version()的返回类型(#402)
20.9 - 2021-01-29
20.8 - 2020-12-11
20.7 - 2020-11-28
没有未发布的变化。
20.6 - 2020-11-28
20.5 - 2020-11-27
20.4 - 2020-05-19
在比较规范之前规范化版本。(#282)
将 canonicalize_name 的类型提示更改为返回 packaging.utils.NormalizedName。这使静态类型工具(如 mypy)能够检测规范化和非规范化的名称的混合使用。
20.3 - 2020-03-05
修复 20.2 的变更日志。
20.2 - 2020-03-05
修复了一个导致在 64 位 ARM CPU(例如 ARM-v8, aarch64)上运行的 32 位操作系统报告错误位数的错误。
20.1 - 2020-01-24
修复了由于重复使用耗尽的迭代器而引起的错误。(#257)
20.0 - 2020-01-06
添加类型提示(#191)
为 PyPy 支持添加适当的 trove 分类器(#198)
根据 manylinux 支持检测减少对 ctypes 的依赖(#171)
在适当的地方使用 sys.implementation.name 作为 packaging.tags(#193)
扩展 packaging.tags 提供的 API:interpreter_name()、mac_platforms()、compatible_tags()、cpython_tags()、generic_tags()(#187)
正式支持 Python 3.8(#232)
将 major、minor 和 micro 别名添加到 packaging.version.Version(#226)
通过添加 py.typed 文件,正确标记 packaging 已完全类型化(#226)
19.2 - 2019-09-18
19.1 - 2019-07-30
19.0 - 2019-01-20
修复带有标记的 PEP 508 直接 URL 要求的字符串表示。
更好地处理文件 URL
这允许使用 file:///absolute/path,这之前由于缺少 netloc而被阻止。
这允许所有 urlunparse 转回原始 URL 的文件 URL 都是有效的。
18.0 - 2018-09-26
当给出无效的要求时,改进错误消息。(#129)
17.1 - 2017-02-28
当提供非 PEP 440 版本时修复 utils.canonicalize_version。
17.0 - 2017-02-28
放弃对 python 2.6、3.2 和 3.3 的支持。
将pyparsing的最小版本定义为2.0.2(《https://github.com/pypa/packaging/issues/91》#91)。
为Version和LegacyVersion添加epoch、release、pre、dev和post属性(《https://github.com/pypa/packaging/issues/34》#34)。
添加Version().is_devrelease和LegacyVersion().is_devrelease,以便更容易地确定一个发布版本是否是开发版本。
添加utils.canonicalize_version以规范化版本字符串或Version实例(《https://github.com/pypa/packaging/issues/121》#121)。
16.8 - 2016-10-29
修复使用in的标记,使其能够正确渲染。
修复Python RC发布版本上的一个错误测试。
16.7 - 2016-04-23
添加对已弃用的python_implementation标记的支持,它是一个未记录的setuptools标记,除了较新的标记外。
16.6 - 2016-03-29
除了较新的标记外,还添加了对已弃用的PEP 345环境标记的支持。
16.5 - 2016-02-26
修复了解析带空格的逗号分隔符的依赖项时的回归问题。
16.4 - 2016-02-22
修复了解析如foo (==4)的依赖项时的回归问题。
16.3 - 2016-02-21
修复了在匹配旧版依赖项时,packaging.requirements:Requirement过于严格的错误。
16.2 - 2016-02-09
添加一个实现PEP 503中名称规范化的函数。
16.1 - 2016-02-07
实现PEP 508中的需求规范。
16.0 - 2016-01-19
重新授权,以便packaging可以在Apache License,Version 2.0或2条款BSD许可下使用。
支持在仅提供distutils的情况下安装packaging。
修复存在前缀和本地版本时的==比较问题(《https://github.com/pypa/packaging/issues/41》#41)。
实现PEP 508中的环境标记。
15.3 - 2015-08-01
对rev/r前缀进行发布后拼写的规范化。《https://github.com/pypa/packaging/issues/35》#35
15.2 - 2015-05-13
修复了当使用时未正确允许预发布版本的错误指定器(===)。
通过Specifier类上的属性公开指定器和版本部分。
允许遍历SpecifierSet以访问所有Specifier实例。
允许通过in运算符测试版本是否包含在指定器中。
15.1 - 2015-04-13
修复了一个逻辑错误,该错误导致有关预发布版本是否包含在SpecifierSet中的答案不一致。
15.0 - 2015-01-02
添加Version().is_postrelease和LegacyVersion().is_postrelease,以便更容易地确定一个发布版本是否是发布后版本。
添加Version().base_version和LegacyVersion().base_version,以便更容易地获取不带预发布或发布后标记的公共版本。
支持更新PEP 440,它删除了使用>V或<V时的隐含!=V.*,并使用>V或<V时对预发布、发布后和本地版本进行特殊处理。
14.5 - 2014-12-17
将发布候选版本规范化为rc而不是c。
公开VERSION_PATTERN常量,它是一个匹配有效版本的正则表达式。
14.4 - 2014-12-15
在使用小于(<)或大于(>)运算符的指定符中,确保版本在比较前已标准化。
14.3 - 2014-11-19
向后不兼容 重新设计指定符支持,使其能够合理地处理旧版指定符以及PEP 440指定符。
向后不兼容 将指定符支持从packaging.version移动到packaging.specifiers。
14.2 - 2014-09-10
为Specifier添加预发布版本支持。
移除在Specifier()中执行item的能力,并使用Specifier().contains(item)替换,以便允许标志表示是否接受预发布版本。
添加一个方法Specifier().filter(),它将接受一个可迭代对象,并返回一个不匹配指定符的项目已被过滤的可迭代对象。
14.1 - 2014-09-08
允许LegacyVersion和Version一起排序。
添加packaging.version.parse()以方便地将版本字符串解析为Version或LegacyVersion,具体取决于其PEP 440的有效性。
14.0 - 2014-09-05
初始发布。
项目详情
下载文件
下载适用于您平台文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分发
构建分发
packaging2-21.4.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f5decadff459242de7678dfcf62fc0dd5313d79d8a3dd7dbaaa7c6aefe67054c |
|
MD5 | 6f14e0124fdc19d2dda8334cee4fc4b4 |
|
BLAKE2b-256 | 83ef75afb69cc546ad67181bca81b6aa68582835180742ec59f35dd276b52239 |
packaging2-21.4-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e3c7ae9214ccde4d9752efb71e967933a8b60b48f8ffbab95b27aecf594bbcd |
|
MD5 | 7033a7d3a661ed3fc4918b424e757887 |
|
BLAKE2b-256 | 306c849f5ea5a816ed80d887a7c9764240e3884828d5245e134b27b5195bd778 |