Runner SDKs¶
Every SDK is a bridge client that spawns $HTTK_WORKFLOW_PYTHON -m httk.workflow._shell_bridge; only --describe is native and byte-identical, and the normative surface is Python and Bash authoring parity.
Native runner helpers — Python, the original authoring SDK
Native Bash runner API — the same surface in Bash
Native C runner API — the same surface in C, and the foundation for Fortran bindings
Native modern-Fortran runner API — the same surface in modern Fortran, over the C bindings
Native Rust runner API — the same surface in safe, std-only Rust
Native Perl runner API — the same surface in pure, core-only Perl
Native Ada runner API — the same surface in Ada 2012, over the C bindings
Native C++ runner API — the same surface in C++17, over the C bindings
Native Java runner API — the same surface in Java 17, over the Python bridge
The breadcrumb labels summarize the errors as ShellError; CError for C, Fortran, Ada, and C++; RustError; PerlError; and JavaError.
Single-file compiled runners are architecture-bound and should transfer only
between matching machines. A self-contained package with a [workflow.build]
declaration is the portable alternative: transfer its sources, then build once
per platform class. See examples/relax_cpp for the C++ package form.