Skip to content

Phase 5 & 6: FastAPI REST API, Streamlit dashboard, GitHub Actions CI#11

Merged
Samarth2001 merged 1 commit intomainfrom
claude/phase5-6-01ABwdavjJNECrDVtSsXVUWZ
Mar 2, 2026
Merged

Phase 5 & 6: FastAPI REST API, Streamlit dashboard, GitHub Actions CI#11
Samarth2001 merged 1 commit intomainfrom
claude/phase5-6-01ABwdavjJNECrDVtSsXVUWZ

Conversation

@Samarth2001
Copy link
Owner

Phase 5 — REST API + Dashboard

  • src/f1_predictor/api.py: FastAPI app with /health, /schedule/{year}, POST /predict/qualifying, POST /predict/race, POST /simulate endpoints; lazy F1Predictor singleton; full OpenAPI docs at /docs
  • dashboard/app.py: Streamlit dashboard consuming the API — race/qualifying prediction tabs with ranked bar charts, simulation tab with win/podium probability grouped bars and finishing-position heatmap
  • requirements.txt: add fastapi==0.115.0, uvicorn[standard]==0.30.6, streamlit==1.36.0

Phase 6 — CI pipeline

  • .github/workflows/ci.yml: lint (black + isort), pytest matrix across Python 3.10/3.11/3.12 with coverage upload, API smoke test job

https://claude.ai/code/session_01ABwdavjJNECrDVtSsXVUWZ

Phase 5 — REST API + Dashboard
- src/f1_predictor/api.py: FastAPI app with /health, /schedule/{year},
  POST /predict/qualifying, POST /predict/race, POST /simulate endpoints;
  lazy F1Predictor singleton; full OpenAPI docs at /docs
- dashboard/app.py: Streamlit dashboard consuming the API — race/qualifying
  prediction tabs with ranked bar charts, simulation tab with win/podium
  probability grouped bars and finishing-position heatmap
- requirements.txt: add fastapi==0.115.0, uvicorn[standard]==0.30.6,
  streamlit==1.36.0

Phase 6 — CI pipeline
- .github/workflows/ci.yml: lint (black + isort), pytest matrix across
  Python 3.10/3.11/3.12 with coverage upload, API smoke test job

Tests
- tests/unit/test_api.py: 16 new tests covering all endpoints, validation
  errors (422), mock-out of F1Predictor; 117/117 passing
- tests/integration/test_pipeline.py: fix hardcoded Windows cwd paths

https://claude.ai/code/session_01ABwdavjJNECrDVtSsXVUWZ
@Samarth2001 Samarth2001 merged commit 4f2a196 into main Mar 2, 2026
2 of 10 checks passed
@Samarth2001 Samarth2001 deleted the claude/phase5-6-01ABwdavjJNECrDVtSsXVUWZ branch March 2, 2026 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants