How kumudha818/f1 works
F1 PitLab loads race schedules and sessions from FastF1, extracts pit stops and tyre stints, and presents analysis through GUI or CLI. Analysis includes driver/team comparisons, strategy visualizations, ML duration predictions, anomaly detection, tyre degradation, and pit-window suggestions. Database persistence supports historical and prediction analytics; model training is available in both interfaces. The graph follows documented capabilities, but unsampled GUI wiring and some database integrations are left out where exact calls cannot be confirmed.
Main entry points: analysis.py Analysis Runner · cli/race_selection.py Terminal UI · repository.py Data Repository · gui/race_selection.py Desktop UI
Components 19
User Interfaces
- Desktop UI
src/gui/race_selection.py - Terminal UI
src/cli/race_selection.py - Training Dialog
src/gui/ml_training.py
Race Data
- Race Selection
src/gui/race_selection.py - Session & Cache
src/f1_data.py - Pit Stop Extraction
src/f1_data.py - Tyre Stints
src/f1_data.py
Analysis & Strategy
- Analysis Runner
src/analysis.py - Interactive Charts
src/charts/visualizations.py - Duration Predictor
src/ml/predictor.py - Enhanced Models
src/ml/enhanced_predictor.py - Training Data
src/ml/enhanced_predictor.py
Models & Persistence
- Data Repository
src/database/repository.py - Race Data Models
src/database/models.py - Database Connection
src/database/connection.py
Other components
- Analyst
- FastF1
- SQLite / PostgreSQL
- Saved ML Model
ml_models/pitstop_predictor.pkl
Connections 24
- Analyst → Desktop UI: selects race
- Analyst → Terminal UI: selects race
- Desktop UI → Race Selection: chooses event
- Race Selection → FastF1: requests schedule
- Race Selection → Session & Cache: loads session
- Terminal UI → FastF1: requests schedule
- Terminal UI → FastF1: loads session
- Session & Cache → FastF1: loads and caches
- Session & Cache → Pit Stop Extraction: provides session
- Pit Stop Extraction → Tyre Stints: uses lap data
- Desktop UI → Analysis Runner: runs analysis
- Terminal UI → Analysis Runner: runs analysis
- Analysis Runner → Duration Predictor: predicts and flags
- Analysis Runner → Enhanced Models: requests strategy
- Analysis Runner → Interactive Charts: renders analysis
- Training Dialog → Training Data: collects samples
- Training Dialog → Enhanced Models: trains model
- Training Data → FastF1: collects race data
- Duration Predictor → Saved ML Model: loads or saves
- Enhanced Models → Saved ML Model: saves model
- Data Repository → Race Data Models: queries entities
- Data Repository → Database Connection: uses sessions
- Database Connection → SQLite / PostgreSQL: connects
- Data Repository → SQLite / PostgreSQL: reads and writes