기본 패턴
toml
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = ["requests>=2.32"]설명
pyproject.toml은 현대 Python 프로젝트에서 메타데이터와 build 설정의 중심 파일 역할을 합니다. 예전의 여러 설정 파일이 하던 일을 점점 이쪽으로 모으는 흐름입니다.- 여기에는 프로젝트 이름, 버전, 지원 Python 버전, 의존성, build backend 정보가 들어갈 수 있습니다. 즉 코드를 어떻게 배포 가능한 패키지로 다룰지 정의하는 문서에 가깝습니다.
- 모든 Python 프로젝트가 PyPI 배포를 목표로 하지 않더라도,
pyproject.toml을 이해하면 "이 프로젝트를 어떤 단위로 설치하고 재현할 것인가"를 더 명확하게 볼 수 있습니다. - 패키징의 핵심은 코드를 압축하는 기술이 아니라, 재사용 가능한 단위로 이름과 버전, 의존성, 진입점을 설명하는 것입니다. 그래서 메타데이터 품질이 중요합니다.
- 실무에선 도구 설정까지 이 파일에 함께 모이는 경우가 많기 때문에, Python 프로젝트를 읽을 때
pyproject.toml은 코드만큼 중요한 입구가 됩니다.
빠른 정리
| 항목 | 의미 |
|---|---|
[project] | 프로젝트 메타데이터 |
dependencies | 런타임 의존성 |
requires-python | 지원 Python 버전 |
| 핵심 역할 | 설치, 빌드, 배포 기준 정리 |
주의할 점
pyproject.toml은 단순 설정 저장소가 아니라 프로젝트 계약서에 가깝습니다. 이름, 버전, 의존성을 대충 적어 두면
설치와 배포 단계에서 바로 혼란이 생길 수 있습니다.
참고 링크
2 sources