Date de sortie : 8 décembre 2018
Documentation officielle : fastapi.tiangolo.com
Créateur : Sebastián Ramírez (@tiangolo)
Un nouveau framework API Python ? Encore un ? Oui, mais celui-ci est différent. FastAPI combine la vitesse d’exécution de Go, la productivité de Flask et la validation de type de TypeScript. Ambitieux ? Voyons ça.
Une approche moderne des APIs Python
FastAPI propose une approche moderne basée sur les standards Python :
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
Les type hints définissent la validation, la sérialisation et la documentation.
Pourquoi FastAPI ?
Performance
Les benchmarks placent FastAPI parmi les frameworks Python les plus rapides — dans la même cour que Node.js et Go. Le secret ? S’appuyer sur les meilleurs :
- Starlette pour la couche ASGI
- Pydantic pour la validation
Documentation automatique
Plus d’excuse pour ne pas documenter votre API. Swagger UI et ReDoc sont générés automatiquement :
# Accessible à /docs (Swagger) et /redoc (ReDoc) # Aucune configuration nécessaire
Validation avec Pydantic
Les modèles Pydantic pour la validation des données :
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_offer: bool = False
@app.post("/items/")
async def create_item(item: Item):
return item
Support async natif
Async/await de première classe :
@app.get("/async-items/")
async def read_items():
results = await some_async_operation()
return results
Injection de dépendances
Système de DI intégré :
from fastapi import Depends
async def get_db():
db = Database()
try:
yield db
finally:
db.close()
@app.get("/users/")
async def read_users(db = Depends(get_db)):
return db.get_users()
Architecture
FastAPI est construit sur :
- Starlette — framework ASGI haute performance
- Pydantic — validation et sérialisation
- OpenAPI — spécification d’API (Swagger)
- JSON Schema — schémas de données
Pourquoi ça compte
FastAPI combine le meilleur de plusieurs mondes :
- La vitesse de Go/Node.js
- La productivité de Python
- La documentation de Swagger
- La validation de type de TypeScript
C’est la version 0.1, mais ne vous y trompez pas : FastAPI est prêt pour la production. Sebastián Ramírez a construit ce framework sur des fondations solides (Starlette, Pydantic) et une vision claire. On parie que vous en entendrez beaucoup parler dans les années à venir.
Échanger avec un expert FastAPI
Nous revenons vers vous sous 24h.
Chez Makersquad, nous concevons des API performantes et évolutives avec FastAPI, un framework reconnu pour sa rapidité, son typage natif et sa documentation automatique basée sur OpenAPI. Que ce soit pour des microservices ou des projets orientés data et IA, FastAPI permet de développer des services robustes tout en garantissant un excellent niveau de performance. Que vous lanciez un nouveau projet ou souhaitiez moderniser votre backend, notre équipe vous accompagne pour construire des API rapides, fiables et prêtes à scaler.