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 (alias of WsCommandClient)
Jobs / cron (scripts / sync) CommandClient (alias of SyncWsCommandClient)
Raw WebSocket / custom RPCs WebSocketClient
Many users / HTTP backend ConnectionPool + TurnRunner

Wire request param models live in soothe_client.protocol_params (not at package root).

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.9.10.tar.gz (64.4 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.9.10-py3-none-any.whl (75.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soothe_client_python-0.9.10.tar.gz
  • Upload date:
  • Size: 64.4 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.9.10.tar.gz
Algorithm Hash digest
SHA256 8d05a3e86cbb3957fc185d8ba4948f84e8fe7cf468025d0b7c7b617ee98e8ba7
MD5 2b07ec82870e6864782f76f4bc4d0864
BLAKE2b-256 0619d12c69b873943df3ada3c4c1bf11dfbbf204f6dd0b4c75f713d32a5c8bd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: soothe_client_python-0.9.10-py3-none-any.whl
  • Upload date:
  • Size: 75.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.9.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a239df6b801b9272809f7d97f7621563b24886f441a4c668eb2a7c2f4dda5757
MD5 2a6aef5751f2c69ae720a21a2b01fc80
BLAKE2b-256 982f2c1c1a08b5b25021d0c7ac9d741fd8996baf1ff599a4f7acb442896c3335

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