Skip to content

Reference

Generated, exhaustive, and the source of truth for the API surface. If you've never read these before, the cheat sheet is where to start.

At a glance

Concern Python Go TypeScript Java
Wire the runtime in one call tape.adk.durable_app(...) tape.NewDurableApp(ctx, cfg) durableApp({...}) DurableApp.wire(new Config().…)
Outbox tool for non-idempotent @tape.outbox_tool(...) tape.NewOutboxTool(opts) outboxTool(fn, opts) OutboxTool.builder(name, conn).…
Capability connector registry tape.connectors.register(...) connectors.Default CONNECTORS ConnectorRegistry.DEFAULT
Structured logs + OTel spans tape.obs.log_json / span tape.LogJSON / tape.Span logJson / span / setSpanHook Obs.logJson / Obs.span
Tenancy + DESIGN-ONLY warn tape.TenancyConfig tape.TenancyConfig tenancyFromObject / warnIf… Tenancy.Config

All four SDKs enforce the same non_idempotent safety rule at construction time — no business_key, no status_check, no compensate ⇒ the SDK refuses to build the tool. The Rust server enforces the contract again at BeginEffect-time, so an older SDK can't slip through.

The CLI stays Python; the agent process can be any of the four languages.

Pages

  • Cheat sheet Everything Tape on one page. Install, wire, decorate, deploy. Copy, paste, ship.

  • Python — tape-py The reference SDK + ADK adapter. API generated from Google-style docstrings via mkdocstrings.

  • Go — tape-go Generated from godoc via gomarkdoc. Pub/Sub gated behind the pubsub build tag; Cloud Tasks behind cloudtasks.

  • TypeScript — tape-ts Generated from TSDoc via typedoc --plugin typedoc-plugin-markdown.

  • Java — dev.tape:tape Generated by mvn javadoc:javadoc; embedded as a sibling site at reference/java/javadoc/.

  • CLI — tape Generated from the live Typer app by scripts/docs/gen_cli.py. To change the content, edit the Typer commands and re-run the script.

What "generated" means

The reference pages are generated from the SDK / CLI source. The generator scripts live in scripts/docs/. If a reference page doesn't match the code, the source is right and the docs need to be re-generated:

scripts/docs/gen_all.sh

The CI workflow at .github/workflows/docs.yml runs this on every push to main, so the published site is always in sync.

Where to read prose

The reference is API-shape. If you're learning the model, read the Concepts. If you're looking for "how do I do X", read the How-to guides.