808694991f
Project setup:
- pyproject.toml (uv, hatchling, fastapi, pydantic v2, httpx, etc.)
- Package layout: agl_lite/{schemas,store,server,controller}
- Dev tooling: ruff, pyright, pytest-asyncio
- uv.lock committed for reproducibility
Frozen schemas (agl_lite/schemas/):
- rollout.py: Rollout, RolloutStatus, RolloutConfig, Mount,
VALID_TRANSITIONS, TERMINAL_STATUSES
- event.py: Event, ModelRequestData, RewardData, AttemptInfo
- resources.py: ResourcesUpdate, JobDefaults (extra=forbid),
K8sResources — validates job_defaults at POST time
- model_server.py: ModelServer
- errors.py: NotFoundError, ConflictError, InvalidTransitionError
- api.py: all request/response body models
Tests: 36 passing, ruff clean, all schemas validated.
2 lines
5 B
Plaintext
2 lines
5 B
Plaintext
3.12
|