Skip to main content

Python SDK for the Rebuno execution runtime

Project description

Rebuno Python SDK

Python client library for the Rebuno agent execution runtime.

Installation

pip install rebuno

Quick Start

from rebuno import Client

client = Client(base_url="http://localhost:8080")

execution = await client.create("my-agent", input={"prompt": "hello"})
print(execution.id)

Client defaults to REBUNO_URL and REBUNO_API_KEY env vars when no args are passed.

Building an Agent

from rebuno import Agent, execution

agent = Agent("my-agent")

async def process(prompt: str) -> dict:
    print("running execution", execution.id)
    return {"answer": prompt.upper()}

agent.run(process)

The handler signature is the input schema — process(prompt: str) makes prompt a required field. Pass a pydantic.BaseModel parameter for validation, or input: dict for the raw claim. Use from rebuno import execution to access the current execution's id, session_id, history, etc.

Tools

from rebuno import tool

@tool("web.search")
async def search(query: str, limit: int = 10) -> list[str]:
    return [...]

Tools are plain module-level functions. The wrapper submits an intent to the kernel before running the body. Hand them to your framework as a list:

graph = create_agent(llm, [search, ...])

Building a Runner

from rebuno import Runner, tool

@tool("compute.heavy")
async def heavy(data: str) -> str:
    return process(data)

Runner("compute-1").run()

The runner advertises every @tool it imports, publishes their schemas to the kernel, and services job assignments. @tool(remote=True) lets you declare a stub in agent code for type-checked imperative calls.

Local MCP

The agent connects to the MCP server directly. Install with pip install rebuno[mcp]:

from rebuno import MCPServer

github = MCPServer(
    "github",
    url="https://api.githubcopilot.com/mcp/",
    headers={"Authorization": "Bearer xxx"},
)

# Inside your handler:
graph = create_agent(llm, [..., *github.tools])

Remote tools (incl. remote MCP)

Discover tools that runners host elsewhere — the agent never holds credentials, never opens MCP transport. Schemas come from the kernel directory.

from rebuno import remote

github_tools  = remote.Tools("github")
compute_tools = remote.Tools("compute")

# Inside your handler:
graph = create_agent(llm, [..., *github_tools, *compute_tools])
# or cherry-pick by short name:
graph = create_agent(llm, [..., github_tools["create_pr"], compute_tools["heavy"]])

Each call routes through the kernel to whichever runner advertises that tool ID. Works for any source — @tool Python functions on a runner, MCP servers hosted by a runner, or both.

Documentation

See the full documentation.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rebuno-0.4.4.tar.gz (115.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rebuno-0.4.4-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file rebuno-0.4.4.tar.gz.

File metadata

  • Download URL: rebuno-0.4.4.tar.gz
  • Upload date:
  • Size: 115.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rebuno-0.4.4.tar.gz
Algorithm Hash digest
SHA256 98ce6c3b9f545c4b9ed3235baad5d6b7673518c517f504e9adcaec70e3b87484
MD5 99e24dd29418f476bff96dcbff7db408
BLAKE2b-256 8f3a6ded9e9f964c5f5d4902cc82f0a4f99f80ff7a2aea2c629808f73a3433c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rebuno-0.4.4.tar.gz:

Publisher: publish.yml on rebuno/sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rebuno-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: rebuno-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rebuno-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c36a4f6f90b259e1c8713aa7abe70fd998f723bccb3d86fa290345c4e613342d
MD5 083fdbd52f6e3468b434c7243c88d7c7
BLAKE2b-256 523a60104827a73e36db62f106ced4aa6d4cbc8ce5f9bf217dae31d861aa134b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rebuno-0.4.4-py3-none-any.whl:

Publisher: publish.yml on rebuno/sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page