"""CliniqAI application package. Importing `app` (which every entry point does — CLI, FastAPI, Gradio, Celery) loads local env files so `os.getenv(...)` works without manually `source`-ing. Precedence (highest first): 1. variables already in the real environment (shell export, docker compose) 2. .env.local — your gitignored secrets 3. .env — optional shared defaults Real environment always wins (`override=False`), so production / CI is never clobbered by a stray file. """ from __future__ import annotations from pathlib import Path try: from dotenv import load_dotenv except ImportError: # pragma: no cover — dotenv is a declared dep, but be safe load_dotenv = None # type: ignore[assignment] if load_dotenv is not None: _ROOT = Path(__file__).resolve().parent.parent # Load .env.local before .env: with override=False the first file to set a # key wins, so .env.local takes precedence over .env. load_dotenv(_ROOT / ".env.local", override=False) load_dotenv(_ROOT / ".env", override=False)