Skip to Content
HephaesOverview

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 .hephaes workspaces 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 Workspace and the CLI
  • an interactive drafts wizard for human-driven authoring
  • reusable saved configs that can be used later for conversions

What The Package Solves

  • Ingest ROS1 .bag and ROS2 .mcap logs
  • 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

  1. Keep conversion semantics explicit and versioned
  2. Preserve source fidelity while producing practical ML features
  3. Support schema standardization across heterogeneous fleets
  4. Keep outputs deterministic and reproducible for training pipelines

Where It Fits

ROS/MCAP logs -> hephaes (inspect + draft + preview + save + convert) -> Parquet/TFRecord + manifest

In 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 Workspace and the CLI (see CLI)
Last updated on