"""Canonical filesystem locations, resolved once from the repo root. Every path the backend needs (the climate cache, the accounts DB, logs, the bundled city data) is derived here from the repository root rather than from each module's own ``__file__``. That keeps the locations stable no matter how deep in the package tree a module lives, so moving a module never silently re-points the cache or the accounts DB. Callers that support an environment override (e.g. ``THERMOGRAPH_ACCOUNTS_DB``) keep doing so; these are only the defaults. """ import os REPO_DIR = os.path.dirname(os.path.abspath(__file__)) DATA_DIR = os.path.join(REPO_DIR, "data") LOGS_DIR = os.path.join(REPO_DIR, "logs") # Bundled reference data shipped alongside the code (generated by gen_cities / # gen_flavor), not runtime state — hence at the repo root, not data/. CITIES_JSON = os.path.join(REPO_DIR, "cities.json") CITIES_FLAVOR_JSON = os.path.join(REPO_DIR, "cities_flavor.json")