Repository navigation
HFlow 0.2.11
HFlow 0.2.11 makes check execution and processing async-only. Existing callers must migrate.
- Define checks with
async defand await built-in checks. - Await
App.process,process_many,test,test_many,process_stage_batch, andrun_stages_directly. Useasyncio.run(...)at synchronous script entry points; the CLI and generated Airflow tasks handle this boundary. - Checks run on the caller's event loop. Batch processing preserves input order and bounds admission; cancellation stops active checks and drains started blocking work before releasing episode files.
- Use
hflow.asyncio_utils.run_blockingfor existing blocking media/file work. Threads cannot be forcibly stopped, so use native async clients for interruptible HTTP/model requests. - Build AI and example model integrations now use async clients. Hosted checks enforce a total deadline across request attempts, streamed response reads, and retry delays. Connections are reused within a check invocation and closed on exit.
CheckResult and report schemas remain unchanged. Transform, enrichment, derived-channel, and progress callbacks retain synchronous signatures. Canonical transform identity is unchanged by this API migration.
This release also includes the real-camera LeRobot workflow, stricter LeRobot input validation, fail-closed joint-motion measurements, atomic contact-sheet staging, and a shared single-SELECT SQL gate for dry-run and manifest-writing curation, already merged since 0.2.10.