OpenF1.Data 1.0.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package OpenF1.Data --version 1.0.7                
NuGet\Install-Package OpenF1.Data -Version 1.0.7                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpenF1.Data" Version="1.0.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OpenF1.Data --version 1.0.7                
#r "nuget: OpenF1.Data, 1.0.7"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install OpenF1.Data as a Cake Addin
#addin nuget:?package=OpenF1.Data&version=1.0.7

// Install OpenF1.Data as a Cake Tool
#tool nuget:?package=OpenF1.Data&version=1.0.7                

open-f1

open-f1 is a open source Live Timing client which integrates with the F1 Live Timing data stream. The client allows you to receive live data during F1 sessions. This data can be streamed in to a file for later processing, or processed live to show in live timing clients.

The OpenF1.Data library is provided to facilitate connectivity with the F1 Live Timing data stream, and handle all the processing of the incoming data. It also allows for "simulated" streams, where previously recorded data streams can be played back to allow for easy development/testing.

OpenF1.Console is a TUI application which uses OpenF1.Data to show a basic Live Timing screen during sessions.

Inspiration

This project is heavily inspired by the FastF1 project by theOehrly. They did a lot of the work understanding the SignalR stream coming from the F1 Live Timing service. Visit their project if you'd like to do any sort of data analysis on past F1 events, or gather live timing data using their module.

Configuration

OpenF1 can be configured using a simple config.json file, or using environment variables. JSON configuration will be loaded from ~/open-f1/config.json.

Name JSON Path Environment Variable Description
Data Directory dataDirectory OPENF1_DATADIRECTORY The directory in which JSON timing data is read or written from

Live Timing Data Source

F1 live timing is streamed using SignalR (the old ASP.NET version, not the newer ASP.NETCore protocol) at https://livetiming.formula1.com/signalr. The OpenF1.Data simply connects to this endpoint, subscribes to the "Streaming" Hub, and listens for messages. It subscribes to the following "topics":

  • Heartbeat
  • ExtrapolatedClock
  • TopThree
  • TimingStats
  • TimingAppData
  • WeatherData
  • TrackStatus
  • DriverList
  • RaceControlMessages
  • SessionInfo
  • SessionData
  • LapCount
  • TimingData

The following topics are also available but currently not subscribed to:

  • CarData.z
  • Position.z

Data Recording and Replay

All events received by the live timing client will be written to the configured Data Directory, see see Configuration for details. Files will be written to a subdirectory named using the current sessions name, e.g. ~/open-f1/data/Jeddah_Race/. In this directory, two files will be written:

  • subscribe.txt contains the data received at subscription time (i.e. when the live timing client connected to the stream)
  • live.txt contains an append-log of every message received in the stream

Both of these files are required for future simulations/replays. The IJsonTimingClient supports loading these files and processing them in the same way live data would be. Data points will be replayed in real time, using a calculated delay.

Notice

open-f1 is unofficial and are not associated in any way with the Formula 1 companies. F1, FORMULA ONE, FORMULA 1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX and related marks are trade marks of Formula One Licensing B.V.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.127 33 11/3/2024
1.0.124 82 9/26/2024
1.0.123 74 9/26/2024
1.0.121 84 9/26/2024
1.0.118 120 9/15/2024
1.0.114 110 7/17/2024
1.0.109 93 7/6/2024
1.0.87 96 6/29/2024
1.0.82 97 6/22/2024
1.0.78 96 6/22/2024
1.0.77 96 6/22/2024
1.0.49 89 5/19/2024
1.0.34 91 5/9/2024
1.0.32-g14cd2d38df 72 5/9/2024
1.0.31-g9c7dd7acba 71 5/9/2024
1.0.30-gcd1d18cc4f 76 5/9/2024
1.0.29-g9a42a11fbc 76 5/9/2024
1.0.28-g184c7383a1 72 5/9/2024
1.0.26 92 5/7/2024
1.0.25 92 5/7/2024
1.0.24 102 5/5/2024
1.0.23 107 5/4/2024
1.0.20 108 5/4/2024
1.0.14 93 5/3/2024
1.0.12 103 4/29/2024
1.0.11 125 3/28/2024
1.0.10 109 3/28/2024
1.0.9 116 3/28/2024
1.0.8 100 3/28/2024
1.0.7 106 3/28/2024
1.0.6 118 3/28/2024