Configuration Manager
Le module ConfigManager
centralise la gestion de toutes les configurations de l’application.
Usage
Le ConfigManager
est initialisé au démarrage de l’application pour charger et valider l’ensemble des paramètres nécessaires à son fonctionnement.
Fonctionnalités
Agrège les configurations modulaires (LLM, base de données, email, etc.).
Fournit une interface unifiée pour valider et accéder aux paramètres.
Intègre un système de validation et de gestion d’erreurs.
Modules
- class src.smart_watch.core.ConfigManager.ConfigManager(env_file: Path | None = None)[source]
Bases :
object
Gestionnaire de configuration centralisé simplifié.
- __init__(env_file: Path | None = None)[source]
Initialise le gestionnaire de configuration centralisée.
Cette méthode configure le chemin du projet, charge le fichier d’environnement (.env), initialise la configuration de base et les gestionnaires de configuration satellites. Elle gère également les erreurs critiques lors de l’initialisation.
- Paramètres:
env_file (Optional[Path], optional) – chemin personnalisé vers le fichier d’environnement (.env). Si non spécifié, le fichier .env à la racine du projet sera utilisé.
- Lève:
Exception – toute erreur survenant lors de l’initialisation des gestionnaires de configuration est capturée, traitée par le gestionnaire d’erreurs, puis relancée avec une sévérité critique.
- _init_config_managers()[source]
Initialise les gestionnaires de configuration modulaires et expose leurs configurations.
Cette méthode crée et initialise les gestionnaires de configuration pour différents modules (LLM, base de données, email, traitement, filtrage Markdown) en utilisant le fichier d’environnement fourni. Les configurations de chaque gestionnaire sont exposées comme attributs de l’instance. Les références aux gestionnaires sont conservées pour permettre la validation ultérieure.
- Paramètres:
argument. (Aucun)
- validate() bool [source]
Valide les configurations de tous les gestionnaires modulaires.
Parcourt chaque gestionnaire de configuration enregistré et appelle sa méthode validate. Si une configuration est invalide ou si une exception est levée lors de la validation, un message d’erreur est enregistré. Si toutes les configurations sont valides, un message d’information est enregistré. Cela permet de s’assurer que toutes les configurations nécessaires sont correctement définies avant de démarrer l’application.
- Renvoie:
True si toutes les configurations sont valides, False sinon.
- Type renvoyé:
- display_summary()[source]
Affiche un résumé détaillé de la configuration actuelle du système dans les logs.
Cette méthode envoie au logger les informations principales concernant la configuration du LLM, des embeddings, de la base de données, du fichier CSV, de l’email et du traitement des threads.
- Renvoie:
None