处理pep440版本的工具
项目描述
pep440-version-utils
本包汇集了处理pep440版本的工具。它基于PyPA的packaging
项目,并对其进行了扩展。
它使得处理版本升级变得更加容易,并严格遵循PEP440规范。
安装
使用pip
或poetry
安装此包
$ pip install pep440-version-utils
# or alternatively
$ poetry add pep440-version-utils
用法
由于此包扩展了packaging
库,因此它支持版本解析和排序,如此文档中所述。
升级到新版本
from pep440_version_utils import Version
version = Version("1.10.2")
version.next_micro() # 1.10.3
version.next_minor() # 1.11.0
version.next_major() # 2.0.0
升级到新预发布版本
from pep440_version_utils import Version
version = Version("1.10.2")
version.next_alpha() # 1.10.3a1
version.next_beta() # 1.10.3b1
version.next_release_candidate() # 1.10.3rc1
version.next_alpha("minor") # 1.11.0a1
version.next_beta("mior") # 1.11.0b1
version.next_release_candidate("major") # 2.0.0rc1
并实现了完整的发布周期
from pep440_version_utils import Version
version = Version("1.10.2")
alpha1 = version.next_alpha() # 1.10.3a1
alpha2 = alpha1.next_alpha() # 1.10.3a2
beta1 = alpha2.next_beta() # 1.10.3b1
rc1 = beta1.next_release_candidate() # 1.10.3rc1
rc2 = rc1.next_release_candidate() # 1.10.3rc2
new_version = rc2.next_micro() # 1.10.3
您还可以检查版本是否为特定类型的预发布版本
from pep440_version_utils import Version
Version("1.10.2a1").is_alpha # True
Version("1.10.2b2").is_beta # True
Version("1.10.2rc1").is_release_candidate # True
限制
此包目前不支持后缀和本地版本。 欢迎贡献 😊
如何贡献
此包相当简单,以下是您如何贡献的方式
- ⚙️ 安装
poetry
- 📦 在仓库文件夹中,运行
poetry install
- ✍️ 实施所需的更改
- ✅ 运行测试、类型检查和代码质量检查
$ poetry run black . --check
$ poetry run mypy */**.py --ignore-missing-imports
$ poetry run pytest --cov=pep440_version_utils
- ➡️ 提交新的拉取请求
不要犹豫,即使是非常小的更改也可以贡献!
如何发布新版本
- 更新CHANGELOG
- 在
pyproject.toml
中更新项目版本 poetry build
poetry publish
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪一个,请了解有关安装包的更多信息。
源分布
pep440_version_utils-1.1.1.tar.gz (4.3 kB 查看哈希值)
构建分布
关闭
pep440_version_utils-1.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7a8bc8091f386e3da509f8e08e01d43218b6520c746c5c2dde9cf0c72286321 |
|
MD5 | 62c2f74a577b9ac7b590d94504ee2793 |
|
BLAKE2b-256 | 56b6aea67bbf3a92d8461537edb21540911017876ffadbb5ad4379b5ecd38746 |
关闭
pep440_version_utils-1.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 44661f4af7b610f55746903fe39c326bc52944b1aebb985ee9de198f56ba131e |
|
MD5 | 9978b370cb04be6c5fcc561a03594f62 |
|
BLAKE2b-256 | ca7428644a714ec199b9a6ba0e1ee971aaf0513593aa6c3298cadd3e1bccd335 |