独立开源或内部包要上正式 PyPI 时,常见麻烦是:把长期 API token 塞进 Actions secrets,轮换痛苦,泄漏面也大。
PyPI User Documentation《Trusted Publishing · Getting Started》说明:Trusted Publishing 指用 OpenID Connect(OIDC)在受信任的第三方服务与 PyPI 之间交换短时身份令牌,用于自动化环境,从而不必再用手工生成的长期 API token 鉴权上传。文档 TL;DR:部分 CI(如 GitHub Actions)可作为 OIDC 身份提供方签发可强校验来源的短时令牌;PyPI 项目可配置信任某一 CI 上的特定配置,使其成为该项目的 OIDC publisher;发布自动化向 PyPI 提交 OIDC 令牌,匹配成功后 PyPI 为对应项目签发短时 API token 再返回。快速入口包括:给已有项目添加 Trusted Publisher、用 Trusted Publisher 创建项目,以及实际发布步骤。配套《Adding a Trusted Publisher to an Existing PyPI Project》写明:在 Your projects 管理页进入 Publishing,按平台填写信任信息;GitHub Actions 必须提供仓库 owner 名、仓库名、授权上传的 workflow 文件名,并可选用 GitHub Actions environment——可选但强烈建议,以便对可信工作流再加人工审批等限制。本场景据此输出正式发布信任配置简报。禁止声称「已绑定成功」或代存任何 token。