Se rendre au contenu

FastAPI 0.1 est sorti

Une nouvelle ère pour les APIs Python
8 décembre 2018 par
FastAPI 0.1 est sorti
Makersquad

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.

Django 2.1 est sorti