Date de sortie : 27 février 2026
Release officielle : FastAPI 0.134.0
FastAPI gagne un support de streaming de première classe : on peut désormais yield des éléments depuis un endpoint et FastAPI produit une réponse JSON Lines ou binaire propre, sans bricolage.
Les nouveautés
Stream JSON Lines
Retourner une stream JSONL devient aussi simple qu’un générateur Python :
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Event(BaseModel):
id: int
payload: dict
@app.get("/events/stream")
async def stream_events():
async for event in event_source():
yield Event(id=event.id, payload=event.data)
Le client reçoit un flux où chaque ligne est un objet JSON indépendant :
{"id":1,"payload":{"kind":"click"}}
{"id":2,"payload":{"kind":"view"}}
Parfait pour exposer des exports volumineux sans charger toute la collection en mémoire, et pour des clients qui parsent ligne par ligne.
Stream de données binaires
Même principe pour les bytes :
@app.get("/files/{file_id}")
async def stream_file(file_id: str):
async for chunk in open_chunks(file_id):
yield chunk
FastAPI gère automatiquement les headers et le Content-Type en fonction du type yield.
Exception handling amélioré
Grâce à la montée de Starlette vers >=0.46.0, les exceptions levées pendant un stream sont correctement propagées et gérées, là où avant elles pouvaient être masquées.
Nouvelle documentation
Deux pages dédiées apparaissent :
É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.
À retenir
Le streaming était possible avant via StreamingResponse, mais il fallait sérialiser à la main. Cette release transforme une tâche d’infrastructure en primitive du framework. Pour les APIs qui exportent des volumes importants ou qui produisent des résultats incrémentaux, c’est une vraie simplification.