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/suriya56/F1-Live-Dashboard.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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

f1_dash-0.2.1-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file f1_dash-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: f1_dash-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 534b9692f88d3054898e43db7af21eda474de6b51826793126553bef958ff0e9
MD5 c6b897fba0b10d37e66cf0bd3776800d
BLAKE2b-256 ef36bd6879b0ca0fef4bd7ae74bba291378f619a133c8fb4ee7960e6c563b3cb

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