Dlaczego FastAPI?

Wprowadzenie do FastAPI

Matt Eckerle

Software and Data Engineering Leader

Czym jest FastAPI?

Podstawowe pojęcia

  1. API: Application Programming Interface – aplikacje webowe używające protokołu HTTP do przesyłania ustrukturyzowanych danych
  2. Aplikacja webowa: aplikacja udostępniająca zasoby przez internet
  3. Framework webowy: oprogramowanie wspomagające budowę aplikacji webowych

FastAPI to szybki sposób na budowanie wydajnych API w Pythonie

Wprowadzenie do FastAPI

Kluczowe cechy FastAPI

  • Szybki: Bardzo wysoka wydajność
  • „Low code" i łatwy do nauki: Adnotacje i podpowiedzi typów w Pythonie
  • Niezawodny: Kod gotowy do produkcji z automatyczną dokumentacją
  • Zgodny ze standardami: Oparty na OpenAPI i JSON Schema

Logo FastAPI

Logo OpenAPI

Logo JSON

1 https://fastapi.tiangolo.com/
Wprowadzenie do FastAPI

FastAPI a inne frameworki webowe Python

Flask

  • Budowanie aplikacji webowych (GUI)
  • ORM opcjonalne

FastAPI

  • Budowanie API
  • ORM opcjonalne

Django

  • Budowanie aplikacji webowych (GUI)
  • ORM wbudowane

Kluczowe różnice

  • Do API bez operacji na bazie danych
  • Dane i transakcje uczenia maszynowego
Wprowadzenie do FastAPI

Budowanie pierwszej aplikacji webowej z FastAPI

1. Zainstaluj FastAPI

pip install fastapi

2. Utwórz aplikację w main.py

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello World"}

3. Uruchom serwer

fastapi dev main.py

REPL z działającym FastAPI

Wprowadzenie do FastAPI

Przed ćwiczeniami z FastAPI

Ważne uwagi

  1. Nie można uruchomić serwera FastAPI przyciskiem „Uruchom kod"
  2. Kod serwera należy zdefiniować w edytorze Python jako main.py

  3. Uruchomić go z terminala poleceniem fastapi dev main.py

  4. Sprawdzić, czy logi w terminalu pokazują Application startup complete.
  5. Zatrzymać serwer, naciskając Control + C w tym samym terminalu
  6. Warto zainstalować FastAPI we własnym środowisku Python, aby ćwiczyć lokalnie
Wprowadzenie do FastAPI

Czas na ćwiczenia!

Wprowadzenie do FastAPI

Preparing Video For Download...