Abbenay Python Client
A Python gRPC client for the Abbenay daemon.
Installation
Install from PyPI:
pip install abbenay-client
Note: The pip package is
abbenay-clientbut the Python import isabbenay_grpc:from abbenay_grpc import AbbenayClient
Cross-platform: works on Linux, macOS, and Windows with Python 3.9+.
Quick Start
import asyncio
from abbenay_grpc import AbbenayClient
async def main():
async with AbbenayClient() as client:
async for chunk in client.chat("openai/gpt-4o", "Hello!"):
if chunk.type == "text":
print(chunk.text, end="")
print()
asyncio.run(main())
Event Loop Lifecycle
grpc.aio channels are bound to the event loop that was active at
connect() time. If you call asyncio.run() more than once (which
creates and destroys loops), call reconnect() in the new loop:
async def preflight():
async with AbbenayClient() as client:
await client.health_check()
asyncio.run(preflight()) # loop created and closed
async def main():
client = AbbenayClient()
await client.connect() # auto-detects dead channel, reconnects
# ... or explicitly: await client.reconnect()
Connecting to a Container
When the daemon runs in a container with TLS (default image CMD), connect via TCP and trust the daemon CA:
async with AbbenayClient(
host="localhost",
port=50051,
tls=True,
ca_cert="/path/to/ca.crt",
) as client:
async for chunk in client.chat("openrouter/anthropic/claude-sonnet-4", "Hello!"):
if chunk.text:
print(chunk.text, end="")
The container must be started with --grpc-port 50051 (the default
Containerfile CMD does this with --grpc-tls) and the port published
(-p 50051:50051). Copy or mount <runtime-dir>/tls/ca.crt for client trust.
See docs/CONTAINER.md for full container
deployment instructions and the --insecure escape hatch.
Features
- Chat: Streaming chat with any configured model
- Sessions: Create, list, fork, and manage chat sessions
- Models: List available models from all providers
- Tools: Dynamic MCP server registration and tool filtering
- Secrets: Manage API keys via keychain
- Configuration: Get/update daemon config
Requirements
- Python 3.9+
- Abbenay daemon running (
abbenay daemon)
License
MIT
Release files for abbenay-client 2026.8.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| abbenay_client-2026.8.7.tar.gz | 37.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abbenay_client-2026.8.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.1 kB
Release files / abbenay_client-2026.8.7.tar.gz
| Download URL | abbenay_client-2026.8.7.tar.gz |
|---|---|
| Size | 37.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94f5a26307162d862961cdf4e3bb5e505be1ff74b303f38dbfbe97dba51ebe2a
|
|
BLAKE2b-256 checksum How to use checksums |
117d8eefa040f05fe8d96a0c26def4f9ee70c170a39d0879a82aa2c0210f428e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency logRelease files / abbenay_client-2026.8.7-py3-none-any.whl
| Download URL | abbenay_client-2026.8.7-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3969143d0794edb03e38ce7c5161dbf44f361ed4aa1f74289c2c060580b00de
|
|
BLAKE2b-256 checksum How to use checksums |
ec632403f1322b77570d9dcf2b05564a9f184dd6c11774c6605906aba28b1dd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log