Skip to main content

Typed async Python SDK for daimon MCP services.

Project description

daimon-sdk

Typed async Python SDK for processd-mcp.

daimon-sdk wraps the raw MCP tool surface exposed by processd-mcp and presents it as grouped Python APIs such as client.files.read() and client.exec.start_session(). The SDK keeps processd-standalone as the contract source of truth and focuses on:

  • connection and token wiring
  • typed request/response handling
  • structured tool error mapping
  • interactive session helpers
  • compatibility tests against a real processd-mcp binary

Install

pip install daimon-sdk

For local development:

pip install -e ".[dev]"

Quickstart

import asyncio

from daimon_sdk import DaimonClient


async def main() -> None:
    async with DaimonClient("http://127.0.0.1:8080/mcp") as client:
        runtime = await client.runtime.get_context()
        print(runtime.base_workdir)

        result = await client.files.glob("**/*.rs", path=runtime.base_workdir)
        print(result.filenames[:5])

        bash = await client.exec.bash("printf 'hello from processd\\n'")
        print(bash.stdout)


asyncio.run(main())

Raw MCP vs SDK

Raw MCP:

payload = await mcp_client.call_tool("Read", {"file_path": "/tmp/demo.txt"})

SDK:

read = await client.files.read("/tmp/demo.txt")
print(read.file.content)

API Overview

  • DaimonClient(base_url, access_token=None, timeout_s=30.0)
  • await client.connect() / await client.close()
  • async with DaimonClient(...) as client
  • client.runtime.get_context()
  • client.files.read() / write() / edit() / glob() / grep()
  • client.exec.bash() / start_session()
  • SessionHandle.write() / poll() / wait_for_exit() / close()
  • client.web.fetch()
  • client.raw.call_tool()

Local Testing

The SDK compatibility tests expect a sibling checkout of processd-standalone:

e2b-project/
  processd-standalone/
  processd-sdk/

Run tests with an environment that already has the dev dependencies installed:

PYTHONPATH=src python -m pytest -q

The E2E suite builds and launches ../processd-standalone/target/debug/processd-mcp.

Release

Releases are published from GitHub Actions when a tag matching v* is pushed.

git tag v0.1.0
git push origin v0.1.0

The tag version must match pyproject.toml's project version.

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

daimon_sdk-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

daimon_sdk-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file daimon_sdk-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for daimon_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b4f41368c25aea37d8fcd8341ad39e0a93bcd3a04f1afb804c15fc242e56deca
MD5 a9b983b0c1de73dcc7b55b81fff99286
BLAKE2b-256 bf79abe64c8cddc255cd35934a1034c3d8f0c0e4b85cc52ae6471ec2d342d397

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_sdk-0.1.0.tar.gz:

Publisher: publish.yml on daimon-hq/processd-sdk

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

File details

Details for the file daimon_sdk-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for daimon_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 577280188134bc9d6b5ac83b0a1b0289b151078c931ecbc3e8ca8029f7d16142
MD5 22c0fbfa19029233713e80d35f140ffe
BLAKE2b-256 8cef9ffecb0dc1ff0b123956997a489eb81292d4753de48418e765ed85b147ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_sdk-0.1.0-py3-none-any.whl:

Publisher: publish.yml on daimon-hq/processd-sdk

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