跳转到主要内容

处理pep440版本的工具

项目描述

Continuous Integration Coverage Status

pep440-version-utils

本包汇集了处理pep440版本的工具。它基于PyPA的packaging项目,并对其进行了扩展。

它使得处理版本升级变得更加容易,并严格遵循PEP440规范

Release cycle

安装

使用pippoetry安装此包

$ 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

限制

此包目前不支持后缀本地版本。 欢迎贡献 😊

如何贡献

此包相当简单,以下是您如何贡献的方式

  1. ⚙️ 安装 poetry
  2. 📦 在仓库文件夹中,运行 poetry install
  3. ✍️ 实施所需的更改
  4. ✅ 运行测试、类型检查和代码质量检查
$ poetry run black . --check
$ poetry run mypy */**.py --ignore-missing-imports
$ poetry run pytest --cov=pep440_version_utils
  1. ➡️ 提交新的拉取请求

不要犹豫,即使是非常小的更改也可以贡献!

如何发布新版本

  1. 更新CHANGELOG
  2. pyproject.toml中更新项目版本
  3. poetry build
  4. poetry publish

项目详情


下载文件

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

源分布

pep440_version_utils-1.1.1.tar.gz (4.3 kB 查看哈希值)

上传时间

构建分布

pep440_version_utils-1.1.1-py3-none-any.whl (5.2 kB 查看哈希值)

上传时间 Python 3

由以下组织支持