📬 PEP 가 무엇인지. PEP 의 목적과 가이드라인에 대한 설명입니다.
<PEP 1 시리즈> Index
- PEP 1 - PEP 목적 및 가이드라인
<목차>
- Introduction
- PEP Audience
- PEP Types
▶︎ Introduction
- PEP 는 Python Enhancement Proposal 의 약자이다.
- PEP 는 Python 커뮤니티에 정보를 제공하거나 Python 또는 Python 프로세스, 환경에 대한 새로운 기능을 설명하는 디자인 문서이다.
- PEP 는 기능에 대한 간결한 기술 사양과 기능에 대한 근거를 제공해야 한다.
- 우리는 PEP 가 주요 새 기능을 제안하고, 문제에 대한 커뮤니티 의견을 수집하고, Python 에 적용된 설계 결정을 문서화하기 위한 기본 메커니즘이 되기를 바란다.
- PEP 작성자는 커뮤니티 내에서 합의를 구축하고 반대 의견을 문서화할 책임이 있다.
- PEP 는 버전이 지정된 레포지토리에서 텍스트 파일로 유지 관리되기 때문에 개정 기록은 기능 제안의 역사적 기록이다.
▶︎ PEP Audience
- PEP 의 일반적인 주요 청중은 CPython 참조 인터프리터의 핵심 개발자와 선출된 운영 위원회, Python 언어 사양의 다른 구현 개발자이다.
- 그러나 Python 커뮤니티의 다른 부분에서는 예상되는 API 규칙을 문서화하고 여러 프로젝트에서 협업이 필요한 복잡한 디자인 조정 문제를 관리하기 위해 프로세스 (특히 정보용 PEP 의 경우) 를 사용할 수도 있다.
▶︎ PEP Types (3가지)
- 표준 트랙 PEP (Standards Track)
- Python 의 새로운 기능 또는 구현을 설명한다.
- 후속 PEP 가 미래 버전에서 표준 라이브러리 지원을 추가하기 전에 현재 Python 버전에 대한 표준 라이브러리 외부에서 지원될 상호 운용성 표준을 설명할 수도 있다.
- 정보용 PEP (Informational)
- Python 디자인 문제를 설명하거나 Python 커뮤니티에 일반 지침 또는 정보를 제공하지만 새로운 기능을 제안하지는 않는다.
- 정보용 PEP 가 반드시 Python 커뮤니티 합의 또는 권장 사항을 나타내는 것은 아니므로 사용자와 구현자는 자유롭게 정보용 PEP 를 무시하거나 조언을 따를 수 있다.
- 프로세스 PEP (Process)
- Python 을 둘러싼 프로세스를 설명하거나 프로세스의 변경 (또는 이벤트)를 제안한다.
- 프로세스 PEP 는 표준 트랙 PEP 와 비슷하지만 Python 언어 자체 이외의 영역에 적용된다.
- 그들은 구현을 제안할 수 있지만 Python 의 코드베이스에는 제안하지 않는다.
- 종종 커뮤니티 합의가 필요하다.
- 정보용 PEP 와 달리 권장 사항 이상이며 사용자는 일반적으로 이를 무시할 수 없다.
- [ex] 절차, 지침, 의사 결정 프로세스의 변경 사항, Python 개발에 사용되는 도구 또는 환경의 변경 사항 포함. 모든 메타 PEP 도 프로세스 PEP 로 간주한다.

'창고 > Meta PEPs (about PEPs or Processes)' 카테고리의 다른 글
[PEP 1 #0] PEP 1 - Index (0) | 2022.03.12 |
---|---|
[PEP 8 #4] PEP 8 - 프로그래밍 권장사항 (0) | 2022.03.12 |
[PEP 8 #3] PEP 8 - 네이밍 작성 규칙 (0) | 2022.03.12 |
[PEP 8 #2] PEP 8 - Code Lay-out (0) | 2022.03.11 |
[PEP 8 #1] PEP 8 - Python 코드에 대한 스타일 가이드라인 (0) | 2022.03.11 |