SVappsLAB.iRacingTelemetrySDK
1.0.0-alpha.4
Prefix Reserved
This is a prerelease version of SVappsLAB.iRacingTelemetrySDK.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SVappsLAB.iRacingTelemetrySDK --version 1.0.0-alpha.4
NuGet\Install-Package SVappsLAB.iRacingTelemetrySDK -Version 1.0.0-alpha.4
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="SVappsLAB.iRacingTelemetrySDK" Version="1.0.0-alpha.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SVappsLAB.iRacingTelemetrySDK" Version="1.0.0-alpha.4" />
<PackageReference Include="SVappsLAB.iRacingTelemetrySDK" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SVappsLAB.iRacingTelemetrySDK --version 1.0.0-alpha.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SVappsLAB.iRacingTelemetrySDK, 1.0.0-alpha.4"
#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.
#:package SVappsLAB.iRacingTelemetrySDK@1.0.0-alpha.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SVappsLAB.iRacingTelemetrySDK&version=1.0.0-alpha.4&prerelease
#tool nuget:?package=SVappsLAB.iRacingTelemetrySDK&version=1.0.0-alpha.4&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
iRacing Telemetry SDK for C# .NET
High-performance .NET SDK for accessing live telemetry data from iRacing simulator and IBT file playback. Features compile-time code generation for strongly-typed telemetry access with lock-free performance optimizations.
Why Use This SDK?
- Live Telemetry: Real-time access to speed, RPM, tire data, and 200+ other variables during iRacing sessions
- IBT File Support: Full support for telemetry data saved in iRacing IBT files. Work with historical data using the same API as live telemetry
- Type Safety: Enum-based telemetry variables with IntelliSense/Copilot support and compile-time validation
- High Performance: Processes over half a million telemetry records/second with lock-free channel architecture
- Modern Async API: Real-time non-blocking channel-based data streams with async patterns and automatic backpressure handling
Perfect for building dashboards, data analysis tools, race engineering applications, and telemetry visualizations.
Installation
dotnet add package SVappsLAB.iRacingTelemetrySDK
Quick Start
using Microsoft.Extensions.Logging;
using SVappsLAB.iRacingTelemetrySDK;
// 1. Define the telemetry variables you want to track
[RequiredTelemetryVars([TelemetryVar.Speed, TelemetryVar.RPM])]
public class Program
{
public static async Task Main(string[] args)
{
// 2. Create logger
var logger = LoggerFactory.Create(builder => builder.AddConsole())
.CreateLogger("Simple.Program");
// 3. Choose data source
IBTOptions? ibtOptions = null; // null for live telemetry from iRacing
// = new IBTOptions("gt3_spa.ibt"); // IBT file path for playback
// 4. Create telemetry client
await using var client = TelemetryClient<TelemetryData>.Create(logger, ibtOptions);
using var cts = new CancellationTokenSource();
// 5. Subscribe to telemetry data stream (60Hz rate)
var telemetryTask = Task.Run(async () =>
{
await foreach (var data in client.TelemetryDataStream.ReadAllAsync(cts.Token))
{
Console.WriteLine($"Speed: {data.Speed}, RPM: {data.RPM}");
}
}, cts.Token);
// 6. Subscribe to session info updates
var sessionTask = Task.Run(async () =>
{
await foreach (var session in client.SessionDataStream.ReadAllAsync(cts.Token))
{
Console.WriteLine($"Track: {session.WeekendInfo.TrackName}, Drivers: {session.DriverInfo.Drivers.Count}");
}
}, cts.Token);
// 7. Start monitoring
var monitorTask = client.Monitor(cts.Token);
await Task.WhenAny(monitorTask, telemetryTask, sessionTask);
}
}
Requirements
- .NET 8.0+
Documentation & Examples
- Getting Started Guide - Quick setup and basic usage walkthrough
- Sample Projects - Ready-to-run examples: basic monitoring, data export, track analysis
- AI Usage Documentation - Comprehensive reference for AI coding assistants
- Migration Guide - Step-by-step migration from legacy events to modern channels
- GitHub Repository - Full source code and releases
License
Apache License 2.0 - See LICENSE for details.
| Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.Diagnostics.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.7)
- YamlDotNet (>= 16.3.0)
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.0-beta.4 | 200 | 11/10/2025 | |
| 1.0.0-beta.3 | 132 | 11/2/2025 | |
| 1.0.0-beta.2 | 124 | 10/20/2025 | |
| 1.0.0-beta.1 | 124 | 10/13/2025 | |
| 1.0.0-alpha.4 | 127 | 9/30/2025 | |
| 1.0.0-alpha.3 | 105 | 9/28/2025 | |
| 1.0.0-alpha.2 | 121 | 9/26/2025 | |
| 1.0.0-alpha.1 | 95 | 9/5/2025 | |
| 0.9.8.3 | 180 | 8/1/2025 | |
| 0.9.8.1 | 163 | 7/31/2025 | |
| 0.9.8 | 145 | 7/27/2025 | |
| 0.9.7 | 181 | 7/7/2025 | |
| 0.9.6 | 166 | 7/1/2025 | |
| 0.9.5 | 170 | 6/15/2025 | |
| 0.9.4 | 171 | 6/14/2025 | |
| 0.9.3 | 132 | 6/1/2025 | |
| 0.9.2 | 235 | 5/12/2025 | |
| 0.9.1 | 181 | 4/30/2025 | |
| 0.9.0 | 298 | 3/9/2025 | |
| 0.8.0 | 169 | 2/10/2025 | |
| 0.7.0 | 177 | 12/8/2024 | |
| 0.6.7 | 150 | 10/13/2024 | |
| 0.6.5 | 136 | 9/28/2024 | |
| 0.6.3 | 158 | 9/17/2024 | |
| 0.6.2 | 154 | 9/14/2024 | |
| 0.6.1 | 159 | 9/9/2024 | |
| 0.6.0 | 175 | 8/27/2024 | |
| 0.5.0 | 184 | 8/17/2024 | |
| 0.4.8 | 157 | 7/20/2024 | |
| 0.1.7-beta | 166 | 7/20/2024 | |
| 0.1.6-beta | 150 | 7/20/2024 |