Spaces:
Sleeping
Sleeping
| """FastAPI server for DataClean-Env. | |
| Uses OpenEnv's create_app() to auto-generate all required endpoints: | |
| /health, /metadata, /schema, /reset, /step, /state, /ws, /mcp, /docs | |
| Mounts Gradio dashboard at root for interactive testing. | |
| """ | |
| import os | |
| import gradio as gr | |
| from openenv.core.env_server.http_server import create_app | |
| from dataclean_env.models import DataCleanAction, DataCleanObservation | |
| from dataclean_env.server.environment import DataCleanEnvironment | |
| from dataclean_env.server.web_ui import build_ui | |
| app = create_app( | |
| DataCleanEnvironment, | |
| DataCleanAction, | |
| DataCleanObservation, | |
| env_name="dataclean_env", | |
| max_concurrent_envs=int(os.environ.get("MAX_CONCURRENT_ENVS", "1")), | |
| ) | |
| # Mount Gradio dashboard at root | |
| gradio_app = build_ui() | |
| app = gr.mount_gradio_app(app, gradio_app, path="/") | |
| 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() | |