Python包的核心工具。Fork以支持LegacyVersion
项目描述
packvers是packaging的一个友好分支,旨在解决LegacyVersion支持的取消。参见https://github.com/pypa/packaging/issues/530
用于各种Python打包互操作性规范的可重用核心工具。
此库提供了实现互操作性规范的工具,这些规范具有明确且唯一正确的行为(例如:PEP 440)或从具有单个共享实现中受益很大(例如:PEP 425)。
packvers项目包括以下内容:版本处理、指定符、标记、需求、标签、工具。
文档
该文档提供了以下信息
版本处理
指定符
标记
需求
标签
工具
安装
使用 pip 安装这些工具
pip install packvers
讨论
如果您遇到错误,可以在我们的 问题追踪器 中提交。
行为准则
所有与包装项目代码库、问题追踪器、聊天室和邮件列表互动的人都应遵守 PSF 行为准则。
贡献
CONTRIBUTING.rst 文件概述了如何为此项目做出贡献以及如何报告潜在的安全问题。此项目的文档还涵盖了有关 项目开发 和 安全 的信息。
项目历史
请查看 CHANGELOG.rst 文件或 变更日志文档 以了解最近的变化和项目历史。
变更日志
21.5 - 2022-12-22
重命名为 packvers 以避免混淆
21.4 - 2022-12-22
将 v21.3 分支作为替代方案 fork 为 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
将 pin 更新到 pyparsing 以排除 3.0.0。
21.0 - 2021-07-03
PEP 656: musllinux 支持 (#411)
放弃对 Python 2.7、Python 3.4 和 Python 3.5 的支持。
将 distutils 使用替换为 sysconfig (#396)
在 parse_sdist_filename 中添加对 zip 文件的支持 (#429)
使用缓存的 _hash 属性来短路标签等价比较 (#417)
为 SpecifierSet 的 specifier 参数指定默认值 (#437)
packaging.tags 中的适当关键字-only "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上运行的32位操作系统(例如ARM-v8、aarch64)报告错误位数的bug。
20.1 - 2020-01-24
修复由重复使用耗尽的迭代器引起的bug。(#257)
20.0 - 2020-01-06
添加类型提示(#191)
为PyPy支持添加适当的trove分类器(#198)
根据对manylinux支持检测的依赖关系缩减(#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文件来正确标记
已被完全类型化(#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
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。
修复存在前缀和本地版本时 == 比较的问题(《#41》)。
实现PEP 508中的环境标记。
15.3 - 2015-08-01
规范化rev/r前缀的后发布拼写。#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
首次发布。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
packvers-21.5.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d2758fc09d2c325414354b8478d649f878b52c38598517fba51c8623526ca79 |
|
MD5 | f0944203433f79d62a14605a0745869e |
|
BLAKE2b-256 | c51bdfb8654324222e996a18297b2b2b21b637cad0a23d75134cc1fd129dd7c0 |
packvers-21.5-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a05e4a2b0f2eecb49d2568bfe180168a99165ab5167aa791f82266e33740ac87 |
|
MD5 | 42973987bb8ee39003b6ce16f576db00 |
|
BLAKE2b-256 | 000ca57d44f7f970ea31dfcda7ffbe8509d087c2386a28b791867a8868fc66da |