[FastAPI] FastAPI 특장, 설치 방법

2024. 1. 14. 23:12·Minding's Programming/FastAPI
728x90
반응형

Python을 기반으로 하는 웹 프레임워크 중 최근(이라고 하기도 좀 뭐하지만)에 각광받고 있는 FastAPI를 한번 배워보려고 한다. 본격적으로 나만의 '무언가'를 만들어 보려고 하는데, 가장 일반적이고 내가 원하는 바를 표현해낼 수 있는 것이 웹이라고 생각되었다. html과 css 등의 프론트엔드는 그나마 찍먹 정도는 해봤기 때문에 백엔드 포지션이라고 할 수 있는 웹 프레임워크부터 배워보기로 했다.

 

FastAPI의 특징은?

이름에서부터 알 수 있듯이 FastAPI는 API를 만드는데 특화된 웹 프레임워크이며, 빠른 속도를 자랑한다. 이는 Python의 async와 await을 이용해 비동기 프로그래밍을 지원해 동시성을 높일 수 있었기 때문이다. Python 3.8 기준의 API를 빌드를 목적으로 하고 있으며, 간결한 코드와 함께 비교적 적은 버그 발생률을 나타낸다.

또한 작성한 API 코드에 대해 문서 및 테스트 도구를 제공하는데, 자동으로 API 엔드포인트와 파라미터에 대한 샘플을 생성해준다고 한다. 이전에는 Swagger라는 이름을 사용했는데, 현재는 OpenAPI로 이름이 바뀌었다고 한다.

 

FastAPI 설치

pip install fastapi
pip install "uvicorn[standard]"

pip 명령어를 통해 설치할 수 있다. 아래에 있는 uvicorn은 ASGI(Asynchronous Server Gateway Interface, 비동기 처리와 동시 처리를 지원하는 파이썬 웹 서버와 웹 프레임워크 간 인터페이스)기능이 있는 웹 서버로, 함께 설치해준다.

 

"Hello, World" 노출시켜보기

다음과 같은 코드를 가진 main.py 파일을 만든다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
    return {"Hello":"World!"}

 

그 다음 uvicorn 서버를 통해 main.py 파일을 실행시켜준다.

uvicorn main:app --reload

 

이후 인터넷 브라우저를 통해 '127.0.0.1:8000' 주소를 치고 검색하면 아래와 같은 결과가 나타난다. 간단히 FastAPI 테스트까지 해보았다.

 

728x90

'Minding's Programming > FastAPI' 카테고리의 다른 글

[FastAPI/AWS/Uvicorn] AWS에 프로젝트 배포하기  (0) 2024.06.20
[FastAPI] 파이썬 멀티 프로세싱  (0) 2024.04.03
[FastAPI] 파이썬 멀티 스레딩 사용해보기  (0) 2024.04.01
[FastAPI] 동시성과 병렬성 개념 정리  (0) 2024.03.31
[FastAPI] 동기와 비동기, 코루틴 개념 정리  (0) 2024.03.03
'Minding's Programming/FastAPI' 카테고리의 다른 글
  • [FastAPI] 파이썬 멀티 프로세싱
  • [FastAPI] 파이썬 멀티 스레딩 사용해보기
  • [FastAPI] 동시성과 병렬성 개념 정리
  • [FastAPI] 동기와 비동기, 코루틴 개념 정리
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Airflow
    질롱코리아
    넘파이
    파이썬게임개발
    메이저리그
    에어플로우
    칼만필터
    프로그래머스
    mlb stats api
    칼만필터는어렵지않아파이썬
    KalmanFilter
    KBO
    파이게임
    django python
    데이터 엔지니어
    Python
    데이터분석
    게임개발
    MLB
    django
    FastAPI
    칼만필터는어렵지않아
    파이썬
    칼만필터는어렵지않아python
    코딩테스트
    pygame
    머신러닝
    딥러닝
    AWS
    야구
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[FastAPI] FastAPI 특장, 설치 방법
상단으로

티스토리툴바