Skip to content

zaggyai/daq_tools

Repository files navigation

daq_tools

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.

Installation

pip install daq_tools

Supported Formats

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

Usage

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 columns

Parquet Persistence

Session 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")

Development

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 + wheel

License

MIT

About

Python utilities for working with motorsport data acquisition files/systems

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages