当setuptools_scm可用时,是否需要Bumpversion(或Bump2version)



tldr;

问题是标题所说的。

颠簸还是不颠簸?

我开始使用bump2version,然后发现了setuptools_scm(相当新的是开发成熟的python程序(,现在我感到困惑。

https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0(我知道,我使用V40-X-X(提到了碰碰的整合,但是,没有提及随后的变形值中遇到的撞击支持。

同时,1.4扩展和重复使用setuptools文档的setuptools部分提到了setuptools_scm(和setuptools_svn(,以与git,hg和svn集成。

blab(底线 - 底部(

那么,问题是:bumpversion是否已贬值/过时?


附录

为了进一步澄清,我将尝试更多地解释我的用例

i有一个具有多个子项目的超级项目。

super
├───base/
├───core/
├───lib/
├───version/requirements.txt
└───modules/
    ├───module-1/
    ├───module-2/
    ├───module-3/
    ├───module-4/
    └───module-5/

超级是主git,每个子标记作为子模块(具有自己的子模块(,当然,每个子模型都保持着自己的释放版本(这很容易(

该项目的发布由与其他所有内容相互兼容的签名模块组成。

我当前的方法

我目前正在使用称为版本的子模块,该子模块维护 requirements.txt pyproject.toml并将整个内容拉到可分布的包装中。遵循https://github.com/pypa/pipfile/issues/27中的指南,并从https://caremad.io/posts/2013/07/setup-vs-requirement/

中提取。

问题仍然存在:是否有这样做的规范方法?

如果使用setuptools_scm,则可能不需要bump2version。反之亦然。

没有"规范"在Python中碰到版本的方法。存在多种工具,您可以使用自己喜欢的工具(或根本没有(。

setuptools ChangElog中的消息是关于setuptools作者在自己的git存储库中使用的信息。他们仍然使用bump2version,如此配置文件所示。

项目setuptools_scmsetuptools的名称相似,但它们完全独立。

最新更新