정말 기초적인 FastAPI 튜토리얼 #0 - 환경 설정

FastAPI 튜토리얼을 진행할 때 필요한 환경을 구성합니다. poetry를 활용하여 의존성을 설치하고 FastAPI의 기본 구성 요소를 살펴봅니다.

정말 기초적인 FastAPI 튜토리얼 #0 - 환경 설정
Image by Gerd Altmann from Pixabay
💡
2023 한국 파이콘에서 진행했던 FastAPI 튜토리얼에 내용을 추가하여 글 형식으로 정리해보았습니다.
이 튜토리얼은 파이썬을 조금 다뤄보신 분들이 FastAPI를 기초부터 배울 수 있게 구성했습니다.

0편에서는 다음 내용을 다룹니다.

• 튜토리얼 환경 설정하기
• FastAPI의 구성 요소

튜토리얼 환경 설정하기

파이썬 + Poetry

먼저 튜토리얼 진행에 필요한 환경을 설정합니다. (pyenv를 사용하여 다양한 파이썬 버전을 관리하면 좋습니다.) 여기서는 파이썬 버전을 관리하는 방법은 설명하지 않습니다.

파이썬 버전 확인하기

파이썬 버전이 3.11 이상인지 확인합니다.

$ python --version
Python 3.11.0

Poetry 설치하기

이제 (가상환경이 아닌 상태에서) Poetry를 설치합니다. 버전에 따라 명령어가 다소 달라질 수 있으므로 1.5.1 이상을 설치했는지 확인해주세요.

$ pip install poetry
$ poetry --version
Poetry (version 1.5.1)

Poetry에 대해 더 알고 싶다면 파이썬을 처음 사용하는 동료와 효율적으로 일하는 방법이라는 글을 참고하셔도 좋습니다.

파이썬을 처음 사용하는 동료와 효율적으로 일하는 방법
자동화된 방식으로 빠르게 비즈니스 로직에 집중하기

이제 튜토리얼에 필요한 기본 파일을 설정해 둔 Git 저장소를 복제합니다.

$ git clone https://github.com/raccoonyy/fastapi-tutorial-at-pycon.git
$ cd fastapi-tutorial-at-pycon

마지막으로 파이썬 의존성을 설치하면 모든 준비가 끝납니다.

$ poetry install --no-root
...
Installing dependencies from lock file
...

FastAPI의 구성 요소

FastAPI = Pydantic + Starlette + Uvicorn

환경 구성이 끝났다면 잠시 FastAPI에 대해 살펴봅시다. FastAPI는 웹 API 개발에 필요한 최소한의 구성요소들을 모아둔 웹 프레임워크입니다.

  • 비동기 웹 서버: Uvicorn
  • 비동기 웹 서버 프레임워크: Starlette
  • 데이터 검증: Pydantic
FastAPI의 주요 구성요소

Uvicorn이 요청을 받으면 Starlette이 어떤 함수를 실행할지 결정하고, 해당 함수에 정의되어 있는 Pydantic 스키마로 데이터를 검증하는 흐름입니다.

Starlette이나 Pydantic을 이미 알고 있다면 더 좋겠지만, 모른다 해도 이 튜토리얼을 따라하는 데는 아무 문제가 없습니다. 겁먹지 말고 도전해보세요.

요약

  • 튜토리얼 진행을 위한 환경을 설정하였습니다.
  • FastAPI의 구성 요소를 알아보았습니다.‌‌‌‌‌‌‌‌

다음 편에서는...

정말 기초적인 FastAPI 튜토리얼 #1 - 쿼리 파라미터에서는 FastAPI로 첫 API를 만들어 보고, 쿼리 파라미터를 받아서 처리하는 방법을 알아보겠습니다.

COMMENTS

}