Que fait python-configuration) ?
Gestion de la configuration Python via des variables d'environnement et des paramètres typés. À utiliser lors de l'externalisation de la configuration, de la mise en place de pydantic-settings, de la gestion des secrets ou de la mise en œuvre de comportements spécifiques à l'environnement.
Utilisation
- Créez une classe de configuration héritant de
BaseSettingsdepydantic-settings. - Définissez les attributs avec des types et des valeurs par défaut.
- Utilisez
model_configpour configurer le préfixe des variables d'environnement, le fichier.env, etc. - Chargez la configuration dans votre application via une instance unique (singleton).
- Accédez aux paramètres via les attributs de l'instance (par exemple
settings.database_url).
Exemple
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
database_url: str = "postgresql://localhost/mydb"
secret_key: str = "change-me"
model_config = {
"env_prefix": "APP_",
"env_file": ".env",
}
settings = Settings()
print(settings.database_url)
Commandes CLI
# Générer un modèle de fichier .env
echo "APP_DATABASE_URL=postgresql://user:pass@host/db" > .env
# Valider la configuration
python -c "from myapp.config import Settings; Settings()"
Notes importantes
- Ne jamais commit les fichiers
.envcontenant des secrets. Ajoutez*.envà.gitignore. - Pour les environnements de production, injectez les variables d'environnement via votre système de déploiement.
- Utilisez
python-dotenven développement pour charger automatiquement le fichier.env. - Les variables d'environnement ont priorité sur celles du fichier
.env.