Telemachus is an open, Parquet-native pivot format for high-frequency mobility and telematics data. It bridges the rigor of scientific kinematics (multi-rate GNSS+IMU at 10-100 Hz, accelerometer gravity frame tracking) and scalable fleet analytics (OBD, trip metadata, carrier state) in a single format — instantly queryable in Pandas, Spark, DuckDB, or Athena.
Why not an existing standard? Robotics formats (ROS bags) handle the physics but aren't columnar. Fleet APIs (Geotab, Samsara) handle scale but abstract away raw sensors. IoT protocols (MQTT, SensorThings) handle transport but not analytical storage. Telemachus fills the gap: raw sensor data, SI units, flat columns, Parquet files, Python SDK.
This repository is the monorepo consolidating spec, Python SDK, CLI, and reference datasets into a single source of truth.
| Directory | What |
|---|---|
spec/ |
SPECs + JSON Schemas — the normative specification |
python-sdk/ |
Python SDK & validator (telemachus package on PyPI) |
python-cli/ |
CLI tools (tele command, bundled with the SDK) |
datasets/ |
Open datasets in Telemachus format — AEGIS, STRIDE, RS3, PVS |
docs/ |
Site sources (mkdocs) + the AEGIS demo notebook |
| Artifact | Version |
|---|---|
| Current spec | v0.8 (2026-04-16) — consolidated into 4 SPEC pillars |
The v0.8 specification defines the Telemachus record format (column contracts, AccPeriod frame tracking, CarrierState classification, burst sampling, magnetometer support) and the normative Dataset Manifest.
pip install telemachusThe AEGIS demo notebook (open in Colab) downloads a real Open dataset from Zenodo, loads it, and plots one trip.
import telemachus as tele
df = tele.read("path/to/manifest.yaml") # or directly a .parquet
print(tele.sensor_profile(df)) # → "gps+imu+gyro"tele validate path/to/dataset/ --level full # full dataset (parquet + manifest)
tele validate path/to/data.parquet --level basic
tele info path/to/manifest.yaml # dataset summarytele convert aegis /path/to/aegis/csvs -o datasets/aegis/
tele convert pvs /path/to/pvs/trips -o datasets/pvs/ --placement dashboard
tele convert stride /path/to/stride/road_data -o datasets/stride/ --category drivingThe spec was consolidated in April 2026 from 10 RFCs into 4 pillars:
| SPEC | Title | Scope |
|---|---|---|
| SPEC-01 | Telemachus Record Format | Column definitions, functional groups (GNSS, IMU, Vehicle I/O), validation rules, hardware mapping |
| SPEC-02 | Dataset Manifest | manifest.yaml schema, sensors, AccPeriods, CarrierState, inheritance rules |
| SPEC-03 | Adapters & Validation | Adapter interface, Open dataset specs (AEGIS/PVS/STRIDE), validation framework, CLI |
| SPEC-04 | Governance & Versioning | Versioning model, release checklist, IP channel separation |
Previous RFCs (0001→0014) are archived in spec/rfcs/ with deprecation notices pointing to the corresponding SPEC.
S. Edet (2026). Telemachus Specification v0.8 — Open Parquet-Native
Format for High-Frequency Telematics Data. Zenodo.
https://doi.org/10.5281/zenodo.19609019
Open datasets shipped in Telemachus format:
- AEGIS (Austria, GNSS+IMU+Gyro+OBD, CC-BY-4.0) — 10.5281/zenodo.19609044
- STRIDE (Bangladesh, smartphone 100 Hz, CC-BY-4.0) — 10.5281/zenodo.19609053
- RS3 (Le Havre synthetic, CC0-1.0) — 10.5281/zenodo.19609057
Specification, schemas, datasets: MIT / CC-BY / CC0 (per-file).
Python SDK: AGPL-3.0-only. See LICENSE.