Vue d'ensemble

Pydantic 2.8, publié le 2 août 2024, ajoute les avertissements de validation (warnings) et améliore les unions discriminées (tagged unions).

Fonctionnalités principales

Warnings et tagged unions

Les avertissements de validation permettent de signaler des problèmes non bloquants. Les unions discriminées bénéficient d'une syntaxe plus claire.

python
from pydantic import BaseModel, Field
from typing import Literal, Union, Annotated

class Chat(BaseModel):
    type: Literal['chat'] = 'chat'
    miaule: bool = True

class Chien(BaseModel):
    type: Literal['chien'] = 'chien'
    aboie: bool = True

Animal = Annotated[
    Union[Chat, Chien],
    Field(discriminator='type'),
]

class Foyer(BaseModel):
    animal: Animal

f = Foyer(animal={'type': 'chat', 'miaule': True})
print(f.animal)  # type='chat' miaule=True

Sources