Skip to main content

OpenRouter LLM query client with typed requests and responses.

Project description

dr-providers

OpenRouter LLM query client with typed requests and responses. Requires Python 3.13+.

Install

pip install dr-providers

Or with uv:

uv add dr-providers

Optional CLI

pip install "dr-providers[cli]"
query-provider --help

Authentication

Set your OpenRouter API key:

export OPENROUTER_API_KEY="sk-or-..."

Library usage

from dr_providers import (
    LlmRequest,
    Message,
    MessageRole,
    OpenRouterProvider,
    ProviderName,
)

with OpenRouterProvider() as provider:
    response = provider.generate(
        LlmRequest(
            provider=ProviderName.OPENROUTER,
            model="openai/gpt-4o-mini",
            messages=[
                Message(role=MessageRole.USER, content="Say hello in one word."),
            ],
        )
    )
    print(response.text)

Prompt helper

For scripts and demos, query_from_prompt builds a request from plain strings:

from dr_providers import OpenRouterProvider, ProviderName
from dr_providers.query.from_prompt import query_from_prompt

with OpenRouterProvider() as provider:
    response = query_from_prompt(
        provider,
        ProviderName.OPENROUTER,
        model="openai/gpt-4o-mini",
        prompt="Say hello in one word.",
    )

This helper is not re-exported from the top-level package.

Public API

Import stable symbols from the top-level package:

from dr_providers import LlmRequest, OpenRouterProvider, ReasoningSpec

See dr_providers.__all__ for the full list.

Development

uv sync
scripts/pre-check.sh

Run the CLI from the repo without installing:

uv run python scripts/query_provider.py --model openai/gpt-4o-mini -m "hi"

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

dr_providers-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

dr_providers-0.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file dr_providers-0.1.0.tar.gz.

File metadata

  • Download URL: dr_providers-0.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.0

File hashes

Hashes for dr_providers-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f2b150f5c911d6074d06caa8cc0298d67ec2e6c34511c94b69c8c8447f3ea488
MD5 94b8f16523a4cf855fe3d7bf7eaa02c7
BLAKE2b-256 728e98dedf0ad9e6b391b811682e07105ba58f4e9d3db1bee27f5af568c61720

See more details on using hashes here.

File details

Details for the file dr_providers-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dr_providers-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 980767e3c5f821a37021f887291a3f377290a6d2fa623d16a6d50a208e3601b5
MD5 c1c024525c6996a3e5666e009599e8c1
BLAKE2b-256 b3d0b4181e8d04e0380717c2213a6f002363d259fffe348cd3aefde63cce2e53

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