Marcus/Core/env_loader.py
2026-04-12 18:50:22 +04:00

35 lines
968 B
Python

"""
env_loader.py — Resolve project root at runtime
"""
import os
from pathlib import Path
def _find_env_file() -> Path:
"""Walk up from this file to find .env in project root."""
d = Path(__file__).resolve().parent.parent
env = d / ".env"
if env.exists():
return env
return None
def _load_dotenv(path: Path):
"""Minimal .env loader — no external dependency."""
if path is None or not path.exists():
return
with open(path) as f:
for line in f:
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
key, val = line.split("=", 1)
os.environ.setdefault(key.strip(), val.strip())
_load_dotenv(_find_env_file())
PROJECT_BASE = os.environ.get("PROJECT_BASE", "/home/unitree")
PROJECT_NAME = os.environ.get("PROJECT_NAME", "Marcus")
PROJECT_ROOT = Path(__file__).resolve().parent.parent # always the Marcus/ dir