用途:把粗略想法整理为可供提交到 python/peps 仓库的、格式规范且流程合规的 PEP 草稿。适用于用户要求撰写或结构化 PEP、想正式提出 Python 语言或标准库特性、把 Python Discourse 上的讨论转成草稿、需要模板/头字段/章节结构说明,或修订已有 PEP(改状态、加 Resolution、回应评审)。不适合公司内部 RFC 或设计文档(应使用 dev-rfc)。
主要能力:内置两个脚本处理确定性部分——scripts/new-pep.sh 按模板生成合法 pep-NNNN.rst,填写头字段、设置 Status: Draft 与 Created 日期,并强制 44 字符标题上限;scripts/check-pep.sh 按 PEP 1 / PEP 12 规则校验必需头字段、标题长度、Status/Type 取值、日期格式、CC0 版权声明与 Abstract 章节,输出 PASS/WARN/FAIL。另有 references/ 下的 workflow.md、pep-types.md、header-fields.md、status-lifecycle.md、sections.md 供判断性决策参考。
使用方式:先到 Python Discourse 的 Ideas 分类(或 Typing/Packaging)验证想法原创性与社区适用范围;再选 PEP 类型(Standards Track、Informational、Process 三种);用 scripts/new-pep.sh --title "..." --author "..." --type "..." --python-version 3.15 生成文件(Python-Version 仅 Standards Track 用),无参数运行可看完整用法;按 PEP 12 顺序撰写正文;用 scripts/check-pep.sh pep-9999.rst 自检并修复 FAIL;提交时若无共同作者是 CPython 核心开发者,需先找 sponsor,再 fork python/peps、添加文件、在 .github/CODEOWNERS 登记作者/赞助者并发 PR;评审与裁决由 Steering Council 或指定 PEP-Delegate 做出,决定后更新 Status 并添加 Resolution 头。
限制:脚本需要 Bash 与 coreutils(awk、sed、grep、date);起草与校验无需 Python 运行时,仅在提交阶段需要仓库克隆或 fork。PEP 编号由 PEP 编辑分配,模板中为占位 9999。常见错误包括跳过 Discourse 验证、类型选错、遗漏强制 CC0 版权声明、标题超过 44 字符。具体模板内容与各参考文件细节暂未提供。