TL;DR
Python Enhancement Proposal の略。Python コミュニティに情報を提供する設計文書で、Python の新機能や、そのプロセスや環境について記述する。
なぜ必要か
大きな新機能を提案し、コミュニティから意見を集め、Python の設計判断を記録するための主な手段である。PEP の著者は合意を形成し、反対意見も記録する責任を持つ。
仕組み
PEP には 3 つの種類がある。
- Standards Track: Python の新機能や実装を記述する
- Informational: 設計上の課題やガイドライン、情報を提供するが、新機能は提案しない。コミュニティの合意を表すとは限らない
- Process: Python を取り巻くプロセスや手順、意思決定の方法の変更などを記述する。Informational と違い、基本的に従うことが求められる
各 PEP には Rejected Ideas の節を設ける。議論の中で出たが採用されなかった案を、採用しなかった理由とともに記録する。
関連
- 意思決定のプロセスを残す: Rejected Ideas はその一種である