Skip to main content

Wrapper library for F1 data and telemetry API with additional data processing capabilities.

Project description

FastF1 is a python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry.

Installation

It is recommended to install FastF1 using pip:

pip install fastf1

Note that Python 3.8 or higher is required. (The live timing client does not support Python 3.10, therefore full functionality is only available with Python 3.8 and 3.9)

Alternatively, a wheel or a source distribution can be downloaded from Pypi.

Getting Started: Documentation and Examples

Furthermore, there are some great articles and examples written by other people. They provide a nice overview about what you can do with FastF1 and might help you to get started.

General Information

Usage

Creating a simple analysis is not very difficult, especially if you are already familiar with pandas and numpy.

Suppose that we want to analyse the race pace of Leclerc compared to Hamilton for the Turkish GP 2020.

import fastf1
from fastf1 import plotting
from matplotlib import pyplot as plt

plotting.setup_mpl()

fastf1.Cache.enable_cache('path/to/folder/for/cache')  # optional but recommended

race = fastf1.get_session(2020, 'Turkish Grand Prix', 'R')
race.load()

lec = race.laps.pick_driver('LEC')
ham = race.laps.pick_driver('HAM')

Once the session is loaded, and drivers are selected, you can plot the information.

fastf1.plotting provides some special axis formatting and data type conversion. This is required for generating a correct plot.

It is not necessary to enable the usage of a cache but it is recommended. Simply provide the path to some empty folder on your system.

fig, ax = plt.subplots()
ax.plot(lec['LapNumber'], lec['LapTime'], color='red')
ax.plot(ham['LapNumber'], ham['LapTime'], color='cyan')
ax.set_title("LEC vs HAM")
ax.set_xlabel("Lap Number")
ax.set_ylabel("Lap Time")
plt.show()
docs/_static/readme.svg

Compatibility

Timing data, car telemetry and position data is available for the 2018 and later seasons. Schedule information and session results are available for older seasons too. (limited to Ergast web api).

Data Sources

FastF1 uses data from F1’s live timing service.

Data can be downloaded after a session. Alternatively, the actual live timing data can be recorded and the recording can be used as a data source.

Usually it is not necessary to record the live timing data. But there have been server issues in the past which resulted in the data being unavailable for download. Therefore, you only need to record live timing data if you want to benefit from the extra redundancy.

Notice

FastF1 is unofficial software and in no way associated with the Formula 1 group of companies.

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

fastf1-2.3.0.tar.gz (76.1 kB view details)

Uploaded Source

Built Distribution

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

fastf1-2.3.0-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

Details for the file fastf1-2.3.0.tar.gz.

File metadata

  • Download URL: fastf1-2.3.0.tar.gz
  • Upload date:
  • Size: 76.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for fastf1-2.3.0.tar.gz
Algorithm Hash digest
SHA256 2cc7e2a347be48f1d55ab15841f705012a15f0c7e3a219901568edd8c7d50d25
MD5 7d423c26ffbba4aef3cccfef8d0bf2ce
BLAKE2b-256 a422a103dc4ea79becf34efde908335ca59d747ff1d73e56a41c1e915ce1cb25

See more details on using hashes here.

File details

Details for the file fastf1-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: fastf1-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for fastf1-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f35b238cf7d58054bfaed254f6623cb1b8c2dd0744033533d4edafc3b16fe92
MD5 6faaadc095a4d0765e34dcb3d7def04c
BLAKE2b-256 41125dc779f05b949c2cf79e2d7969d7cd887edeb9eddce4e2e1f26e4a79043f

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