PEP (Python Enhancement Proposal)

파이썬 언어의 새로운 기능, 라이브러리 개선, 스타일 가이드 등에 관한 제안을 문서화한 것.
PEP는 파이썬 커뮤니티가 파이썬 언어를 개선하기 위해 아이디어를 공유하고 논의하는 공식적인 수단으로, Python Software Foundation(PSF)에 의해 관리된다.

PEP Types

해당 PEP의 목적과 성격을 나타낸다.

약어유형설명예시 PEP 번호 및 제목
IInformational파이썬 생태계와 관련된 배경, 가이드라인 또는 기타 정보를 제공하는 비규범적(non-normative) PEP입니다.PEP 20 - The Zen of Python
PProcess파이썬 커뮤니티의 프로세스, 워크플로우 또는 거버넌스에 대한 변경을 설명하거나 제안하는 규범적(normative) PEP입니다.PEP 1 - PEP Purpose and Guidelines
SStandards Track파이썬에 새로운 기능을 추가하거나, CPython의 구현 변경 또는 생태계의 상호운용 표준을 제안하는 규범적 PEP입니다.PEP 484 - Type Hints

PEP Status

약어상태설명
AAccepted구현을 위해 수락된 규범적 제안입니다.
AActive현재 유효한 정보 제공 지침이거나 사용 중인 프로세스입니다.
DDeferred현재는 비활성 상태이지만, 추후 다시 논의될 수 있는 초안입니다.
Draft현재 활발히 논의 및 수정 중인 제안입니다.
FFinal수락되어 구현이 완료되었거나 더 이상 활성 상태가 아닌 제안입니다.
PProvisional잠정적으로 수락되었지만 추가적인 피드백이 필요한 상태입니다.
RRejected공식적으로 거부되어 수락되지 않을 제안입니다.
SSuperseded다른 후속 PEP에 의해 대체된 제안입니다.
WWithdrawn제안자나 저자에 의해 고려 대상에서 제외된 제안입니다.

주요 PEP 종류

PEP제목유형상태주요 내용적용 버전
8Style Guide for Python CodeStyle GuideActivePython 코드 스타일 가이드모든 버전
20The Zen of PythonInformationalActivePython 설계 철학2.0+
257Docstring ConventionsInformationalActive문서화 문자열 규칙모든 버전
405Python Virtual EnvironmentsStandards TrackFinal가상 환경 생성 및 관리3.3+
443Single-dispatch Generic FunctionsStandards TrackFinal인자 타입별 함수 오버로딩3.4+
484Type HintsStandards TrackFinal타입 힌트 문법3.5+
3000Python 3000InformationalFinalPython 3.0 개발 가이드라인3.0
3101Advanced String FormattingStandards TrackFinal새로운 문자열 포매팅2.6, 3.0+
3333Python Web Server Gateway Interface v1.0.1InformationalFinal웹 서버와 애플리케이션 간 인터페이스3.2+
492Coroutines with Async and Await SyntaxStandards TrackFinalasync/await 구문3.5+
498Literal String InterpolationStandards TrackFinalf-문자열3.6+
557Data ClassesStandards TrackFinal@dataclass 데코레이터3.7+
572Assignment ExpressionsStandards TrackFinal할당 표현식 (:=)3.8+
649Deferred Evaluation Of Annotations Using DescriptorsStandards TrackAccepted주석의 지연 평가3.10+
695Type Parameter SyntaxStandards TrackAccepted제네릭 문법 개선3.12 (예정)
701Syntactic Formalization of F-stringsStandards TrackAcceptedf-문자열 문법 개선3.12 (예정)
702Marking Deprecations Using the Type SystemStandards TrackAccepteddeprecation 마킹3.13 (예정)
703Making the Global Interpreter Lock Optional in CPythonStandards TrackAccepted선택적 GIL3.13 (예정)
749Implementing PEP 649Standards TrackDraftPEP 649 구현 보완3.14 (예정)
750Tag StringsStandards TrackDraft태그 문자열3.14 (예정)

참고 및 출처