SDKs
Last updated on May 21, 2026
TofuPilot ships official SDKs in five languages, and each one wraps the REST API with typed request and response models. You get the same endpoints in every language, so you can pick the one that matches your test stack without giving up coverage.
Python
The default client for OpenHTF, pytest, and Robot Framework benches. Runs on Python 3.8 and later.
C#
Strongly typed .NET client for TestStand, LabVIEW, and Windows-based test executives.
Rust
Async, zero-cost client for embedded test harnesses and high-throughput services.
C++
Header-light client for native test runners on Linux, macOS, and Windows.
MATLAB
Toolbox-style client for MATLAB-driven characterization and validation rigs.
What every SDK gives you
All five SDKs share the same surface, so once you know the shape of one you can move between languages without relearning the API.
- Typed models for every request and response payload, with editor autocomplete.
- Authentication with an API key or a station setup token, set once on the client.
- Streaming uploads for run attachments so you can attach large logs and binaries without buffering them in memory.
- Retries and timeouts on transient errors, so a flaky network does not lose a run.
- Pagination helpers that iterate every page transparently.
When to use an SDK
Use an SDK when you are calling TofuPilot from your own code, whether that is a custom test runner, a CI job, or an internal tool. If you only need a one-off call from a script or a curl pipeline, the raw REST API works fine.
For a TofuPilot-native authoring experience with the framework, CLI, and the operator UI, use the TofuPilot framework instead of an SDK.
How is this guide?