Spaces:
Paused
Paused
| """Shared utilities for the entire learning system""" | |
| # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/03_utils.ipynb. | |
| # %% auto 0 | |
| __all__ = ['logger', 'setup_logger', 'load_context_safely', 'save_context_safely'] | |
| # %% ../nbs/03_utils.ipynb 4 | |
| from typing import Dict, List, Optional, Any, Tuple | |
| import json | |
| from pathlib import Path | |
| import logging | |
| from datetime import datetime | |
| # %% ../nbs/03_utils.ipynb 6 | |
| def setup_logger(name: str) -> logging.Logger: | |
| """Set up module logger with consistent formatting""" | |
| logger = logging.getLogger(name) | |
| if not logger.handlers: | |
| handler = logging.StreamHandler() | |
| handler.setFormatter( | |
| logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| ) | |
| logger.addHandler(handler) | |
| logger.setLevel(logging.INFO) | |
| return logger | |
| logger = setup_logger(__name__) | |
| # %% ../nbs/03_utils.ipynb 7 | |
| def load_context_safely(path: Path) -> Dict: | |
| """ | |
| Safely load learning context from JSON file. | |
| Args: | |
| path: Path to context file | |
| Returns: | |
| dict: Loaded context data | |
| Raises: | |
| ValueError: If file is invalid or inaccessible | |
| """ | |
| try: | |
| with open(path, 'r') as f: | |
| return json.load(f) | |
| except json.JSONDecodeError as e: | |
| raise ValueError(f"Invalid context file format: {str(e)}") | |
| except Exception as e: | |
| raise ValueError(f"Error loading context file: {str(e)}") | |
| # %% ../nbs/03_utils.ipynb 8 | |
| def save_context_safely(context: Dict, path: Path) -> None: | |
| """ | |
| Safely save learning context to JSON file. | |
| Args: | |
| context: Context data to save | |
| path: Path to save file | |
| Raises: | |
| ValueError: If save operation fails | |
| """ | |
| try: | |
| with open(path, 'w') as f: | |
| json.dump(context, f, indent=2) | |
| except Exception as e: | |
| raise ValueError(f"Error saving context: {str(e)}") | |