Skip to main content
tif1 is a drop-in replacement for fastf1 in most common use cases. This guide shows the similarities and the key differences.

Comparison at a Glance


Migration Steps

1

Update Imports

Change import fastf1 to import tif1.
2

Update get_session Calls

Use full GP names and remove any session.load() calls. tif1 loads data lazily.
3

Check Filters

Replace pick_ methods with standard DataFrame filtering or the new Session methods.

Key API Differences

1. Lazy Loading

tif1 uses lazy loading by default. No need to call session.load().

2. Property Access

In fastf1, telemetry is often a method. In tif1, it is a property for a more modern feel.

3. Driver Information

tif1 provides a convenient drivers_df DataFrame with comprehensive driver information.

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:

Feature Parity

Archive Only

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

Track Maps

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

Weather Data

tif1 provides 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? Read the Quickstart guide.

Why tif1?

The full fastf1 comparison — rate limits, granularity, and more.

Quickstart

Get started quickly.

API Reference

Core API details.

FastF1 Compat

Compatibility layer.

Best Practices

tif1 patterns.
Last modified on September 3, 2026