Vue d'ensemble
Pydantic Settings 2.0, publié le 15 juillet 2023, est désormais un package indépendant de Pydantic. Il apporte le support natif des fichiers .env et la lecture de configuration TOML.
Fonctionnalités principales
Support natif .env
La classe BaseSettings charge automatiquement les variables depuis un fichier .env. La validation Pydantic v2 s’applique à chaque champ.
python
from pydantic_settings import BaseSettings
class Config(BaseSettings):
db_host: str = 'localhost'
db_port: int = 5432
debug: bool = False
model_config = {'env_file': '.env'}
cfg = Config()
print(cfg.db_host, cfg.db_port)
Source TOML
Un nouveau provider permet de lire la configuration depuis un fichier TOML, idéal pour les projets utilisant pyproject.toml.
python
from pydantic_settings import BaseSettings
from pydantic_settings import TomlConfigSettingsSource
class Config(BaseSettings):
app_name: str
workers: int = 4
@classmethod
def settings_customise_sources(cls, settings_cls, **kw):
return (TomlConfigSettingsSource(settings_cls, 'config.toml'),)
