跳转到主要内容

zest.releaser/setuptools_scm 插件。

项目描述

icrs.releaser

https://github.com/jamadden/icrs.releaser/workflows/tests/badge.svg https://coveralls.io/repos/github/jamadden/icrs.releaser/badge.svg?branch=master Documentation Status

此软件包为使用 zest.releaser 发布项目提供支持,特别是与 setuptools_scm 结合使用。

此软件包做三件事

  • 在源文件中插入正确的版本号。

    当对象文档字符串包含缩略的变更日志时,对源代码和文档的读者很有帮助。Sphinx通过以下特殊指令 支持此功能 versionaddedversionchangeddeprecated。例如,文档字符串可能包含

    .. versionchanged:: 2.0.1
       Now frob the frizzle correctly when *frob_frizzle* is true.

    但是,文档字符串的作者并不总是知道包含更改的版本号最终会是什么。在类似于CalVer的方案中,这取决于发布的时间,而在类似于SemVer的方案中,这取决于发布中包含的其他更改。在任何情况下,都必须在发布完成后才能确定。

    为了解决这个问题,这个包提供了一个插件,允许您像这样编写文档字符串

    .. deprecated:: NEXT
       Turns out frobbing the frizzle was a bad idea.

    当发布时,会检查src/<PROJECT>目录中找到的所有.py文件中的三个带有NEXT参数的指令,并将NEXT值替换为用户选择的版本号。

    用户将看到所做的更改的diff,并会被要求在继续之前确认是否提交。

  • 从环境中删除C编译器标志。

    您的环境中可能包含自定义的C编译器标志(如CFLAGS等)。这些可能包含不兼容的选项,如-ffast-math-march=native,这会阻止在您的机器上构建的二进制轮在其他机器上工作。

    这个包将从构建二进制轮的环境变量中删除这些标志。

  • setuptools_scm尊重用户输入的版本号。

    zest.releaser在标记存储库时询问setuptools要使用哪个版本。它期望收到用户输入的版本,以及它写入磁盘的版本(通常在setup.py中)。

    但是,由于setuptools_scm根据存储库中的最后一个标签覆盖了setup.py中存储的值,所以这不起作用:它只有在已经创建标签的情况下才会起作用!而不是得到正确的标签0.0.2zest.releaser想要创建一个标签如0.0.1.dev11+gbeb8b20

    这个包强制setuptools_scm尊重用户输入的版本,以确保标签正确。

安装和使用

当安装时,这个包会向zest.releaser注册一些入口点,因此只需要执行pip install icrs.releaser,然后调用icrs_release来使用上述提到的插件。

这个包提供了一个recommended额外安装与zest.releaser[recommended]相同的组件。

$ pip install 'icrs.releaser[recommended]'

变更

1.2.0 (2024-01-30)

  • 增加对 Python 3.11 和 3.12 的支持。

  • 取消对 Python 3.8 的支持。最低支持的版本现在是 3.9。

  • 依赖更新的 zest.releaser >= 9.1.1

  • 移除对 setuptools 的依赖;现在使用所谓的“原生”命名空间包。

  • 添加一个新的发布检查,禁止存在开发依赖项(例如,“icrs.releaser >= 3.0.dev0”将被禁止)。这仅适用于在 setup.py 中列出依赖项的 setuptools 项目。

1.1.0 (2022-03-03)

  • 修复处理项目名称是命名空间(icrs.releaser),但磁盘上的源目录不包含命名空间(src/releaser)的情况。这是一个遗留情况,支持正在过渡到标准布局的项目。

1.0.1 (2022-02-25)

  • 添加名为“recommended”的额外内容,用于安装与 zest.releaser[recommended] 做同样的事情。

1.0.0 (2022-02-25)

  • PyPI 初次发布。

项目详情


下载文件

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

源分发

icrs.releaser-1.2.0.tar.gz (25.3 kB 查看哈希)

上传时间

构建分发

icrs.releaser-1.2.0-py3-none-any.whl (20.8 kB 查看哈希)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面