Skip to main content

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

  1. Select Season: Choose a season from 2021-2026
  2. Select Event: Pick a Grand Prix from the dropdown
  3. Select Session: Choose from available sessions (Practice, Qualifying, Race)
  4. 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:

  1. Redis Cache - Fastest, 3600s TTL
  2. SQLite Database - Persistent local storage
  3. 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

f1_dash-0.2.0.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

f1_dash-0.2.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

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

Hashes for f1_dash-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b9d25d7921ec6a31159262d8a2b6515264e9c67c6926f2f91f7715c52b713531
MD5 8639e315330c874ab421205b8aa8a8d7
BLAKE2b-256 9e954f6bea9967ea02b43c121202c2e3acfa2ef89888c513bd5fa70e97544651

See more details on using hashes here.

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

Hashes for f1_dash-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e2aa3288a8f3027d9e77f25df3071634e646e0d3276450e89ff66859fd68168
MD5 c0e536388702f07bf6f9dbbb8ef8a52f
BLAKE2b-256 0b0095f3c9a7b4f90bcf59ca8645ce4210f49a5715f7fde7ac8c38cbe5dd63a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page