What I Learn Today

Start Date : 2022/02/07 ~

창고/Meta PEPs (about PEPs or Processes)

[PEP 1 #1] PEP 1 - PEP 목적 및 가이드라인

HannaDev 2022. 3. 12. 01:04
📬 PEP 가 무엇인지. PEP 의 목적과 가이드라인에 대한 설명입니다.

 

<PEP 1 시리즈> Index

  1. PEP 1 - PEP 목적 및 가이드라인

<목차>

  1. Introduction
  2. PEP Audience
  3. 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가지)

  1. 표준 트랙 PEP (Standards Track)
    • Python 의 새로운 기능 또는 구현을 설명한다.
    • 후속 PEP 가 미래 버전에서 표준 라이브러리 지원을 추가하기 전에 현재 Python 버전에 대한 표준 라이브러리 외부에서 지원될 상호 운용성 표준을 설명할 수도 있다.
  2. 정보용 PEP (Informational)
    • Python 디자인 문제를 설명하거나 Python 커뮤니티에 일반 지침 또는 정보를 제공하지만 새로운 기능을 제안하지는 않는다.
    • 정보용 PEP 가 반드시 Python 커뮤니티 합의 또는 권장 사항을 나타내는 것은 아니므로 사용자와 구현자는 자유롭게 정보용 PEP 를 무시하거나 조언을 따를 수 있다.
  3. 프로세스 PEP (Process)
    • Python 을 둘러싼 프로세스를 설명하거나 프로세스의 변경 (또는 이벤트)를 제안한다.
    • 프로세스 PEP 는 표준 트랙 PEP 와 비슷하지만 Python 언어 자체 이외의 영역에 적용된다.
    • 그들은 구현을 제안할 수 있지만 Python 의 코드베이스에는 제안하지 않는다.
    • 종종 커뮤니티 합의가 필요하다.
    • 정보용 PEP 와 달리 권장 사항 이상이며 사용자는 일반적으로 이를 무시할 수 없다.
      • [ex] 절차, 지침, 의사 결정 프로세스의 변경 사항, Python 개발에 사용되는 도구 또는 환경의 변경 사항 포함. 모든 메타 PEP 도 프로세스 PEP 로 간주한다.

대표 이미지용