hflow
SDK for robotics teams to verify the quality of their data used for AI model training.
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
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.
Featured in Videos
YouTube tutorials and walkthroughs for hflow
Alternatives
Similar projects ranked by category, topics, and text overlap.