Anthropic Claude transport for Axio
Project description
axio-transport-anthropic
Anthropic Claude transport for axio.
Streams Claude responses over the Anthropic Messages API using aiohttp and
SSE parsing. Supports prompt caching, extended thinking, and automatic retry
on rate-limit and overload errors.
Features
- All Claude models - Opus, Sonnet, Haiku; configurable via
ANTHROPIC_MODELS - Prompt caching -
cache_control: ephemeralapplied automatically to the system prompt and the last tool definition - Extended thinking -
ReasoningDeltaevents emitted for thinking blocks - Retry logic - automatic backoff on 429 and all 5xx errors; honours
Retry-Afterheader - TUI integration - settings screen for API key and model selection
Installation
pip install axio-transport-anthropic
With the TUI settings screen:
pip install "axio-transport-anthropic[tui]"
Or as part of the full TUI bundle:
pip install "axio-tui[anthropic]"
Usage
import aiohttp
from axio.agent import Agent
from axio.context import MemoryContextStore
from axio_transport_anthropic import AnthropicTransport, ANTHROPIC_MODELS
async def main() -> None:
async with aiohttp.ClientSession() as session:
transport = AnthropicTransport(
api_key="sk-ant-...",
model=ANTHROPIC_MODELS["claude-sonnet-4-6"],
session=session,
)
agent = Agent(system="You are helpful.", tools=[], transport=transport)
ctx = MemoryContextStore()
print(await agent.run("Hello!", ctx))
Set the API key via environment variable instead of passing it directly:
export ANTHROPIC_API_KEY="sk-ant-..."
Override the base URL (e.g. for a proxy or private endpoint):
export ANTHROPIC_BASE_URL="https://your-proxy.example.com/v1"
Models
| Model ID | Context | Max output | Notes |
|---|---|---|---|
claude-opus-4-6 |
1 M | 128 k | Most capable |
claude-sonnet-4-6 |
1 M | 64 k | Balanced (default) |
claude-haiku-4-5-20251001 |
200 k | 64 k | Fastest / cheapest |
claude-opus-4-5 |
200 k | 64 k | - |
claude-sonnet-4-5 |
200 k | 64 k | - |
Configuration
| Parameter | Default | Description |
|---|---|---|
api_key |
"" |
Anthropic API key |
model |
claude-sonnet-4-6 |
Active model |
base_url |
https://api.anthropic.com/v1 |
API base URL |
max_retries |
10 |
Max retry attempts on 429 and 5xx errors |
retry_base_delay |
5.0 |
Base delay (seconds) for exponential backoff |
fetch_models()
await transport.fetch_models() resets transport.models to the built-in ANTHROPIC_MODELS registry. It does not make a network request. Override model directly to switch the active model.
Serialisation
AnthropicTransport supports JSON round-trip for storing and restoring configuration:
# Serialise
data = transport.to_dict() # -> {"name": ..., "base_url": ..., "api_key": ..., "models": [...]}
# Restore
transport = AnthropicTransport.from_dict(data, session=session)
from_dict falls back to ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL environment variables if the stored values are empty.
Part of the axio ecosystem
axio · axio-tui · axio-transport-openai · axio-transport-codex
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file axio_transport_anthropic-0.9.0.tar.gz.
File metadata
- Download URL: axio_transport_anthropic-0.9.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa138c4d9e033a4501e83d885fa9e1c319056186e1c60e9434b978239991de59
|
|
| MD5 |
44b044a05c8a4fbd1039d70bc888a455
|
|
| BLAKE2b-256 |
b2704085dc5085bbb889cab6c512db5fd5a3c36f5d20fb58419837a0928a640d
|
Provenance
The following attestation bundles were made for axio_transport_anthropic-0.9.0.tar.gz:
Publisher:
publish.yml on mosquito/axio-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
axio_transport_anthropic-0.9.0.tar.gz -
Subject digest:
aa138c4d9e033a4501e83d885fa9e1c319056186e1c60e9434b978239991de59 - Sigstore transparency entry: 1398192045
- Sigstore integration time:
-
Permalink:
mosquito/axio-agent@fd6bb229b0e60508283344ea04155bf51c12d7cd -
Branch / Tag:
refs/tags/0.9.0 - Owner: https://github.com/mosquito
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fd6bb229b0e60508283344ea04155bf51c12d7cd -
Trigger Event:
release
-
Statement type:
File details
Details for the file axio_transport_anthropic-0.9.0-py3-none-any.whl.
File metadata
- Download URL: axio_transport_anthropic-0.9.0-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ce65121824cf58a7b565b7b19daeac47a29d0652b9798414ca39775135ac378
|
|
| MD5 |
d53b115ffea9a78c98998be5104366ee
|
|
| BLAKE2b-256 |
f937d00fcdf30244eb7306adafd261a948cab5020d1463f68e89c01ec7bbb80e
|
Provenance
The following attestation bundles were made for axio_transport_anthropic-0.9.0-py3-none-any.whl:
Publisher:
publish.yml on mosquito/axio-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
axio_transport_anthropic-0.9.0-py3-none-any.whl -
Subject digest:
2ce65121824cf58a7b565b7b19daeac47a29d0652b9798414ca39775135ac378 - Sigstore transparency entry: 1398192066
- Sigstore integration time:
-
Permalink:
mosquito/axio-agent@fd6bb229b0e60508283344ea04155bf51c12d7cd -
Branch / Tag:
refs/tags/0.9.0 - Owner: https://github.com/mosquito
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fd6bb229b0e60508283344ea04155bf51c12d7cd -
Trigger Event:
release
-
Statement type: