Hephaes Overview
Goal
The hephaes Python package turns ROS logs into standardized, ML-ready datasets with stable schemas across runs, robots, and recording variations.
It is the core data-conversion engine used by the backend and frontend, but it is also usable directly as a standalone Python library and CLI.
0.3 Release Highlights
- local
.hephaesworkspaces for assets, drafts, configs, jobs, runs, and outputs - path-backed asset registration with no raw-log copying into the workspace
- a complete draft-first authoring workflow through both
Workspaceand the CLI - an interactive
drafts wizardfor human-driven authoring - reusable saved configs that can be used later for conversions
What The Package Solves
- Ingest ROS1
.bagand ROS2.mcaplogs - Inspect recordings to understand topics, rates, and time bounds
- Draft and revise conversion specs from real source assets
- Preview drafted specs before saving them
- Map variable source topic names into a canonical output schema
- Save reusable conversion configs from confirmed drafts
- Synchronize asynchronous streams onto a shared timeline
- Convert source logs into Parquet or TFRecord outputs
- Emit sidecar manifests with provenance and metadata
Design Principles
- Keep conversion semantics explicit and versioned
- Preserve source fidelity while producing practical ML features
- Support schema standardization across heterogeneous fleets
- Keep outputs deterministic and reproducible for training pipelines
Where It Fits
ROS/MCAP logs -> hephaes (inspect + draft + preview + save + convert) -> Parquet/TFRecord + manifestIn the full local stack:
Frontend (React + Vite / Tauri) <-> Backend (FastAPI) <-> hephaes (Python package)Current Scope
- Python 3.11+
- Local filesystem inputs and outputs
- Path-backed workspace assets that remain at their original filesystem locations
- One output dataset file per input log
- Library and CLI interface
- Full draft-first authoring workflow through both
Workspaceand the CLI (see CLI)
Related Docs
Last updated on