An enhanced F1 Live Position Dashboard with telemetry data
Project description
F1 Dashboard
An enhanced F1 Live Position Dashboard with SQLite persistence, Redis caching, and telemetry data visualization.
Features
- Season Selection: Choose from seasons 2021-2026
- Session Types: View FP1, FP2, FP3, Sprint, Qualifying, and Race sessions
- SQLite Persistence: Offline data storage for previously loaded sessions
- Redis Caching: Fast data retrieval with cache-aside pattern
- Lazy-loading Telemetry: RAM-optimized telemetry viewing for selected drivers
- Interactive TUI: Built with Textual for a modern terminal interface
Installation
From PyPI (Recommended)
pip install f1-dash
From Source
git clone https://github.com/yourusername/f1-dash.git
cd f1-dash
pip install .
Usage
Run the dashboard:
f1-dash
Controls
- q - Quit the application
- r - Refresh data
- Tab - Switch between Positions and Telemetry tabs
Features
- Select Season: Choose a season from 2021-2026
- Select Event: Pick a Grand Prix from the dropdown
- Select Session: Choose from available sessions (Practice, Qualifying, Race)
- View Telemetry: Go to Telemetry tab, select a driver, and click "Load Telemetry"
Environment Variables
| Variable | Description | Default |
|---|---|---|
F1_DASH_DB_PATH |
Path to SQLite database | f1_data.db |
REDIS_URL |
Redis connection URL | redis://localhost:6379 |
REDIS_TTL |
Cache TTL in seconds | 3600 |
Optional: Redis Setup
For enhanced caching performance, install and run Redis:
# Docker
docker run -d -p 6379:6379 redis:latest
# Or install locally
# Ubuntu/Debian: sudo apt install redis-server
# macOS: brew install redis && brew services start redis
The app works without Redis (uses memory cache fallback).
Requirements
- Python 3.8 or higher
- fastf1 >= 3.0.0
- textual >= 0.40.0
- pandas >= 1.5.0
- rich >= 13.0.0
- matplotlib >= 3.5.0
- aioredis >= 2.0.0 (optional, for Redis caching)
- redis >= 4.0.0 (optional, for Redis caching)
Architecture
The app uses a tiered data retrieval system:
- Redis Cache - Fastest, 3600s TTL
- SQLite Database - Persistent local storage
- FastF1 API - Live data from Ergast/F1
Data flows: API → SQLite → Redis → UI
License
MIT License - see LICENSE file for details.
Changelog
v0.2.0 (2025-02-23)
- Added season selection (2021-2026)
- Added SQLite persistence layer
- Added Redis caching with cache-aside pattern
- Implemented lazy-loading telemetry for RAM optimization
- Suppressed library logging for clean TUI
v0.1.0 (Initial Release)
- Basic F1 dashboard with FastF1 API integration
- Telemetry viewer
- Session switching
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file f1_dash-0.2.0.tar.gz.
File metadata
- Download URL: f1_dash-0.2.0.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9d25d7921ec6a31159262d8a2b6515264e9c67c6926f2f91f7715c52b713531
|
|
| MD5 |
8639e315330c874ab421205b8aa8a8d7
|
|
| BLAKE2b-256 |
9e954f6bea9967ea02b43c121202c2e3acfa2ef89888c513bd5fa70e97544651
|
File details
Details for the file f1_dash-0.2.0-py3-none-any.whl.
File metadata
- Download URL: f1_dash-0.2.0-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e2aa3288a8f3027d9e77f25df3071634e646e0d3276450e89ff66859fd68168
|
|
| MD5 |
c0e536388702f07bf6f9dbbb8ef8a52f
|
|
| BLAKE2b-256 |
0b0095f3c9a7b4f90bcf59ca8645ce4210f49a5715f7fde7ac8c38cbe5dd63a6
|