python中的简单语义版本bumper。

bumpytrack的Python项目详细描述


当前版本:1.1.2

兼容python>;=2.7和>;=3.5

保险杠支架

每次发布一个版本的软件时都会碰到它的(semantic)版本,这可能是一个乏味的任务,如果您:

  • 将版本写入各种文件中,例如setup.py或专用版本文件。
  • 用git中的标记管理版本控制。

这个小脚本为您自动化了这个过程。

假设您正在使用^{},并且您刚刚将一个功能合并到开发分支。您只需签出并拉动它,然后执行以下操作:

bumpytrack minor  # or major if you have breaking changes, or patch if it's a simple bugfix

它将:

  • 替换所有相关文件中的版本字符串(请参见下面的配置)。
  • 将这些更改提交到git,注意不要提交任何其他内容。
  • 为此新版本创建git标记。

现在你可以自由地推,合并到主和部署!

对于上述版本字符串替换,我们需要一些配置。This example应该是自动解释的。创建一个pyproject.toml,或者将您的配置添加到存储库根目录中已有的配置中,这样就可以了。

安装

pip install bumpytrack

然后将pyproject.toml添加到存储库的根目录(如果您还没有)并配置它like this

帮助

这个脚本非常简单,并且有一个不错的在线文档。只要做:

bumpytrack --help

一些可用选项:

  --current-version CURRENT_VERSION
                        force current version instead using version in config
                        file.
  --new-version NEW_VERSION
                        force new version instead using version in config
                        file.
  --git-commit          GIT: Commit files with version replacements.
  --no-git-commit
  --git-tag             GIT: Tag this reference with the new version.
  --no-git-tag
  --config-path CONFIG_PATH
                        path to config file. Defaults to pyproject.toml in
                        current directory.
  --verbose

你也可以peek at the code。没什么…它只是在一些小数字上加一个;p

开发

确保您有最新的pippipenv版本:

pip install --update pip pipenv

要开始开发,请通过以下方式启动环境:

pipenv shell
pipenv install -d

这个工具使用^{}进行开发,使用^{}进行打包和分发。到目前为止,还没有一个100%的社区接受的最佳实践,所以我采取了this approach。总而言之:

若要添加application依赖项,请将其添加到setup.py中,并保留宽松的版本定义。然后,只需pipenv install -e .来安装依赖项。pipenv锁定机制将按预期工作,因为bumpytrack本身位于Pipfile[packages]部分(检查Pipfile.lock,您将在那里找到dep)。

要添加development依赖项,请通过pipenv install -d <my-dependency>将其添加到Pipfile

这样,包定义就只有一个真实的来源。无需在setup.pyPipfile*中重复deps。

测试

要测试项目,请在pipenv中运行^{}。运行某个程序后,运行^{}以检查它是否与支持的所有python版本兼容。

重要提示:为了使用不同的python版本进行tox测试,必须安装这些版本。^{}建议用于此目的。^{}已安装,因此它应该在开箱即用的情况下工作。

开发任务自动化并发布到pypi

这个项目使用^{}实现自动化。在这里,您可以找到构建包并将包发布到pypi的任务。

查看the project^{}文件以获取更多信息。

许可证

这个项目是在麻省理工学院的许可下授权的-请参阅^{}文件了解详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java提高机器学习Rest服务性能   java反转字符的字符串顺序,并使用构造函数将其放入LinkedList   继承为什么Java不支持在方法签名中添加“throws”?   执行DDL alter table if exists任务时发生java错误。城市   java在eclipse中使用CREATETXT并打包在jar中   java AES256与3DES 256密钥检测   具有两个相同类型字段的java JPA实体   java Webapp日志记录设置被忽略   java KeyEventDispatcher可以在一个应用程序中工作,但不能在另一个应用程序中工作   带有Swing和OpenJDK的java PinchZoom   未涉及java AspectJ注释切入点(对于任何注释类型)   java如何在FuseBAI中获取日志文件详细信息   java在Linux上将wstring转换为jstring