Files
python-sdk/pkg/hanzo-tasks
zeekayandHanzo Dev 39017ee7a1 hanzo-tasks: the client is the /v1/tasks contract, not a Temporal wrapper
The package dialed Temporal over gRPC, a transport hanzoai/tasks removed in
v3, so nothing it did could reach the engine. It is now the HTTP contract the
engine serves under /v1/tasks/namespaces/{ns}: start, signal-with-start, list,
describe, signal, query, cancel, terminate, reset, history, and schedules — one
method per route, IAM bearer, tested against the request shapes. A workflow's
body still runs in a Go or TypeScript worker.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-01 07:58:30 -07:00
..

hanzo-tasks

The Hanzo Tasks client: durable workflows over /v1/tasks.

Hanzo Cloud embeds the hanzoai/tasks engine and serves it at https://api.hanzo.ai/v1/tasks/namespaces/{namespace}/…, authenticated by your IAM bearer. This package is that HTTP contract, one method per route. A workflow's body runs in a worker written with the Go (tasks/pkg/sdk) or TypeScript (@hanzoai/tasks) SDK.

pip install hanzo-tasks
from hanzo_tasks import Client, TasksConfig

with Client(TasksConfig(token=TOKEN, namespace="acme")) as tasks:
    wf = tasks.start("agent.review", task_queue="agents", input={"repo": "acme/widgets"})
    tasks.signal(wf.workflow_id, "approve", {"by": "z"})
    state = tasks.query(wf.workflow_id, "status")
    tasks.cancel(wf.workflow_id, reason="superseded")

Routes covered: start, signal-with-start, list, describe, signal, query, cancel, terminate, reset, history; schedules create/get/list/delete/trigger.