Skip to content

Meet chiptime: your workout data, fully yours

Every sports watch and bike computer records into FIT files. Getting your data out of them — cleanly, completely, and with analysis attached — is what chiptime is for.

FIT files in, answers out

import chiptime
from chiptime import metrics

result = chiptime.parse("morning_ride.fit")
session = result.activity.sessions[0]

session.derived.distance_m           # totals recomputed from the actual data
session.records.stream("power")      # per-second streams, null-honest
report = metrics.analyze(result, metrics.AthleteSettings(ftp_w=250))
report.sessions[0].structure.repeats[0].label   # "3 x 10:00 @ 194 W rest 3:24"

One call parses any FIT file into a clean model — sessions, laps, swim lengths, per-second columnar streams. The analytics layer speaks each sport's language: pace and splits for runs, watts and weighted power for rides, min/100m and sets for swims, /500m splits for rowing. Interval structure is detected with named evidence, training load carries its basis, and anything that would require guessing (thresholds, zones) is honestly omitted instead.

Built for imperfect files

Real files are messy: crashes mid-write, dead batteries, sensors dropping out, firmware writing timestamps from 1989. chiptime treats robustness as a first-class feature — damaged files parse instead of raising, chiptime repair writes back a valid uploadable file, and every decision made about your data is recorded in a machine-readable provenance log. Zero data loss without a paper trail, ever.

Built for pipelines and agents

Deterministic canonical JSON (same file → same bytes, any machine), stable machine codes for every error and insight, meaningful exit codes, an llms.txt manifest, and generated API docs. If the consumer of your workout data is a program or an LLM, chiptime was designed with it in mind.

Get it

pip install chiptime

Python 3.11–3.14, zero runtime dependencies, MIT. Start with the five-minute tour, or read the contract — the eight invariants that govern every feature.