Spaces:
Sleeping
Sleeping
| """ | |
| server/app.py — OpenEnv required server entry point. | |
| Delegates to the main FastAPI application. | |
| """ | |
| import os | |
| import sys | |
| import uvicorn | |
| # Ensure project root is on path before local imports | |
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from app.main import app # noqa: F401 — re-exported for openenv | |
| # Named Constants | |
| DEFAULT_HOST = "0.0.0.0" | |
| DEFAULT_PORT = 7860 | |
| DEFAULT_WORKERS = 2 | |
| def main() -> None: | |
| """Entry point for [project.scripts] server = 'server.app:main'""" | |
| port_str: str = os.environ.get("PORT", str(DEFAULT_PORT)) | |
| try: | |
| port_num: int = int(port_str) | |
| except ValueError as e: | |
| raise ValueError(f"Invalid PORT environment variable: '{port_str}'. Must be an integer.") from e | |
| uvicorn.run( | |
| "app.main:app", | |
| host=DEFAULT_HOST, | |
| port=port_num, | |
| workers=DEFAULT_WORKERS, | |
| log_level="info", | |
| ) | |
| if __name__ == '__main__': | |
| main() | |