Skip to main content

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-client but the Python import is abbenay_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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abbenay_client-2026.8.1.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

abbenay_client-2026.8.1-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

Details for the file abbenay_client-2026.8.1.tar.gz.

File metadata

  • Download URL: abbenay_client-2026.8.1.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for abbenay_client-2026.8.1.tar.gz
Algorithm Hash digest
SHA256 b5fd4d7234bdf2437410d6fcb2f4d25b4630157f5fc69717d36fb287d915e1fe
MD5 1ace2c3a947e17e2819bfb96d96a3cb9
BLAKE2b-256 cb9e377b4d617eea3e8bbf0a35b04cf45b65075f2d1a790342926bc7ed3893c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for abbenay_client-2026.8.1.tar.gz:

Publisher: release.yml on redhat-developer/abbenay

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

File details

Details for the file abbenay_client-2026.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for abbenay_client-2026.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f38105d77337331e5c116f302834554279afdb00d75f0a97ab5bcceb22cc19b
MD5 e87e4ce931bc306bcd777aeb9d84caca
BLAKE2b-256 4642e52c6a0caf0bd0a71e592a9a794db434fef07e18fb5b4515246657c87ec6

See more details on using hashes here.

Provenance

The following attestation bundles were made for abbenay_client-2026.8.1-py3-none-any.whl:

Publisher: release.yml on redhat-developer/abbenay

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