MiniGridEnv / server /app.py
yashu2000's picture
Upload folder using huggingface_hub
a03a89b verified
"""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()