Installation
Install the SDK for your language plus the verifier. Signing and verification both run locally, so you don’t need any HESO infrastructure to get started.
Which package do I need?
Pick the package that matches what you’re building.
- Build a Python agentheso
- The Python SDK. Gate, sign, and audit your agent’s actions. Ships the
hesoCLI. - Build a Node / TS agent@hesohq/sdk + @hesohq/node
- The TypeScript SDK plus the native addon that does the verify, sign, and key work.
- Verify receipts in a browser / CI@hesohq/verify-wasm
- Verify-only WASM. Runs in the browser, holds no private key.
- Verify evidence bundles on the CLIheso-verify-cli
- A standalone Rust binary for offline verification. The
hesoCLI shipped with the Python package verifies too.
Python
The Python SDK gates, signs, and audits your agent’s actions.
pip install heso
# or, with uv
uv add hesoRequires Python 3.10 or newer. It ships the Rust core as the heso._core wheel, so there is nothing to compile. The package also includes the heso CLI (init, verify, show, demo).
Next: the Python quickstart gates a real action end to end, or read the Python SDK reference.
Node / TypeScript
The TypeScript SDK is @hesohq/sdk. The native addon @hesohq/node does the verify, sign, and key work it builds on. Install both.
npm install @hesohq/sdk @hesohq/nodeNext: the TypeScript quickstart, or the @hesohq/sdk reference.
Browser verifier
@hesohq/verify-wasm is the verify-only WASM surface. It is ESM, runs in the browser, and holds no private key, so there is no signing client-side. The public function is verifyActionReceipt(receipt, now?).
npm install @hesohq/verify-wasmNext: Quickstart: Verify in the browser checks a receipt with no HESO infrastructure at all.
CLI
The heso CLI comes with the Python package — install heso and you have it. For offline verification of evidence bundles, heso-verify-cli is a standalone Rust binary vendored into each bundle, so anyone can verify a bundle without installing the SDK.
Verify your install
Scaffold a project and run the demo. heso demo mints and verifies a receipt, so a clean run confirms the SDK and Rust core both work.
heso init
heso demoThe Python quickstart takes the same flow further and gates a real action under policy.