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
| Feature | fastf1 | tif1 |
|---|---|---|
| Data Source | Ergast + F1 Live Timing | TracingInsights (CDN) |
| Loading Speed | Baseline | 4-5x faster (Async) |
| Lib | Pandas only | Pandas + Polars |
| Caching | File-based Pickle | SQLite + Memory LRU |
| HTTP Version | HTTP/1.1 | HTTP/2 |
Migration Steps
Update get_session Calls
Use full GP names and remove any
session.load() calls. tif1 loads data lazily.Key API Differences
1. Lazy Loading
tif1 uses lazy loading by default. No need to callsession.load().
2. Property Access
Infastf1, telemetry is often a method. In tif1, it is a property for a more modern feel.
3. Driver Information
tif1 provides a convenientdrivers_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 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.
Related Pages
Quickstart
Get started quickly
API Reference
Core API details
FastF1 Compat
Compatibility layer
Best Practices
tif1 patterns