Se rendre au contenu

FastAPI 0.100 est sorti

Support de Pydantic v2
14 juillet 2023 par
FastAPI 0.100 est sorti
Makersquad

Date de sortie : 14 juillet 2023

Documentation officielle : FastAPI Release Notes

FastAPI 0.100 marque un tournant. Pydantic v2, réécrit en Rust, apporte des gains de performance de 5× à 50×. Si vous faites de l’API Python, cette migration vaut le coup.


Les nouveautés principales

Support de Pydantic v2

FastAPI 0.100 embarque Pydantic v2, entièrement réécrit pour des performances nettement améliorées :

from pydantic import BaseModel, ConfigDict

class Item(BaseModel):
    model_config = ConfigDict(
        str_strip_whitespace=True,
        from_attributes=True  # Remplace orm_mode
    )

    name: str
    price: float
    tags: list[str] = []


Changements Pydantic v1 → v2

Ce qui change en pratique :

# Avant (Pydantic v1)
class Item(BaseModel):
    class Config:
        orm_mode = True

item = Item.from_orm(db_item)
data = Item.parse_raw(json_string)

# Après (Pydantic v2)
class Item(BaseModel):
    model_config = ConfigDict(from_attributes=True)

item = Item.model_validate(db_item)
data = Item.model_validate_json(json_string)


OpenAPI 3.1.0

FastAPI génère maintenant des schémas OpenAPI 3.1.0 :

  • JSON Schema Draft 2020-12 entièrement supporté
  • Types nullable mieux représentés
  • Schémas générés plus précis


JSON Schema moderne

Les schémas générés utilisent les conventions JSON Schema modernes :

{
  "type": ["string", "null"]
}

plutôt que l’ancienne syntaxe avec anyOf.


Nouveau Swagger UI

Interface Swagger UI mise à jour avec support OpenAPI 3.1.


Migration depuis Pydantic v1

Coexistence temporaire

FastAPI 0.100 accepte v1 et v2. Pour migrer en douceur, utilisez pydantic.v1 :

# Temporaire pendant la migration
from pydantic.v1 import BaseModel


Changements courants

Pydantic v1Pydantic v2
orm_mode = Truefrom_attributes=True
.from_orm().model_validate()
.parse_raw().model_validate_json()
.dict().model_dump()
.json().model_dump_json()
@validator@field_validator
@root_validator@model_validator


Performance

Pydantic v2 vole (5 à 50× plus rapide que v1), grâce à sa réécriture en Rust.



É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

FastAPI 0.100 + Pydantic v2 est un combo gagnant. Les gains de performance sont massifs, les standards sont à jour, et la migration est bien documentée. Si vous partez sur un nouveau projet, c’est cette stack qu’il faut viser.

Django 4.2 LTS est sorti