Pydantic 2.0: validation Python riscritta in Rust

Pydantic 2.0 (giugno 2023) di Samuel Colvin: data validation Python con core riscritto in Rust (pydantic-core), 5-50x più veloce, JSON Schema nativo, serializzazione custom. Base di FastAPI, SQLModel, LangChain.

Open SourceR&D PydanticSamuel ColvinPythonValidationRustOpen Source

Validation Python data-class based

Pydantic — creato da Samuel Colvin nel 2017 — è libreria Python per validation di dati tramite type hints. Type hints come validation schema al posto di JSON Schema esterno. Diventa popolare grazie all’adozione di FastAPI (Sebastián Ramírez, 2018) che la usa come foundation.

from pydantic import BaseModel, EmailStr
from datetime import datetime

class User(BaseModel):
    id: int
    name: str
    email: EmailStr
    created_at: datetime

user = User(id=1, name="Anna", email="anna@example.com",
            created_at="2023-01-15T10:30:00")
# Valida automaticamente tipi, parsa datetime stringa, verifica email

Pydantic 2.0 e Rust

Pydantic 2.0, rilasciato il 30 giugno 2023, è una riscrittura del core in Rust tramite crate pydantic-core. Miglioramenti prestazionali di 5-50x su validation. L’API Python rimane mostly backward-compatible (con migration guide).

Licenza MIT.

Funzionalità

  • Models con type hints
  • Field validators custom
  • Serializers (JSON, dict, custom)
  • Alias per mappature field
  • JSON Schema generation automatica
  • Generics per types parametrici
  • Strict mode — niente coercion implicita

Ecosystema dipendente

  • FastAPI — validation di request/response
  • SQLModel (Sebastián Ramírez, 2021) — ORM basato su Pydantic + SQLAlchemy
  • LangChain — structured output di LLM
  • Prefect, Argilla, migliaia di librerie moderne

Nel contesto italiano

Pydantic è nel backend di ogni applicazione FastAPI italiana; cresce in ML/AI per structured output di LLM.


Riferimenti: Pydantic 2.0 (30 giugno 2023). Samuel Colvin. Licenza MIT. Core riscritto in Rust (pydantic-core). Backward-compat API. Base di FastAPI, SQLModel, LangChain.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi