<aside>

</aside>

챕터 소개 🚀

지난 시간에 pyproject.toml 파일이 Poetry 프로젝트의 '설계도'와 같다고 말씀드렸죠? 이번 시간에는 그 설계도를 직접 펼쳐보고, 각 항목이 어떤 의미를 가지는지 샅샅이 파헤쳐 볼 거예요. 이 파일 하나만 제대로 이해해도 Poetry의 절반을 마스터하는 것과 같답니다! 💪


챕터 목표 🎯


이번 챕터에서 사용되는 전체 코드 및 프로젝트 구조 📂

이번 챕터에서는 딱 하나의 파일, pyproject.toml만 직접 만들어 볼 거예요. 아직 프로젝트 폴더 구조는 필요 없답니다. 의존성만 설치하는 실습을 위해 패키지 모드를 끄는 한 줄을 함께 넣어둘게요.

pyproject.toml

# 1. 빌드 시스템 명시 (필수!)
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

# 2. PEP 621 표준 프로젝트 메타데이터
[project]
name = "my-first-toml"
version = "0.1.0"
description = "A project to understand pyproject.toml"
authors = [
    { name = "Your Name", email = "[email protected]" },
]
requires-python = ">=3.8"
dependencies = [
    "requests>=2.0.0",
]

# 3. Poetry만의 확장 기능 및 설정
[tool.poetry]
package-mode = false

[tool.poetry.group.dev.dependencies]
pytest = "^8.0"


강의 내용 📖

pyproject.toml, 세 부분으로 나눠보자!

pyproject.toml 파일은 크게 3개의 중요한 섹션으로 나눌 수 있어요. 바로 [build-system], [project], 그리고 [tool.*] 입니다.

1. [build-system] : "이 프로젝트는 누가 만드나요?"

이 프로젝트를 빌드 패키징하려면 어떤 도구가 필요한지 알려주는, 가장 기본적이고 필수적인 섹션입니다.