Skip to content

Repository files navigation

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

importasynciofromsoothe_client.appkitimportDaemonSessionasyncdefmain() ->None:
session=DaemonSession("ws://127.0.0.1:8765")
awaitsession.connect()
awaitsession.send_turn("Summarize this in one sentence: agents need tools.")
asyncfor_namespace, mode, datainsession.iter_turn_chunks():
ifmode=="custom"andisinstance(data, dict):
text=data.get("content") ordata.get("text")
iftext:
print(text, end="", flush=True)
print()
awaitsession.close()
asyncio.run(main())

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

What you get

NeedUse
One conversation, stream repliesDaemonSession (soothe_client.appkit)
Jobs / cron (async)AsyncCommandClient
Jobs / cron (scripts / sync)CommandClient
Raw WebSocket / custom RPCsWebSocketClient
Many users / HTTP backendConnectionPool + 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)

About

❯❯❯❯ WebSocket client in Python for soothe-daemon

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages