import os from pathlib import Path try: from dotenv import load_dotenv except ImportError: load_dotenv = None if load_dotenv is not None: load_dotenv() else: env_path = Path.cwd() / ".env" if env_path.exists(): for line in env_path.read_text(encoding="utf-8").splitlines(): line = line.strip() if not line or line.startswith("#") or "=" not in line: continue key, value = line.split("=", 1) os.environ.setdefault(key.strip(), value.strip().strip('"').strip("'")) _bias_model_env = os.getenv("NEWSLENS_BIAS_MODEL_PATH") BASE_DIR = Path(__file__).resolve().parents[1] DATA_DIR = Path(os.getenv("NEWSLENS_DATA_DIR", BASE_DIR / "data")) CHROMA_DB_PATH = Path(os.getenv("NEWSLENS_CHROMA_DB_PATH", DATA_DIR / "chromadb")) MODEL_DIR = Path(os.getenv("NEWSLENS_MODEL_DIR", DATA_DIR / "models")) if _bias_model_env: BIAS_MODEL_PATH = _bias_model_env else: BIAS_MODEL_PATH = Path(MODEL_DIR / "bias_lora_20260503_010859") HF_ENDPOINT = os.getenv("NEWSLENS_HF_ENDPOINT") HF_TOKEN = os.getenv("HF_TOKEN") NEWS_API_KEY = os.getenv("NEWSAPI_KEY") API_BASE_URL = os.getenv("NEWSLENS_API_BASE_URL", "http://localhost:8000")