import os from dataclasses import dataclass from pathlib import Path from dotenv import load_dotenv load_dotenv() PROJECT_ROOT = Path(__file__).resolve().parents[1] @dataclass(frozen=True) class LocalRagConfig: data_dir: Path @classmethod def from_env(cls) -> "LocalRagConfig": data_dir = Path(os.getenv("LOCAL_RAG_DATA_DIR", PROJECT_ROOT / "local_rag_data")) return cls(data_dir=data_dir) @property def manifest_path(self) -> Path: return self.data_dir / "manifest.json"