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