Skip to main content

marbots-sdk (Python)

Typed, zero-dependency Python client for Marbots, the multi-agent collaboration platform. Responses are frozen dataclasses; kernel packs, permission profiles, event types and model settings are enums/helpers, so mypy (and your IDE) catch typos before you run anything.

pip install marbots-sdk
from marbots_sdk import MarbotsClient, BotSpec, KernelPack, PermissionProfile, ModelRef, EventType

mb = MarbotsClient("http://localhost:5170")            # api_key="..." if the server requires one

# Every bot can use its own model; ModelRef.DEFAULT follows the workspace default.
sari = mb.bots.create(BotSpec(
    name="Sari", role="UX designer",
    kernel_functions=[KernelPack.FILES, KernelPack.WEB],
    permission_profile=PermissionProfile.WORKSPACE_WRITE,
    model=ModelRef.of("azure", "gpt-5.6-luna"),
))
mb.bots.set_model("atlas", ModelRef.DEFAULT)
print(mb.models.list().default)                         # e.g. azure/gpt-5-mini

thread = mb.threads.create(sari.id)
result = mb.threads.send(thread.id, "Sketch a landing-page wireframe", wait=True)
print(result.task.model, result.task.cost_usd, result.text)

for event in mb.events.stream(thread.id):               # live Server-Sent Events
    if event.type == EventType.TOOL_CALL_STARTED:
        print("tool:", event.message)
    if event.is_task_finished():
        break
Area API
Bots bots.list/get/create(BotSpec)/update/delete/hire(template)/get_model/set_model/pause/resume/export/import_package
Models models.list() → ModelCatalog, models.set_default("provider/model")
Chat threads.create/send(wait=True)/messages/files/download/export_transcript, chat(bot, text)
Work tasks, approvals.approve(id, scope="Session"), schedules.create(ScheduleSpec), memory, skills, mcp
Live events.stream(thread_id) → AgentEvent

Type safety is tested: python tests/typecheck/run.py requires mypy --strict to pass on the SDK and to reject every deliberate typo in tests/typecheck/check_types.py. The conformance tests (tests/test_conformance.py) run against a real Marbots server.

Built by Gravicode Studios, led by Kang Fadhil. MIT license.

Computers, placement and learning evaluation (0.2.0)

See docs/en/computers.md and the Skills guide.

from marbots_sdk import AUTO_HOST, BotSpec, ContainerProfile, KernelPack

# Computers (agent hosts): list, one-time enrollment token, SSH bootstrap (credentials used once)
for h in mb.agent_hosts.list():
    print(h.name, h.status, h.capabilities)
print(mb.agent_hosts.create_enrollment("design-pc").enroll_command)

# A bot that runs on whichever computer fits, with its shell in Docker and parallel sub-agents
nova = mb.bots.create(BotSpec(name="Nova", host_ref=AUTO_HOST, container=ContainerProfile(image="python:3.12-slim"),
                              kernel_functions=[KernelPack.FILES, KernelPack.SHELL, KernelPack.SUBAGENTS]))

# Learning evaluation
for e in mb.skills.evaluations():
    print(e.name, e.version, e.verdict, e.reason)
mb.skills.set_auto_rollback(True)

Metadata

Release files for marbots-sdk 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for marbots-sdk 0.2.0
File Size Uploaded Provenance Actions
marbots_sdk-0.2.0.tar.gz 17.9 kB Without provenance Details for marbots_sdk-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for marbots-sdk 0.2.0
File Interpreter ABI Platform Actions
marbots_sdk-0.2.0-py3-none-any.whl Python 3 none any Details for marbots_sdk-0.2.0-py3-none-any.whl

Total release size: 33.6 kB

Release files / marbots_sdk-0.2.0.tar.gz

Download URL marbots_sdk-0.2.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f15fe2b4c715c487306ce00c5c0cd18fc90944bb67191c944aab808d97d02c5d
BLAKE2b-256 checksum
How to use checksums
b3f275142f4e5d8112ec2b7955acdc3745284deec6813c3c95026da550abf389
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / marbots_sdk-0.2.0-py3-none-any.whl

Download URL marbots_sdk-0.2.0-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
233b755d668d6d9a53e849cbb02007bcb1d581d4332c7226e9d402f45918d143
BLAKE2b-256 checksum
How to use checksums
b211890be0f70b7ea058115d2343d0ed7871fe556e76eca9d817def99724c6e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Security for marbots-sdk 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page