dokk

LLM client library

Example page

The project, data and links on this page are made up, to show what dokk’s components can do. It does not document dokk itself.

quill is a small Python client that talks to several model providers through one API. This page is its quickstart.

Install #

pip install quill-llm

Optional extras add a provider’s own SDK for streaming and batch jobs:

uv add "quill-llm[anthropic,openai]"

Configure #

quill reads its settings from the environment, or from a .env file in the working folder. Set the key for each provider you use.

VariableDefaultDescription
ANTHROPIC_API_KEY required — Key for Claude models.
OPENAI_API_KEY required — Key for GPT models.
QUILL_DEFAULT_MODEL claude-sonnet Used when a call names no model.
QUILL_TIMEOUT 60 Seconds before a request gives up.
QUILL_LOG_LEVEL warning debug, info, warning or error.
Caution

Never commit .env. Add it to .gitignore before you put a key in it.

Your first call #

from quill import Client

client = Client()
reply = client.chat("Explain recursion in one sentence.")
print(reply.text)

What the call sends, and what comes back:

Explain recursion in one sentence.

claude-sonnet

Recursion is when a function solves a problem by calling itself on a smaller piece of the same problem, until the piece is small enough to answer directly.

Supported providers #

Pick a model by its name, such as client.chat(..., model="gpt-mini"). quill maps it to the provider’s API name.

claude-sonnet gpt-mini mistral-small llama-local
Provider Anthropic OpenAI Mistral AI Ollama
Input / 1M — — — free
Output / 1M — — — free
Context 200K 128K 32K 8K
License — — Apache-2.0 —
Features text vision tools streaming text vision tools json text tools text
Note

Prices and limits change often; quill’s docs leave them to each provider’s pricing page.

Next #

Agent framework example All components