Skip to main content
tif1 is designed to be a drop-in replacement for fastf1 for most common use cases. This guide highlights the similarities and the few key differences you need to know.

Comparison at a Glance

Featurefastf1tif1
Data SourceErgast + F1 Live TimingTracingInsights (CDN)
Loading SpeedBaseline4-5x faster (Async)
LibPandas onlyPandas + Polars
CachingFile-based PickleSQLite + Memory LRU
HTTP VersionHTTP/1.1HTTP/2

Migration Steps

1

Update Imports

Change import fastf1 to import tif1.
import tif1 as ff1 # Alias to keep existing code working
2

Update get_session Calls

Use full GP names and remove any session.load() calls. tif1 loads data lazily.
session = tif1.get_session(2025, "Monaco Grand Prix", "Race")
laps = session.laps # Fetches automatically
3

Check Filters

If you used pick_ methods, switch to standard DataFrame filtering or use the new Session methods.
fastf1tif1
laps.pick_fastest()session.get_fastest_laps(by_driver=False)
laps.pick_driver('VER')session.get_driver('VER').laps

Key API Differences

1. Lazy Loading

tif1 uses lazy loading by default. No need to call session.load().
# fastf1
session = fastf1.get_session(2025, "Monaco", "R")
session.load()
laps = session.laps

# tif1
session = tif1.get_session(2025, "Monaco Grand Prix", "Race")
laps = session.laps  # Automatically fetches on first access

2. Property Access

In fastf1, telemetry is often a method. In tif1, it is a property for a more modern feel.
# fastf1
telemetry = lap.get_telemetry()

# tif1
telemetry = lap.telemetry

3. Driver Information

tif1 provides a convenient drivers_df DataFrame with comprehensive driver information.
# tif1
drivers_df = session.drivers_df
print(drivers_df[["Driver", "Team", "DriverNumber", "TeamColor"]])

4. Enriched Data

tif1 automatically enriches data:
  • Weather data is included in every lap
  • Telemetry includes DriverAhead and DistanceToDriverAhead
  • LapTimeSeconds is provided as a numeric helper alongside LapTime

5. Async Optimization

For maximum performance, adopt the async pattern:
# Massive speed gain for initial load
laps = await session.laps_async()

Feature Parity

Archive Only

tif1 focuses on historical data (2018-current). It does not support Live Timing.

Track Maps

Track map generation is currently not supported but is planned for a future release.

Weather Data

We provide raw 1-minute weather samples. fastf1 style interpolation is not yet implemented.

Categorical Optimization

tif1 optimizes memory by default using categoricals, which may behave slightly differently in some Pandas operations.
Ready to start? Check out the Quickstart guide.

Quickstart

Get started quickly

API Reference

Core API details

FastF1 Compat

Compatibility layer

Best Practices

tif1 patterns
Last modified on March 5, 2026