SuperAPI AI 工具集

python-release

部署与运维

查看项目

更新于 10-16 03:14

技能介绍

用途:把 Python 包从“代码就绪”推进到“新版本发布到 PyPI”,提供可重复、安全的发布流水线,包括版本策略、bump+changelog+tag、OIDC 可信发布,以及带人工审批的标签触发 GitHub Actions 发布工作流。

主要能力:审计仓库发布配置(脚本 scripts/check_release_setup.py);选择静态或动态版本策略;选择人工打标签、release-please 或 python-semantic-release 三种自动化级别;维护 Keep a Changelog 风格变更日志;在 PyPI 注册可信发布者;编写 test→build→publish 三段式工作流;执行发布并验证。

使用方式:命令基于 uv/uvx,例如 uv version --bump minor、uv lock --upgrade-package、uv build、uvx --from twine==7.0.0 twine check --strict dist/*;无 uv 时可用 python3 -m build + twine upload 替代。发布工作流需在 PyPI 配置 owner、仓库名、工作流文件名(如 publish.yml)和环境名 pypi,并保持精确匹配。

适用场景:需要规范发布 Python 包的维护者与团队。

限制:不覆盖打包元数据与构建后端(属 python-packaging)、CI 质量门禁(python-ci)、供应链安全(python-supply-chain)、提交信息钩子(python-precommit)。需注意 uv.lock 失同步、可信发布者字段不匹配、GITHUB_TOKEN 创建的标签不触发工作流、PyPI 拒绝向超过 14 天的发布添加新文件、元数据版本不兼容等失败模式。