> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rebuno.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Python SDK

Build agents and clients for Rebuno. The SDK is async-only and needs Python 3.11
or later. See the [Quickstart](/sdk/python/getting-started) to install and run it.

## What you write

You write one ordinary async function. Rebuno runs that handler for you. Route
every non-deterministic effect through the kernel, which records the outcome.
Three ways to do it:

<Columns cols={3}>
  <Card title="@rebuno.tool" icon="wrench" href="/sdk/python/tools">
    Records a `tool_call` step: actions the agent takes, such as a search, an
    email, or a database write.
  </Card>

  <Card title="rebuno.http_client()" icon="brain" href="/sdk/python/llm-calls">
    Records an `llm_call` step: calls to an LLM provider.
  </Card>

  <Card title="rebuno.step()" icon="clock" href="/sdk/python/steps">
    Records a `local` step: local non-determinism such as the clock, a random
    choice, or a fresh id.
  </Card>
</Columns>

On a re-dispatch the handler runs again from the top. Any step with a recorded
result replays it instead of running a second time.

## Sections

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/sdk/python/getting-started">
    Install, configure, and run a complete example.
  </Card>

  <Card title="Agents" icon="robot" href="/sdk/python/agents">
    The `Agent` host, input binding, `run` vs `app`, and lifecycle.
  </Card>

  <Card title="Tools" icon="wrench" href="/sdk/python/tools">
    `@tool`, `wrap_tool`, idempotency, blocking work, and MCP tools.
  </Card>

  <Card title="LLM calls" icon="brain" href="/sdk/python/llm-calls">
    `http_client()` and `RebunoTransport`.
  </Card>

  <Card title="Local steps" icon="clock" href="/sdk/python/steps">
    `rebuno.step()` for durable local work.
  </Card>

  <Card title="Clients" icon="plug" href="/sdk/python/client">
    Creating and inspecting executions, and approvals.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/sdk/python/errors">
    The exception hierarchy.
  </Card>

  <Card title="How it works" icon="gears" href="/sdk/python/internals">
    Step identity, replay, heartbeats, and the kernel protocol.
  </Card>
</Columns>
