Spaces:
Sleeping
Sleeping
Download server/api.py from Freakdivi/dispatch_arena_v0: direct link, hf CLI and curl.
- Browser
- Download file 1.22 kB
-
https://huggingface.co/spaces/Freakdivi/dispatch_arena_v0/resolve/main/server/api.py
- Command line
-
hf download hf://spaces/Freakdivi/dispatch_arena_v0/server/api.py
-
curl -L -o api.py https://huggingface.co/spaces/Freakdivi/dispatch_arena_v0/resolve/main/server/api.py
1.22 kB
| """Request models for Dispatch Arena's REST API.""" | |
| from __future__ import annotations | |
| from typing import Any, Dict, Optional | |
| from pydantic import BaseModel, Field | |
| from dispatch_arena.models import Action, Config, Mode | |
| class CreateSessionRequest(BaseModel): | |
| mode: Mode = Mode.MINI | |
| seed: Optional[int] = None | |
| config: Dict[str, Any] = Field(default_factory=dict) | |
| def resolved_config(self, default_max_ticks: int) -> Config: | |
| payload = dict(self.config) | |
| payload.setdefault("mode", self.mode) | |
| payload.setdefault("max_ticks", default_max_ticks) | |
| return Config.model_validate(payload) | |
| class ResetRequest(BaseModel): | |
| seed: Optional[int] = None | |
| episode_id: Optional[str] = None | |
| session_id: Optional[str] = None | |
| mode: Optional[Mode] = None | |
| config: Dict[str, Any] = Field(default_factory=dict) | |
| def resolved_config(self, fallback: Config) -> Config: | |
| payload = fallback.to_dict() | |
| payload.update(self.config) | |
| if self.mode is not None: | |
| payload["mode"] = self.mode | |
| return Config.model_validate(payload) | |
| class StepRequest(BaseModel): | |
| session_id: Optional[str] = None | |
| action: Action | str | Dict[str, Any] | |