Python 的版本保险杠。
项目描述
关于该项目
有时您需要自动调整 Python 项目文件中的版本。例如,您可能:
- 拥有 CI/CD 管道,并希望在合并到
develop
分支时自动将库的补丁版本提升 - 有一个工作流程(例如,在 Bitbucket Pipelines、GitHub 操作等上),允许开发人员通过在他们的提交消息中包含标签来自动执行版本提升(例如
[major]
,[minor]
) - 只是想在手动修改版本号时减少人为错误的机会
Dodgem 是一个命令行实用程序,用于执行上述所有操作,以及更多功能,旨在最终涵盖尽可能多的 Python 项目文件格式,但目前支持:
setuptools
(setup.py
) 与version=
命名参数pyproject.toml
由诗歌依赖管理器管理
以(版本)碰碰车命名,在某些英语方言中有时也称为 dodgems。
(回到顶部)
内置
本项目使用:
(回到顶部)
入门
入门很简单。Dodgem 旨在尽可能地自动检测。
先决条件
你需要 Python 3.7 或更新版本的 pip 来安装 Dodgem。
安装
使用 pip 或你最喜欢的 Python 依赖管理器安装 Dodgem,你就完成了。
pip3 install dodgem
测试您的安装:
dodgem --help
您应该会看到打印的帮助文档。
(回到顶部)
用法
您可以使用dodgem --help
该实用程序获取详细信息:
Usage: dodgem [OPTIONS]
Bump version numbers in a project file.
Options:
--file TEXT The file to parse (defaults to automatic
detection).
--file-type TEXT The file type to parse (defaults to automatic).
--file-format TEXT The file format to parse (defaults to automatic).
--commit-message TEXT The commit message to infer the version bump from.
--no-auto-patch If given, disables automatic patch version bump if
commit message provided.
--major-tag TEXT The commit message tag indicating a major version
bump.
--minor-tag TEXT The commit message tag indicating a minor version
bump.
--patch-tag TEXT The commit message tag indicating a patch version
bump.
--prerelease-tag TEXT The commit message tag indicating a prerelease
version bump.
--ignore-tag-case Ignores capitalization in commit message tags.
--quiet Suppresses all extraneous output.
--pep-440 Use PEP-440 for version strings.
--bump-major If given, performs a major version bump.
--bump-minor If given, performs a minor version bump.
--bump-patch If given, performs a patch version bump.
--bump-prerelease If given, performs a prerelease version bump.
--bump-build If given, performs a build version bump.
--prerelease-token TEXT The prerelease token to append.
--build-token TEXT The build token to append.
--dry If given, does not write the version change to
disk.
--help Show this message and exit.
示例:凹凸次要版本
像这样碰撞项目的次要版本:
dodgem --bump-minor
如果您不想将更改提交到磁盘,请--dry
像这样使用:
dodgem --bump-minor --dry
如果 CLI 给出的信息输出妨碍了下游处理,请使用--quiet
:
dodgem --bump-minor --quiet
示例:来自提交消息
Dodgem 可以根据提交消息来调整您的项目版本。默认。
- 如果消息包含
[major]
,则将执行主要版本提升 - 如果消息包含
[minor]
,则将执行次要版本提升 - 否则,将执行补丁版本提升
例如,使用您最后的git
提交消息来提升您的项目版本。
dodgem --commit-message="$(git log -1)"
示例:自定义标签
如果默认[major]
和[minor]
标签不适合您,并且您更喜欢(major)
,(minor)
和显式 (patch)
标签:
dodgem --commit-message="$(git log -1)" --major-tag='(major)' --minor-tag='(minor)' --patch-tag='(patch)' --no-auto-patch
(回到顶部)
路线图
- 支持
setuptools
(setup.py
) - 支持诗歌
- 支持预发布/构建版本(向@mitchelkoster 大喊功能理念)
有关提议的功能(和已知问题)的完整列表,请参阅未解决的问题。
(回到顶部)
贡献
任何贡献都非常受欢迎。请 fork 项目并打开 PR,或者如果您发现错误和/或想要建议功能,请打开问题。
(回到顶部)
执照
根据 MIT 许可证分发。有关LICENSE.txt
更多信息,请参阅。
(回到顶部)
接触
索尔·约翰逊 - @lambdacasserole - saul.a.johnson@gmail.com
项目链接:https ://github.com/lambdacasserole/dodgem
(回到顶部)
致谢
以下资源很棒:
- 本自述文件使用了Best-README-Template
- tomlkit用于以保留注释、顺序、格式等的方式解析 TOML。
- semver用于解析和碰撞 semver 数字
向@mitchelkoster 致敬,感谢他提供了大量的功能创意,并消除了一堆错误和边缘情况!
(回到顶部)
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。