버전 번호와 변경 이력

Python 패키지 개발하기

James Fulton

Climate informatics researcher

최종 파일

  • CONTRIBUTING.md
  • HISTORY.md
mysklearn/
|-- mysklearn/
|   |-- __init__.py
|   `-- mysklearn.py
|-- tests/
|   |-- __init__.py
|   `-- test_mysklearn.py
|-- MANIFEST.in
|-- README.md
|-- requirements_dev.txt
|-- setup.cfg
|-- setup.py
|-- tox.ini
|-- AUTHORS.md
|-- CONTRIBUTING.md  <-- 새 파일
|-- HISTORY.md       <--
`-- Makefile
Python 패키지 개발하기

CONTRIBUTING.md

  • 마크다운 또는 reStructuredText 사용 가능
  • 다른 개발자가 패키지에 기여하도록 안내
  • 시작 방법을 설명
Python 패키지 개발하기

HISTORY.md

예: NumPy 릴리스 노트

  • history, changelog, release notes로도 불림
  • 버전 간 변경 내용을 사용자에게 안내
Python 패키지 개발하기

HISTORY.md

  • 출시된 각 버전별 섹션
  • 주요 변경 사항을 불릿으로 정리
  • 하위 섹션 구성
# History

## 0.3.0 ## 0.2.1 ## 0.2.0
Python 패키지 개발하기

HISTORY.md

  • 출시된 각 버전별 섹션
  • 주요 변경 사항을 불릿으로 정리
  • 하위 섹션
    • 기존 함수 개선 사항
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1



## 0.2.0











Python 패키지 개발하기

HISTORY.md

  • 출시된 각 버전별 섹션
  • 주요 변경 사항을 불릿으로 정리
  • 하위 섹션
    • 기존 함수 개선 사항
    • 신규 추가 내용
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1



## 0.2.0
### Added
- Multiple linear regression now available in new 
  `regression.multiple_regression` module.








Python 패키지 개발하기

HISTORY.md

  • 출시된 각 버전별 섹션
  • 주요 변경 사항을 불릿으로 정리
  • 하위 섹션
    • 기존 함수 개선 사항
    • 신규 추가 내용
    • 버그 수정 사항
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1
### Fixed
- Fixed bug causing intercepts of zero.

## 0.2.0
### Added
- Multiple linear regression now available in new 
  `regression.multiple_regression` module.








Python 패키지 개발하기

HISTORY.md

  • 출시된 각 버전별 섹션
  • 주요 변경 사항을 불릿으로 정리
  • 하위 섹션
    • 기존 함수 개선 사항
    • 신규 추가 내용
    • 버그 수정 사항
    • 사용 중단(Deprecated) 항목
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.
### Deprecated
- Support for Python 3.5 has ended.
- `regression.regression` module has been removed.

## 0.2.1
### Fixed
- Fixed bug causing intercepts of zero.

## 0.2.0
### Added
- Multiple linear regression now available in new 
  `regression.multiple_regression` module.
### Deprecated
- 0.2.x will be the last version that supports Python 3.5.
- `regression.regression` module has been renamed 
  `regression.single_regression`. `regression.regression` will be 
  removed in next minor release.


Python 패키지 개발하기

History

0.3.0

Changed
  • Regression fitting sped up using NumPy operations.
Deprecated
  • Support for Python 3.5 has ended.
  • regression.regression module has been removed.

0.2.1

Fixed
  • Fixed bug causing intercepts of zero.

0.2.0

Added
  • Multiple linear regression now available in new regression.multiple_regression module.
Deprecated
  • 0.2.x will be the last version that supports Python 3.5.
  • regression.regression module has been renamed regression.single_regression. regression.regression will be removed in next minor release.
Python 패키지 개발하기

버전 번호

  • 새 릴리스 준비 시 버전 번호를 올립니다
  • 변경하지 않으면 PyPI에 업로드할 수 없습니다
mysklearn/
|-- mysklearn/
|   |-- __init__.py         <---
|   `-- mysklearn.py
|-- setup.py                <---
...
Python 패키지 개발하기

패키지 버전 번호

setup.py

# Import required functions
from setuptools import setup, find_packages

# Call setup function
setup(
    ...
    version='0.1.0',  <---
    ...

)

상위 __init__.py

"""
Linear regression for Python
============================

mysklearn is a complete package for implmenting
linear regression in python. 
"""

__version__ = '0.1.0'  <---
print(mysklearn.__version__)
0.1.0
Python 패키지 개발하기

bumpversion

  • 패키지 버전 번호를 일괄 업데이트하는 편리한 도구
bumpversion major
bumpversion minor
bumpversion patch
mysklearn/    <--   여기로 이동
|-- mysklearn/
|   |-- __init__.py
|   `-- mysklearn.py
|-- setup.py
...
Python 패키지 개발하기

Passons à la pratique !

Python 패키지 개발하기

Preparing Video For Download...