Skip to main content

Formula 1 Race Replay and Visualization Library

Project description

F1-Replay — Interactive Formula 1 Race Replay & Circuit Visualization

PyPI version Python 3.9+ License: MIT Documentation

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 commandf1-replay 2024 monaco and 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

f1_replay-0.1.18.tar.gz (162.9 kB view details)

Uploaded Source

Built Distribution

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

f1_replay-0.1.18-py3-none-any.whl (159.8 kB view details)

Uploaded Python 3

File details

Details for the file f1_replay-0.1.18.tar.gz.

File metadata

  • Download URL: f1_replay-0.1.18.tar.gz
  • Upload date:
  • Size: 162.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for f1_replay-0.1.18.tar.gz
Algorithm Hash digest
SHA256 89f7bfd8f1a4f01924dfc9667759051225aaa39101f7008a562e7d9d54377249
MD5 810da994a852059892a6fdd933b45bfc
BLAKE2b-256 3149f584c35c21cebb41d29e8b7ea08100e93df5eb9b60a99e58135bcfb64514

See more details on using hashes here.

File details

Details for the file f1_replay-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: f1_replay-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 159.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for f1_replay-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 37dfbd949b13cfca9b85721761dcf2a02a250f6ce226152f8b27bd1aa17f49ee
MD5 dce863a7ea7982de8e281326b0084548
BLAKE2b-256 8cb2906b23aa47a19167d81be92f9f8885a51403ec12903af1d1d653765ae813

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