Spaces:
Sleeping
Sleeping
| """FastAPI app exposing MiniGridEnv through OpenEnv.""" | |
| try: | |
| from ..env.config import EnvConfig | |
| from ..env.minigrid_env import MiniGridEnvironment | |
| from ..env.models import MiniGridAction, MiniGridObservation | |
| except ImportError: | |
| from env.config import EnvConfig | |
| from env.minigrid_env import MiniGridEnvironment | |
| from env.models import MiniGridAction, MiniGridObservation | |
| try: | |
| from openenv.core.env_server import create_app | |
| except ImportError: | |
| create_app = None # type: ignore | |
| def _env_factory() -> MiniGridEnvironment: | |
| """Create a fresh env instance per client session.""" | |
| return MiniGridEnvironment(config=EnvConfig()) | |
| if create_app is not None: | |
| app = create_app( | |
| _env_factory, | |
| MiniGridAction, | |
| MiniGridObservation, | |
| env_name="MiniGridEnv", | |
| max_concurrent_envs=256, | |
| ) | |
| else: | |
| from fastapi import FastAPI | |
| app = FastAPI(title="MiniGridEnv") | |
| app.get("/health")(lambda: {"status": "ok"}) | |
| def main() -> None: | |
| """Entry point for `uv run server` or `python -m`.""" | |
| import uvicorn | |
| uvicorn.run(app, host="0.0.0.0", port=8000) | |
| if __name__ == "__main__": | |
| main() | |