"""Deployment environment helpers for local Docker vs Hugging Face Spaces.""" from __future__ import annotations import os def is_hosted_space() -> bool: """Return True when running on Hugging Face Spaces.""" if os.getenv("SPACE_ID") or os.getenv("SPACE_REPO_NAME"): return True return os.getenv("HF_SPACES_DEPLOYMENT", "").lower() in {"1", "true", "yes"} def configure_hosted_space_defaults() -> None: """Apply safe defaults for the hosted Gradio demo.""" if not is_hosted_space(): return os.environ.setdefault("DB_BACKEND", "sqlite") os.environ.setdefault("USE_REAL_OLLAMA", "false") os.environ.setdefault("REQUIRE_DEMO_AUTH", "false") os.environ.setdefault("DISABLE_LANGFUSE", "true") os.environ.setdefault("RATE_LIMIT_PER_HOUR", "12") os.environ.setdefault("RATE_LIMIT_PER_DAY", "30") os.environ.setdefault("RATE_LIMIT_BATCH_PER_HOUR", "2") os.environ.setdefault("DEMO_PASSWORD_REQUEST_URL", "https://bartoszlenart.com")