<aside>

</aside>


챕터 소개 🚀

매번 poetry run uvicorn todo_api.main:app --reloadpoetry run pytest 처럼 긴 명령어를 입력하는 거, 조금 귀찮지 않으셨나요? 😅 오늘은 이런 반복적인 작업들을 poe serve, poe test 처럼 짧고 기억하기 쉬운 '별명'으로 만들어주는 '태스크 러너(Task Runner)'를 도입해 볼 거예요. 그중에서도 Poetry와 찰떡궁합을 자랑하는 Poe the Poet을 만나보겠습니다!


챕터 목표 🎯


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

이번 챕터에서는 코드 변경은 없고, pyproject.toml 파일에 Poe the Poet을 위한 설정이 추가됩니다.

pyproject.toml (추가/변경되는 부분 — PEP 621 형식)

# ... [project] 섹션 등은 생략 ...

[dependency-groups]
dev = [
  "pytest >=8.2,<9",
  "httpx >=0.27,<0.29",
  "pytest-asyncio >=0.23,<0.24",
  "poethepoet >=0.35,<0.36"  # <-- poe the poet 추가!
]

# Poe the Poet를 위한 태스크 정의 섹션
[tool.poe.tasks]
serve = "fastapi dev src/todo_api/main.py"
test = "pytest -q"

💡 -q 옵션은 뭐죠?: pytest -q는 테스트 실행 시 나오는 불필요한 정보(버전, 플러그인 등)를 줄이고 결과만 깔끔하게 보여주는 'quiet' 모드 옵션입니다.


강의 내용 📖

태스크 러너, 왜 쓰는 걸까요? 🤔

태스크 러너는 프로젝트에서 자주 사용하는 여러 명령어들을 간단한 이름(태스크)으로 정의하고 실행할 수 있게 해주는 도구입니다.