Skip to main content
Ingestion needs no credentials. EnvironmentConfig exposes exactly three settings, each with a sensible default, each overridable via an environment variable or a .env file.
path
default:"data/cache"
Where FastF1 caches downloaded session data on disk. Sized to hold every session you’ve loaded once see the cache section below.
string
default:"INFO"
Default logging verbosity, overridden per-run by ingest.py’s --log-level flag.
float
default:"300"
Per-request timeout passed through to FastF1’s network calls. Falls back to 300 with a warning if set to a non-numeric value.
Neither FastF1 nor Jolpica requires authentication. There is no API key, token, or secret anywhere in the ingestion config surface.

.env discovery

EnvironmentConfig searches for a .env file up the directory tree the current working directory, then ingestion/, then the project root and loads the first one it finds. You don’t need to export variables manually; dropping a .env file at the project root is enough.
.env

The FastF1 cache

Every session FastF1 loads is cached to FASTF1_CACHE_DIR (data/cache/ by default) the first time it’s pulled. Subsequent loads of the same session including a --force re-ingest read from the local cache instead of hitting the upstream feed again.
This is why --force re-pulls are cheap: the slow part (talking to FastF1’s live-timing/archive feed) only happens once per session. Everything after that is a local cache read plus the Bronze write.
The cache directory is created automatically on first run via fastf1.Cache.enable_cache(...) there’s nothing to set up beyond optionally redirecting where it lives.