Skip to content

SDKs

An SDK speaks the hub protocol for you, and the hub's safety kernel still checks every command.

LanguagePackageStatus
Python openhal.client reference
TypeScript not published planned

Python

The Python SDK ships in the repository, and a blocked command returns a decision that carries the error code.

$ uv run openhal init
$ uv run openhal file confirm ~/.openhal/devices/plant-waterer.hal.yaml
$ uv run openhald
from openhal.client import connect

with connect() as hub:
    decision = hub.action("plant-waterer", "water", duration={"value": 120, "unit": "s"})
    print(decision.status, decision.code)

Python guide and API reference