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与服务器建立TCP连接后,为什么我看不到服务器发送的消息?   java解析数据到Java8中的2D数组   java Lifecycle OnLifecycleEven已弃用   Java Swing JDBC和MySQL ClientServer LAN设置   java滚动背景边线条的外观   转换日期时发生java异常   对Cucumber 4.7的java IntelliJ支持   mongodb Mongo和java查找查询以及batchsize   java为充气菜单添加自定义图标   java对象到ArrayList   java作为JPackage安装的一部分,我如何在linux中使本机linux应用程序可执行   数字的java JTextfield验证?   java更改Eclipse中默认的Maven存储库,以下载所需的TinyB库   java如何使用Jena从RDF中选择具有特定属性的主题?   java Selenium WD无法在cheaptickets上的弹出窗口中找到webelement。在里面