Skip to main content

WebSocket client + appkit for soothe-daemon (Python)

Project description

soothe-client-python

Talk to a running soothe-daemon over WebSocket — send prompts, stream agent turns, run jobs.

pip install soothe-client-python

Requires a local daemon (default ws://127.0.0.1:8765).

Quick start

import asyncio
from soothe_client.appkit import DaemonSession

async def main() -> None:
    session = DaemonSession("ws://127.0.0.1:8765")
    await session.connect()
    await session.send_turn("Summarize this in one sentence: agents need tools.")
    async for _namespace, mode, data in session.iter_turn_chunks():
        if mode == "custom" and isinstance(data, dict):
            text = data.get("content") or data.get("text")
            if text:
                print(text, end="", flush=True)
    print()
    await session.close()

asyncio.run(main())

More patterns: examples/ (hello → streaming → multi-turn → pool → jobs).

What you get

Need Use
One conversation, stream replies DaemonSession (soothe_client.appkit)
Jobs / cron (async) AsyncCommandClient
Jobs / cron (scripts / sync) CommandClient
Raw WebSocket / custom RPCs WebSocketClient
Many users / HTTP backend ConnectionPool + TurnRunner

Wire request param models: soothe_client.protocol_params.

Develop

make sync-dev
make check                 # lint + unit tests
make test-examples-offline # offline appkit examples
make test-examples         # live 01–06 (needs soothed)
make test-integration      # live integration suite (needs soothed)

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

soothe_client_python-0.10.0.tar.gz (63.7 kB view details)

Uploaded Source

Built Distribution

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

soothe_client_python-0.10.0-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

Details for the file soothe_client_python-0.10.0.tar.gz.

File metadata

  • Download URL: soothe_client_python-0.10.0.tar.gz
  • Upload date:
  • Size: 63.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for soothe_client_python-0.10.0.tar.gz
Algorithm Hash digest
SHA256 0066b9c6dedb31060cdeab1d13a189c5133209e253aed29751e8a88f0a7fbb7a
MD5 4ce9e54df8d1c71e5349ca6a92901c2d
BLAKE2b-256 83422b6b6477335dac7a7934313cfe9a447dcb15856c945340ca6f1cade8d9ba

See more details on using hashes here.

File details

Details for the file soothe_client_python-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: soothe_client_python-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for soothe_client_python-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c2de929effe2b6865b4e8dd7c25049e40ad6314c03c4e1f7f7dab443869679d
MD5 61dc741cfd89cc01b81c85ca6664aa7b
BLAKE2b-256 ae7b2348b55e150517ec6e990afb087a1bb16732fa432d664e3fab7aead9a10f

See more details on using hashes here.

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