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)

llm

configuration du gestionnaire LLM.

Type:

dict

database

configuration du gestionnaire de base de données.

Type:

dict

email

configuration du gestionnaire d’email.

Type:

dict

processing

configuration du gestionnaire de traitement.

Type:

dict

markdown_filtering

configuration du gestionnaire de filtrage Markdown.

Type:

dict

_managers

références aux gestionnaires de configuration pour la validation.

Type:

dict

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é:

bool

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