Skip to main content

Dhenara AI

Dhenara AI is an open source Python package for calling multiple LLM providers through one typed interface. It keeps the integration surface small: provider credentials, model selection, prompt/message formatting, streaming, tool use, and structured output all flow through the same core client types.

For full documentation, visit docs.dhenara.com.

Installation

pip install dhenara-ai

Credential Setup

Dhenara AI discovers credentials in one of two ways:

  1. Pass an explicit file path to ResourceConfig.load_from_file().
  2. Set DAI_SECRET_CONFIG_DIR and place dai_credentials.yaml inside that directory.

If DAI_SECRET_CONFIG_DIR is unset, the default location is /run/secrets/dai/dai_credentials.yaml.

Use the checked-in template at src/dhenara/ai/types/resource/credentials.yaml as the starting point.

mkdir -p /path/to/secrets
export DAI_SECRET_CONFIG_DIR=/path/to/secrets
cp src/dhenara/ai/types/resource/credentials.yaml "$DAI_SECRET_CONFIG_DIR/dai_credentials.yaml"

Then edit dai_credentials.yaml and keep only the providers you actually use.

Quickstart

from dhenara.ai import AIModelClient
from dhenara.ai.types import AIModelAPIProviderEnum, AIModelCallConfig, ResourceConfig

resource_config = ResourceConfig()
resource_config.load_from_file(credentials_file=None, init_endpoints=True)

endpoint = resource_config.get_model_endpoint(
    model_name="claude-haiku-4-5",
    api_provider=AIModelAPIProviderEnum.ANTHROPIC,
)
if endpoint is None:
    raise RuntimeError("No Anthropic endpoint configured for claude-haiku-4-5")

client = AIModelClient(
    model_endpoint=endpoint,
    config=AIModelCallConfig(
        max_output_tokens=1024,
        reasoning=False,
        streaming=False,
    ),
    is_async=False,
)

response = client.generate(
    prompt="Explain quantum computing in simple terms.",
    instructions=["Keep the answer under 120 words."],
)

if response.chat_response:
    print(response.chat_response.text())

Running The Included Examples

The example programs use the same credential-loading contract. With a secret directory configured, you can run them directly:

export DAI_SECRET_CONFIG_DIR=/path/to/secrets
python examples/14_multi_turn_with_messages_api.py

If you prefer an explicit credentials file, pass that path where the example calls load_from_file().

Provider SDK Surfaces

  • OpenAI direct and Azure OpenAI / Microsoft Foundry OpenAI v1 use the openai SDK.
  • Google Gemini Developer API and Gemini on Vertex AI use the google-genai SDK.
  • Anthropic direct, Amazon Bedrock, and Anthropic on Vertex use the anthropic SDK.
  • Amazon Bedrock configuration stays under the amazon_bedrock provider block. The package passes those credentials into AnthropicBedrock; there is no separate boto client setup in your application code.
  • microsoft_azure_ai is not a supported text-generation surface in dhenara-ai; use microsoft_openai with an Azure OpenAI or Microsoft Foundry OpenAI v1 endpoint instead.
  • For Microsoft-hosted OpenAI-compatible deployments, the model value in requests must be the Azure deployment name, not just the underlying vendor model family.

Metadata

Release files for dhenara-ai 1.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dhenara-ai 1.1.6
File Size Uploaded
dhenara_ai-1.1.6.tar.gz 125.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dhenara-ai 1.1.6
File Interpreter ABI Platform
dhenara_ai-1.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 296.7 kB

Release files / dhenara_ai-1.1.6.tar.gz

Download URL dhenara_ai-1.1.6.tar.gz
Size 125.9 kB
Tags Source
SHA-256 checksum
How to use checksums
629220d13edae0b36305ef5ced72e9c952c7a41592696eabd25e35c6102458aa
BLAKE2b-256 checksum
How to use checksums
f20cfcdfd9f5ff467e7f09e7284d6b51d83ab19d01dbb81d7a6b819e95b08bb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.2

Release files / dhenara_ai-1.1.6-py3-none-any.whl

Download URL dhenara_ai-1.1.6-py3-none-any.whl
Size 170.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb69262da9338539397240df33ff07ba5cb0f5b09c1775eb51c65fbd34ae7f02
BLAKE2b-256 checksum
How to use checksums
3533ce695e955e3d919e715c5847ca85abdebd9ee6ed720b90a42ffe79ba83f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.2

Release history Release notifications | RSS feed

This release

1.1.6 This release

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page