Spaces:
Running
Running
Config Map — replicalab/config.py
Shared constants used across the entire project.
Constants
| Constant | Value | Used by |
|---|---|---|
DEFAULT_SCENARIO_TEMPLATE |
"math_reasoning" |
server (reset defaults) |
DEFAULT_DIFFICULTY |
"easy" |
server (reset defaults) |
MAX_ROUNDS |
6 |
scenarios (observation.max_rounds), server |
MAX_BUDGET |
5000.0 |
scenarios (budget_total base) |
TIMEOUT_SECONDS |
300 |
server (session TTL base) |
ROUND_TIME_LIMIT_SECONDS |
300 |
server (per-round timeout) |
SESSION_TTL_SECONDS |
300 (= TIMEOUT_SECONDS) |
server (session cleanup) |
WS_IDLE_TIMEOUT_SECONDS |
300 (= TIMEOUT_SECONDS) |
server (WebSocket idle) |
STUB_ACCEPT_REWARD |
5.0 |
server (_StubEnv reward on accept) |
API_HOST |
"0.0.0.0" |
server (uvicorn bind) |
API_PORT |
7860 |
server (uvicorn port) |
Who Imports This
| Consumer | Constants used |
|---|---|
scenarios/templates.py |
MAX_BUDGET, MAX_ROUNDS |
server/app.py |
API_HOST, API_PORT, DEFAULT_SCENARIO_TEMPLATE, DEFAULT_DIFFICULTY, MAX_ROUNDS, ROUND_TIME_LIMIT_SECONDS, SESSION_TTL_SECONDS, STUB_ACCEPT_REWARD, WS_IDLE_TIMEOUT_SECONDS |
tests/test_config.py |
All constants (validation tests) |
Project Config — pyproject.toml
| Key | Value |
|---|---|
| Name | replicalab |
| Version | 0.1.0 |
| Python | >=3.10 |
| License | MIT |
Dependencies
| Package | Version | Purpose |
|---|---|---|
pydantic |
>=2.7,<3.0 |
Data validation |
fastapi |
>=0.115,<1.0 |
REST API framework |
uvicorn[standard] |
>=0.34,<1.0 |
ASGI server |
websockets |
>=15.0,<17.0 |
WebSocket support |
openenv-core[core] |
>=0.2.1,<0.3.0 |
Environment base (not yet used) |
Dev Dependencies
| Package | Purpose |
|---|---|
pytest |
Testing |
pytest-cov |
Coverage |
pytest-asyncio |
Async test support |
httpx |
HTTP client for API tests |
ruff |
Linting |
mypy |
Type checking |
Entry Point
[project.scripts]
server = "server.app:main"