> ## Documentation Index
> Fetch the complete documentation index at: https://offthepace.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ingest

> Unified F1 Bronze-layer ingestion controller.

Unified F1 Bronze-layer ingestion controller. Fetches race and qualifying data from FastF1 and writes Hive-partitioned Parquet to `data/bronze/`.

## Usage

```bash theme={null}
usage: ingest.py [-h] (--start-season YEAR | -s YEAR) [--end-season YEAR] [--round N] [--session {R,Q,both}] [--skip-telemetry] [--telemetry-full] [--force] [--dry-run] [--log-level LOG_LEVEL]
```

## Options

```
-h, --help            show this help message and exit
  --start-season YEAR   First season to ingest (use with --end-season)
  -s, --season YEAR     Single season shorthand (equivalent to --start-season
                        N --end-season N)
  --end-season YEAR     Last season to ingest (inclusive). Required with
                        --start-season.
  --round N             Ingest only this round number (requires a single
                        season via -s/--season)
  --session {R,Q,both}  Which session types to ingest (default: both)
  --skip-telemetry      Skip telemetry extraction (faster dry-runs and
                        qualifying-only runs)
  --telemetry-full      Ingest full-channel car_data (Speed, Throttle, Brake,
                        nGear, RPM, DRS) and pos_data (v0.2)
  --force               Overwrite existing Parquet files instead of skipping
                        them
  --dry-run             Show what would be fetched without pulling data
  --log-level LOG_LEVEL
                        Logging level: DEBUG, INFO, WARNING, ERROR (default:
                        INFO)
```

## Examples

```bash theme={null}
python ingest.py --season 2024 --round 1 --session R
                 Ingest a single race (2024 Rd1, Bahrain)
  python ingest.py --season 2024 --session R
                 Ingest 2024 races only
  python ingest.py --season 2024 --session both
                 Ingest 2024 races and qualifying
  python ingest.py --start-season 2018 --end-season 2024 --session both
                 Full historical backfill (4–6 hours)
  python ingest.py --season 2024 --force
                 Re-ingest 2024, overwriting existing files
  python ingest.py --season 2024 --skip-telemetry --dry-run
                 Dry-run without pulling telemetry
```
