kontakt
Software house
>
Tag
>
FastAPI - framework do tworzenia REST API w Pythonie
FastAPI

FastAPI - framework do tworzenia REST API w Pythonie

Data wpisu
Tomasz Kozon
Autor
Tomasz Kozon

Framework FastAPI stał się bardzo popularny w ostatnich latach ze względu na swoją szybkość porównywalną do API pisanych w Go czy NodeJS. Najczęściej uruchamiany jest na asynchronicznych serwerach typu Starlette czy Pydantic.

API budowanie za pomocą FastAPI pisze się szybko ze względu na zwięzły kod, minimalną jego duplikację, a także dobrą dokumentację. FastAPI jest w pełni kompatybilne ze standardem OpenAPI.

Zbudowanie prostego API ogranicza się do 9 linijek kodu.

from typing import Optional


from fastapi import FastAPI

app = FastAPI()


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


@app.get("/items/{item_id}")
async def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}

FastAPI posiada wbudowany moduł dokumentacji

FastAPI posiada wbudowany moduł generujący automatycznie dokumentację zarówno w formacie Swagger jak i ReDoc. Dokonując zmian w modelach danych z wykorzystaniem BaseModel z Pydantic dostajemy zaktualizowaną i opisaną dokumentację pod urlem: http://127.0.0.1:8000/docs.

FastAPI - szybkość, bezpieczeństwo i duża społeczność

Wykorzystując takie moduły jak oauth2, http, PyJWT możemy uzyskać zabezpieczenia aplikacji takie jak OAuth2, czy też zabezpieczenie tokenem JWT. Dodatkowo wykorzystując odpowiednie middleware'y możemy narzucić inne standardy bezpieczeństwa, należą do nich chociażby CORS (Cross Origin Resource Sharing).

Popularność rozwiązań open-source mierzy się za pomocą liczby osób współtworzących daną aplikację. W przypadku FastAPI jest to 284 aktywnych kontrybutorów, a także 50 tysięcy osób aktywnie śledzących zmiany w frameworku. Dla porównania niegdyś najbardziej popularny Django posiada społeczność 61 tysięcy osób aktywnie śledzących zmiany, a także 2156 osób aktywnie kontrybuujących do zmian we frameworku.

FAST API Ranking Frameworków Backendowych


Dodatkowo w niezależnych testach przeprowadzanych przez https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite&l=dbf0n3-7b&a=2&f=zik0zj-qmx0qn-zhwum7-zik0zi-z8kflr-yyku7z-zik0zj-zijunz-zik0zj-zik0zj-zik0zj-1kv uzyskuje jedno z najwyższych miejsc wśród framework'ów wokół których oparty jest rozbudowany ekosystem rozwiązań. Są szybsze rozwiązania, ale na pewno nie z taką społecznością programistów i dostępnych pluginów i wtyczek.

Praca: #fastapi
0 brak aktywnych ofert pracy
Wszystkie oferty
Case study: #fastapi
0 Aktualnie brak case study
Zobacz wszystkie