Formula 1 Race Replay and Visualization Library
Project description
F1-Replay — Interactive Formula 1 Race Replay & Circuit Visualization
Replay any historic Formula 1 race as an animated 2D map with real telemetry data, live timing, strategy overlays, and circuit visualizations. Built on FastF1 with intelligent caching and a Flask-based viewer.
Why F1-Replay?
- Watch any race — Animated car positions on a real circuit map with sub-second telemetry
- Live timing overlay — Gap times, position changes, pit stops, and tyre strategy in real time
- Track status — Safety car, VSC, red flag overlays and rain effects rendered on canvas
- Circuit posters — Generate publication-quality circuit maps colored by speed, sectors, throttle, brake, or elevation
- One command —
f1-replay 2024 monacoand you're watching the race in your browser - Python API — Full programmatic access to seasons, weekends, sessions, and telemetry DataFrames (Polars)
Quick Start
pip install f1-replay
Race Replay
from f1_replay import Manager
mgr = Manager()
mgr.race(2024, "monaco")
Or from the command line:
f1-replay 2024 monaco
Opens an interactive viewer at http://localhost:8080 with animated car positions, live standings, strategy panel, race control messages, and more.
Circuit Plotting
mgr = Manager()
weekend = mgr.load_weekend(2024, "monaco")
weekend.plot() # Clean white track
weekend.plot(color_mode="speed") # Colored by speed
weekend.plot(color_mode="sectors") # Marshal sectors
weekend.plot(save_path="monaco.png") # Save to file
Color modes: white, sectors, speed, throttle, brake, height
CLI
f1-replay 2024 monaco # Race replay (shorthand)
f1-replay 2024 8 # By round number
f1-replay race 2024 monaco -p 9000 # Custom port
f1-replay seasons 2024 # List races
f1-replay config --set-cache-dir /data # Set cache location
Documentation
Full documentation at f1-replay.readthedocs.io
- Usage Guide — Data loading, circuit plots, race viewer, telemetry, CLI, REST API
- Python API Reference — Auto-generated from docstrings
- Architecture — Data pipeline, caching, frontend design
- Telemetry Reference — Column definitions, units, processing
Development
git clone https://github.com/kkollsga/f1-replay.git && cd f1-replay
make install # pip install -e ".[dev,all]"
make check # lint + tests (196 tests)
make docs # build Sphinx documentation
See CONTRIBUTING.md for the full development guide.
License
MIT
Project details
Release history Release notifications | RSS feed
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_replay-0.1.20.tar.gz.
File metadata
- Download URL: f1_replay-0.1.20.tar.gz
- Upload date:
- Size: 166.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a8856ab535c2d4de6f74e209e523c15ccb0578b12071ec803b41eadd1e1b6cd
|
|
| MD5 |
39bfc4e302903da0502bfc9eb6ed3e8a
|
|
| BLAKE2b-256 |
723ead57ef7b1cb8a15d1caf94009f8ee1647fe2712ffca39377fc7fe75ff2e0
|
File details
Details for the file f1_replay-0.1.20-py3-none-any.whl.
File metadata
- Download URL: f1_replay-0.1.20-py3-none-any.whl
- Upload date:
- Size: 163.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33aeb1b73a56f79589dee1c04e97c842d0587d7ae17e7766d5f8fa679669d681
|
|
| MD5 |
fe4cdf42e3d0db74818936c4af2815a7
|
|
| BLAKE2b-256 |
0404caa0f2dcbea96715706bb8507ab1a5f0817288f95cc939a14fece4f5fd54
|