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.3.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.3.0
File Size Uploaded Provenance Actions
marbots_sdk-0.3.0.tar.gz 19.2 kB Without provenance Details for marbots_sdk-0.3.0.tar.gz

Built distribution (wheel)

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

Total release size: 36.1 kB

Release files / marbots_sdk-0.3.0.tar.gz

Download URL marbots_sdk-0.3.0.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
99013e1eccabec599d7275b49e6a81fbba17ff912492f6403697e4c48f202a7a
BLAKE2b-256 checksum
How to use checksums
058867562d6425ddfa3d16cca212d7de9ebc4aac71e8a03c2629e06feb922354
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.3.0-py3-none-any.whl

Download URL marbots_sdk-0.3.0-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f9fa3a8372409389dabef4854aad9b9363c92a90c20a702c18e260318cf0cda
BLAKE2b-256 checksum
How to use checksums
06927c711b2d7470070de919bb704eb9980883875f86562ea92653fd6b81abb2
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.3.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