Spaces:
Sleeping
Sleeping
File size: 1,175 Bytes
a03a89b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | """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()
|