Python library for reading data acquisition (DAQ) files from motorsport data logging systems. Provides unified readers for various telemetry formats, returning data as pandas DataFrames with pint-pandas unit support.
pip install daq_tools| Reader | Format | File Extension |
|---|---|---|
MoTeCCSVReader |
MoTeC CSV exports | .csv |
AiMCSVReader |
AiM CSV exports | .csv |
CSVReader |
Auto-detects MoTeC/AiM | .csv |
IBTReader |
iRacing telemetry | .ibt |
XRKReader |
AiM XRK binary telemetry | .xrk |
WinTAX4BinReader |
WinTAX4 binary exports | .bin |
VBOReader |
Racelogic VBOX VBO text | .vbo |
VBBReader |
Racelogic VBOX VBB binary | .vbb |
All readers follow the same interface:
from daq_tools.readers import MoTeCCSVReader
header, data = MoTeCCSVReader.read("session.csv")
# header: dict with file metadata
# data: time-indexed pandas DataFrame with pint-pandas units on columnsSession data can be saved to and loaded from Parquet with metadata and units preserved:
from daq_tools.utils import session_data_to_parquet, session_data_from_parquet
session_data_to_parquet("session.parquet", header, data)
header, data = session_data_from_parquet("session.parquet")This project uses uv.
uv sync --dev # create .venv and install runtime + dev deps
uv run pytest # run tests
uv run ruff check src/ # lint
uv run ruff format src/ # format
uv build # build sdist + wheelMIT