Spaces:
Build error
Build error
| """FastAPI + Gradio entrypoint for TorchReview Copilot.""" | |
| from __future__ import annotations | |
| try: | |
| from openenv.core.env_server.http_server import create_app | |
| except Exception as exc: # pragma: no cover | |
| raise ImportError( | |
| "openenv-core is required to run the API server. Install project dependencies first." | |
| ) from exc | |
| try: | |
| import gradio as gr | |
| except Exception: | |
| gr = None # type: ignore[assignment] | |
| try: | |
| from ..Models import PythonCodeReviewAction, PythonCodeReviewObservation | |
| from .env import PythonCodeReviewEnvironment | |
| from .demo import build_demo | |
| except ImportError: | |
| from Models import PythonCodeReviewAction, PythonCodeReviewObservation | |
| from server.env import PythonCodeReviewEnvironment | |
| from server.demo import build_demo | |
| def build_application(): | |
| """Compose the OpenEnv API with the Gradio demo frontend.""" | |
| api_app = create_app( | |
| PythonCodeReviewEnvironment, | |
| PythonCodeReviewAction, | |
| PythonCodeReviewObservation, | |
| env_name="python_code_review_env", | |
| max_concurrent_envs=4, | |
| ) | |
| if gr is None: | |
| return api_app | |
| return gr.mount_gradio_app(api_app, build_demo(), path="/") | |
| app = build_application() | |
| def main(host: str = "0.0.0.0", port: int = 8000) -> None: | |
| import uvicorn | |
| uvicorn.run(app, host=host, port=port) | |
| if __name__ == "__main__": | |
| main() | |