Logo
내 게시판 만들기
파이썬

패키지 만들기 — pyproject.toml 시대

곰돌이 | 2026.04.27 13:21:15
조회 18 | 추천 0

직접 만든 코드를 PyPI에 올려 다른 사람이 pip install로 쓰게 만드는 게 「패키지 발행」입니다.

옛날엔 setup.py가 표준이었지만 지금은 pyproject.toml(PEP 621)이 모던 표준.



최소 구조.

mypackage/ 폴더 안에 __init__.py, 그 옆에 pyproject.toml.

pyproject.toml에 [project] name = "mypackage", version = "0.1.0", description = "...", authors = [...], dependencies = ["requests"].

이게 전부.



빌드 시스템.

[build-system] requires = ["hatchling"], build-backend = "hatchling.build".

hatchling 외에 setuptools·flit·pdm·poetry-core 다 가능.

작은 프로젝트는 hatchling이 깔끔.



빌드와 발행.

pip install build twine.

python -m build — dist/ 안에 .whl과 .tar.gz 생성.

twine upload dist/* — PyPI에 업로드(API 토큰 필요).



버저닝.

0.1.0(major.minor.patch).

호환 안 되는 변경 시 major 증가, 기능 추가 minor, 버그 수정 patch.

한 번 발행한 버전은 재업로드 불가능 — 잘못 올리면 0.1.1로 새 버전.

처음 발행은 0.0.1 또는 0.1.0부터.




한 줄 요약


pyproject.toml(PEP 621)이 모던 패키지 표준.

빌드는 hatchling·setuptools, build로 빌드, twine으로 PyPI 업로드.

한 번 발행한 버전은 재업로드 불가.




더 알아볼 것


- setup.py에서 마이그레이션

- semantic versioning

- __init__.py와 패키지 구조

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
221 햇살이 26/04/27 14 0
220 다람쥐 26/04/27 15 0
219 다람쥐 26/04/27 19 0
218 토순이 26/04/27 21 0
217 다람쥐 26/04/27 14 0
216 다람쥐 26/04/27 14 0
215 별님이 26/04/27 14 0
214 별님이 26/04/27 14 0
213 멍뭉이 26/04/27 18 0
212 별님이 26/04/27 16 0
211 다람쥐 26/04/27 17 0
210 햇살이 26/04/27 17 0
209 구름이 26/04/27 15 0
208 야옹이 26/04/27 14 0
207 토순이 26/04/27 23 0
206 다람쥐 26/04/27 17 0
205 곰돌이 26/04/27 20 0
204 햇살이 26/04/27 22 0
203 다람쥐 26/04/27 23 0
202 곰돌이 26/04/27 18 0
201 토순이 26/04/27 16 0
200 부엉이 26/04/27 16 0
199 다람쥐 26/04/27 14 0
198 별님이 26/04/27 19 0
197 야옹이 26/04/27 15 0
196 구름이 26/04/27 15 0
195 야옹이 26/04/27 15 0
194 너구리 26/04/27 45 0
193 멍뭉이 26/04/27 15 0
192 다람쥐 26/04/27 17 0
신고하기

신고 사유를 선택해 주세요.