Spaces:
Running on Zero
Running on Zero
| """Hugging Face Spaces launcher for the GCMD classifier MVP.""" | |
| import os | |
| import sys | |
| from pathlib import Path | |
| SRC_PATH = Path(__file__).resolve().parent / "src" | |
| if SRC_PATH.exists() and str(SRC_PATH) not in sys.path: | |
| sys.path.insert(0, str(SRC_PATH)) | |
| try: | |
| import spaces | |
| except ImportError: | |
| class _SpacesFallback: | |
| def GPU(function=None): | |
| if function is None: | |
| return lambda inner_function: inner_function | |
| return function | |
| spaces = _SpacesFallback() | |
| from gcmd_classifier.ui.gradio_app import GRADIO_CSS, create_demo # noqa: E402 | |
| def _zerogpu_startup_probe() -> str: | |
| """No-op ZeroGPU startup probe for Hugging Face Spaces detection.""" | |
| return "ok" | |
| demo = create_demo() | |
| def gradio_server_name() -> str: | |
| """Return the configured Gradio bind host for local and Spaces runtime.""" | |
| return os.environ.get("GRADIO_SERVER_NAME", "0.0.0.0") | |
| def gradio_server_port() -> int: | |
| """Return the configured Gradio bind port for local and Spaces runtime.""" | |
| return int(os.environ.get("GRADIO_SERVER_PORT", "7860")) | |
| def launch() -> None: | |
| """Launch the Gradio demo with Hugging Face compatible server settings.""" | |
| demo.queue().launch( | |
| css=GRADIO_CSS, | |
| server_name=gradio_server_name(), | |
| server_port=gradio_server_port(), | |
| share=False, | |
| prevent_thread_lock=False, | |
| ) | |
| if __name__ == "__main__": | |
| launch() | |