| """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") | |