hflow logo

hflow

SDK for robotics teams to verify the quality of their data used for AI model training.

Y Combinator  S26discord
Website GitHub

What is it?

What it is

HFlow is an open‑source SDK for scalable multimodal data pipelines in robotics and physical AI. It provides a complete, format‑agnostic data lifecycle—collection, ingestion, curation, and delivery—making the sophisticated tooling and practices of large robotics teams accessible to teams of any size.

Why it exists

Robotics data processing is a major bottleneck. Teams struggle with quality control, provenance tracking, pipeline visibility, and corpus‑wide querying without loading raw recordings. HFlow solves this by offering built‑in checks, reusable evidence, MCAP episode containers, a Parquet catalog, DuckDB‑based curation, and Airflow‑style pipeline graphs, enabling teams to focus on their own Python transforms while HFlow handles orchestration, storage, versioning, and curation.

Who should use it

Robotics data engineersPhysical AI researchersTeams building multimodal datasetsDevelopers familiar with Python, MCAP, and Airflow

Who should avoid it

General-purpose ETL usersBeginners without Python or robotics data experienceTeams needing zero-configuration pipelines

How it works

A quick walkthrough in plain English

How hflow works

Step 1 of 3

You interact with it

Open hflow, send a request, or connect it to your stack.

Features

Open source SDK for scalable multimodal data pipelines in robotics and physical AI
MCAP-based input/output boundary for synchronized video, state, action, and time-series streams
DuckDB SQL-based curation and catalog querying
Apache Airflow 3 DAG generation for scheduled pipeline execution
Provenance tracking with schema, pipeline, and tool versions stamped on episodes
Visual pipeline graph rendering via Airflow DAGs
Quality checks with reusable evidence and queryable measurements
LeRobot Dataset v3 import support
DuckDB browser UI for catalog inspection
Python-based transforms, checks, labels, and enrichments
Parquet catalog for metadata, quality measurements, tags, and artifact locations
Docker Compose runtime for single-tenant deployment
Topic-group chunking for optimized training sample reads
In-process development mode without infrastructure requirements
Multi-cloud storage support (S3, GCS, Azure) via optional bucket backend
Episode versioning with behavior-preserving and behavior-changing version semantics
Vision model integration support (e.g., OpenAI vision API)
Version-pinned manifest generation for reproducibility

Advantages

  • Makes enterprise-grade data tooling accessible to teams of any size
  • Your existing processing code stays yours through small adapter interfaces
  • Query corpora without loading underlying recordings via Parquet catalog
  • Standard formats at every boundary (MCAP, Parquet, Airflow DAGs) avoids vendor lock-in
  • Built-in quality checks reduce initial setup overhead
  • End-to-end provenance tracing from source to curated output
  • Pipeline visualization enables clear monitoring of stages, status, and logs
  • Pre-v1 status indicates active development with community involvement
  • Apache 2.0 license enables commercial use
  • Supports diverse data sources: human-worn cameras, teleoperated robots, autonomous policies
  • Evidence-based quality control separates measurement from verdict policy
  • Y Combinator backing (S26) signals credible startup support

Disadvantages

  • Pre-v1 status means APIs and features may change significantly before stable release
  • Requires Python ≥ 3.11, excluding older Python deployments
  • Docker dependency for pipeline runtime adds operational complexity
  • Windows not natively supported; requires WSL2 workaround
  • First run downloads ~2 GB of container images and builds task venv
  • Native video operations require ffmpeg/ffprobe binaries (downloaded to user cache on first use)
  • No built-in user accounts, RBAC, or multi-tenant control plane in open source version
  • MCAP as the input boundary may require conversion for non-MCAP recording systems
  • Multi-tenant hosted control plane is not implemented and not pre-v1 committed
  • S3/GCS/Azure support requires optional bucket backend extra dependency
  • LeRobot import has a supported feature subset, not full feature parity

Installation

cloud

Deploy the generated DAG bundle into an Airflow 3 environment you already operate (e.g., Astronomer, MWAA, Cloud Composer, or self-managed). The data plane is kept separate from account and control-plane concerns so the same engine can be scaled as multiple isolated workspaces behind an external control plane.

docker

Docker is required for the pipeline runtime (not needed for `app.test()`). The first `hflow up` downloads ~2 GB of container images and builds the task venv (one-time).

native

Install the SDK from PyPI with `uv add hflow`. Or clone the repo: `git clone https://github.com/Hebbian-Robotics/hflow.git`, `cd hflow`, `uv sync --locked`, then run `uv run python examples/quickstart.py`. Python ≥ 3.11 is required. For cloud storage backends (s3://, gs://, Azure), use `uv sync --extra bucket`. On Linux x86_64/aarch64, the first video operation downloads a checksum-verified, pinned ffmpeg/ffprobe build into the user cache; set `HFLOW_FFMPEG` and `HFLOW_FFPROBE` to use custom binaries. Windows is supported via WSL2.

compose

Run one single-tenant workspace with the included Docker Compose runtime using `hflow up`. This downloads ~2 GB of container images and builds the task venv on first run.

FAQ

What is HFlow and who is it for?

HFlow is an open-source SDK for scalable multimodal data pipelines in robotics and physical AI, maintained by Hebbian Robotics (YC S26). It helps teams solve data quality control, pipeline orchestration, and curation problems across growing robotics corpora by standardizing on MCAP episodes, Python-based transforms, and a queryable Parquet catalog.

Why does HFlow use MCAP as its input and output boundary?

MCAP efficiently stores and serves synchronized video, state, action, and other time-series streams. It supports in-band H.264/H.265 video and topic-group chunking, allowing camera and state streams to be read independently. Any system that can represent data as MCAP episodes can feed the pipeline, including LeRobot datasets, teleoperated robots, and autonomous policies.

How do quality checks work in HFlow and how is evidence stored?

Checks are plain Python functions that record measurements with coverage rather than hardcoded pass/fail verdicts. Results land as queryable measurements in the Parquet catalog, allowing different datasets to apply different thresholds without re-processing media. Each check declares a version, and provenance is stamped on processed episodes, connecting outcomes to source URIs and pipeline tool versions.

What is the four-stage lifecycle in HFlow and how does it work?

HFlow uses a four-stage lifecycle: collection → ingestion (transforms via Airflow DAGs) → curation (SQL over a quality catalog) → delivery (curated MCAP episodes with version-pinned manifests). This replaces fragmented scripts with an auditable, reproducible pipeline where each stage's output is versioned and traceable.

How can I query and curate the corpus without loading underlying recordings?

Metadata, quality measurements, tags, and artifact locations live in a queryable Parquet catalog using DuckDB. You can answer corpus-wide questions and build manifests without opening MCAP files, for example via `hflow catalog ui` or DuckDB SQL queries that filter by episode_id, task, status, quality measurements, and pipeline version.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for hflow

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
hflow | MushyBook