PEP 440 : Python 패키지의 버전 관리 표준

    

 **PEP 440**은 Python 패키지의 **버전 관리 표준**을 정의하여, 패키지 버전을 일관성 있게 관리할 수 있도록 돕습니다. PyPI나 `pip` 등 Python 생태계에서 버전을 자동으로 인식하고 처리할 수 있게 하는 기준이기 때문에, **패키지를 배포할 때 PEP 440을 따르면 호환성과 유지보수 측면에서 좋습니다.**


### PEP 440의 주요 규칙 요약


1. **기본 형식**: `X.Y.Z` 형식(예: `1.0.0`)

   - **`X`**: Major (주 버전) - 큰 변화나 호환성 깨짐이 발생할 때.

   - **`Y`**: Minor (부 버전) - 기능 추가와 같이 호환되는 변경이 있을 때.

   - **`Z`**: Patch (수정 버전) - 작은 수정이나 버그 수정을 할 때.


2. **사전 릴리스 버전**: 알파, 베타, 릴리스 후보 등

   - **알파**: `X.YaN` (예: `1.0a1`)

   - **베타**: `X.YbN` (예: `1.0b1`)

   - **릴리스 후보**: `X.YrcN` (예: `1.0rc1`)

   - 숫자 `N`은 해당 단계에서 몇 번째 사전 릴리스인지 표시합니다.


3. **포스트 릴리스**: `X.Y.postN` 형식

   - 배포 후 문서 업데이트 같은 추가 변경을 포함할 때 사용합니다.


4. **개발 릴리스**: `X.Y.devN` 형식

   - 아직 정식 릴리스 전인 개발 버전을 나타내며, 개발 단계에서 사용합니다.


5. **로컬 버전 식별자**: `+`를 사용해 로컬 환경에서만 사용하는 버전 표시 가능

   - 예: `1.0.0+local.1`


### 버전 예시

- **1.0.0**: 기본 릴리스

- **1.1.0a1**: 1.1의 첫 알파 버전

- **2.0.0rc1**: 2.0의 첫 번째 릴리스 후보

- **1.2.0.post1**: 1.2 릴리스 후 추가 변경

- **1.0.0.dev1**: 1.0의 첫 개발 버전


**요약**: PEP 440은 Python 패키지 버전 번호에 대한 표준 규칙을 정의하여 일관성과 호환성을 유지할 수 있도록 합니다. `X.Y.Z` 형식을 기본으로 사전/후속/개발 릴리스 등을 명확하게 구분할 수 있습니다.

댓글

이 블로그의 인기 게시물

js 스트링에서 요소 갯수 세기

STUDY

javascript cheatsheet