Traceable provenance
Each processed episode records the pipeline and tool versions that produced it.
a41c9f27b3d8
HFlow is an open-source SDK for scalable multimodal data pipelines in robotics and Physical AI. It brings production-grade tools and practices—typically developed inside large robotics data teams—to anyone building with robot data.
Show your support by starring the repository and sharing HFlow with your network.
The data lifecycle
HFlow turns multimodal recordings into traceable, quality-tagged episodes and a queryable catalog. Each stage produces an output you can inspect, reproduce, and own.
Land synchronized video, state, action, and sensor streams as one MCAP episode.
episode_0042.mcap
Run your transformations, quality checks, labels, and enrichments as a visible pipeline.
transform → check → enrich
Query metadata and quality evidence across the corpus without loading the recordings.
SELECT … FROM episodes
Produce version-pinned manifests and curated episodes for downstream applications.
manifest.parquet
Your processing code stays yours
Write plain Python functions for transformations, checks, labels, and enrichments. HFlow records the inputs, outputs, versions, and measurements around each step.
import hflow
app = hflow.App("kitchen-pipeline", data_root="./data")
@app.check(critical=True)
def camera_blackout(episode: hflow.Episode) -> hflow.CheckResult:
frame_stats = hflow.ffmpeg.frame_stats(episode.video("wrist_cam"))
return hflow.CheckResult(
measurements={"black_pct": frame_stats.black_frame_pct},
verdict=frame_stats.black_frame_pct < 50.0,
)
app.test("episode_0042.mcap")
uv add hflow
Production-grade practices, built in
HFlow treats pipeline history, measurements, and versions as durable data—not information trapped inside logs.
Each processed episode records the pipeline and tool versions that produced it.
a41c9f27b3d8
Checks preserve reusable measurements so each dataset can apply its own thresholds.
0.18
Rendered Airflow DAGs show task state, logs, retries, dependencies, and reruns.
DuckDB queries write version-pinned manifests with explicit coverage information.
folding_v7.parquet
A pipeline you can see
Test the full pipeline in-process, then generate an Airflow 3 DAG for scheduled runs. The same processing functions move from development to durable orchestration.
Standard formats at every boundary
HFlow connects formats and tools that robotics and data teams already use. Your recordings, catalogs, and manifests remain accessible without HFlow.
Project questions
HFlow is pre-v1. The core lifecycle works end to end, and you can try it locally today.
Read the complete FAQHFlow is for robotics and Physical AI teams that process multimodal recordings and need traceable, repeatable data pipelines.
No. The quickstart generates a small multimodal episode, so you can run the full lifecycle without hardware, Docker, or Airflow.
No. Your transformations, checks, labels, and enrichments remain plain Python functions. HFlow adds orchestration, storage, versioning, and curation around them.
Yes. Run a single workspace with Docker Compose or deploy the generated DAG bundle into an Airflow 3 environment that you operate.
Contribute code, documentation, examples, compatibility work, bug reports, or design feedback. The contribution guide lists the current priorities.
Open source, built together
Our goal is to grow an open-source community where anyone can participate in building better robotics data infrastructure. Star HFlow to show your support and help more developers discover the project.