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

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.2-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: f1_dash-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 19.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3847fadcb8d1655e90872c43b4bed3bab3a726bffcb422eb1e420751a8d8ea5
MD5 247ccfe6ec1330419f5151eabdc5e4d0
BLAKE2b-256 b06d8a7e5bcfffbe617d9782df8d0729c57d11b70aca123f0727e38b171ce6b6

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