src.core package
Submodules
src.core.cache_manager module
Gestionnaire de cache centralisé pour tous les analyseurs. Permet une gestion uniforme du cache across l’application.
- class src.core.cache_manager.CacheManager(base_cache_dir='cache')[source]
Bases :
objectGestionnaire de cache centralisé avec support multi-analyseurs.
- clear(analyzer_name=None, operation=None)[source]
Nettoie le cache.
- Paramètres:
analyzer_name (
Optional[str]) – Si spécifié, nettoie seulement cet analyseuroperation (
Optional[str]) – Si spécifié (avec analyzer_name), nettoie seulement cette opération
- Type renvoyé:
int- Renvoie:
Nombre de fichiers supprimés
- get(analyzer_name, operation, params)[source]
Récupère un objet du cache.
- Paramètres:
analyzer_name (
str) – Nom de l’analyseuroperation (
str) – Nom de l’opérationparams (
Dict[str,Any]) – Paramètres de l’opération
- Type renvoyé:
Optional[TypeVar(T)]- Renvoie:
Objet mis en cache ou None si pas trouvé
- get_info()[source]
Retourne des informations sur le cache.
- Type renvoyé:
Dict[str,Any]- Renvoie:
Dictionnaire avec les statistiques du cache
- set(analyzer_name, operation, params, data)[source]
Sauvegarde un objet dans le cache.
- Paramètres:
analyzer_name (
str) – Nom de l’analyseuroperation (
str) – Nom de l’opérationparams (
Dict[str,Any]) – Paramètres de l’opérationdata (
TypeVar(T)) – Données à mettre en cache
- Type renvoyé:
bool- Renvoie:
True si la sauvegarde a réussi
src.core.cacheable_mixin module
Mixin pour ajouter des capacités de cache aux analyseurs.
- class src.core.cacheable_mixin.CacheableMixin(*args, **kwargs)[source]
Bases :
objectMixin qui ajoute des capacités de cache à une classe.
- cached_operation(operation_name, operation_func, cache_params=None)[source]
Exécute une opération avec mise en cache automatique.
- Paramètres:
operation_name (
str) – Nom de l’opération (pour la clé de cache)operation_func (
Callable[[],TypeVar(T)]) – Fonction à exécuter si pas en cachecache_params (
Optional[Dict[str,Any]]) – Paramètres pour générer la clé de cache
- Type renvoyé:
TypeVar(T)- Renvoie:
Résultat de l’opération (depuis le cache ou calculé)
- clear_cache(operation=None)[source]
Nettoie le cache pour cet analyseur.
- Paramètres:
operation (
Optional[str]) – Si spécifié, nettoie seulement cette opération- Type renvoyé:
int- Renvoie:
Nombre de fichiers supprimés
src.core.data_explorer module
src.core.data_loader module
src.core.ingredients_analyzer module
src.core.interactions_analyzer module
- class src.core.interactions_analyzer.InteractionsAnalyzer(interactions=None, recipes=None, merged=None, preprocessing=<factory>, cache_enabled=True)[source]
Bases :
CacheableMixinCompute relational aggregates between interactions & recipe metadata.
- Paramètres:
interactions (pd.DataFrame) – Raw interactions dataframe (expects at least recipe_id; may include rating)
recipes (pd.DataFrame | None) – Recipes dataframe providing features (minutes, n_steps, ingredients…)
merged (pd.DataFrame | None) – Pre‑merged dataframe (bypasses merge step if provided). If given it supersedes interactions/recipes arguments.
- aggregate()[source]
Return core aggregate per recipe.
- Type renvoyé:
DataFrame
- Metrics:
interaction_count
avg_rating (if ratings provided)
minutes / n_steps / n_ingredients (if present)
-
cache_enabled:
bool= True
- cached_operation(operation_name, operation_func, cache_params=None)
Exécute une opération avec mise en cache automatique.
- Paramètres:
operation_name (
str) – Nom de l’opération (pour la clé de cache)operation_func (
Callable[[],TypeVar(T)]) – Fonction à exécuter si pas en cachecache_params (
Optional[Dict[str,Any]]) – Paramètres pour générer la clé de cache
- Type renvoyé:
TypeVar(T)- Renvoie:
Résultat de l’opération (depuis le cache ou calculé)
- clear_cache(operation=None)
Nettoie le cache pour cet analyseur.
- Paramètres:
operation (
Optional[str]) – Si spécifié, nettoie seulement cette opération- Type renvoyé:
int- Renvoie:
Nombre de fichiers supprimés
- create_popularity_segments(df=None)[source]
Create popularity segments based on interaction_count.
- Type renvoyé:
DataFrame
- create_recipe_categories(df=None)[source]
Create sophisticated categorization based on recipe characteristics.
- Type renvoyé:
DataFrame
- enable_cache(enabled=True)
Active ou désactive le cache pour cet analyseur.
- Type renvoyé:
None
- get_cache_info()[source]
Get cache information compatible with the old interface.
- Type renvoyé:
dict
- get_category_insights(df=None)[source]
Get insights and statistics about the created categories.
- Type renvoyé:
dict
- get_preprocessing_stats()[source]
Get preprocessing statistics if available.
- Type renvoyé:
Optional[dict]
-
interactions:
Optional[DataFrame] = None
-
merged:
Optional[DataFrame] = None
-
preprocessing:
PreprocessingConfig
-
recipes:
Optional[DataFrame] = None
- src.core.interactions_analyzer.InteractionsExplorer
alias de
InteractionsAnalyzer
src.core.logger module
Simple logging system for the Mangetamain application.
Provides a centralized logger with appropriate levels and file output.
- class src.core.logger.MangetamainLogger(name='mangetamain', level='INFO', debug_log_file=None, error_log_file=None)[source]
Bases :
objectSimple logger for the application with console and file output.
- src.core.logger.get_logger(name='mangetamain')[source]
Get the global logger instance.
- Type renvoyé:
- src.core.logger.setup_logging(level='INFO', debug_log_file=None, error_log_file=None)[source]
Setup application logging with specified level and optional files.
- Paramètres:
level (
str) – Logging level (DEBUG, INFO, WARNING, ERROR)debug_log_file (
Optional[Path]) – Optional file for debug logs (DEBUG+)error_log_file (
Optional[Path]) – Optional file for error logs (ERROR+)
- Type renvoyé:
- Renvoie:
Configured logger instance