Skip to content

Anthropic SDK

The Anthropic SDK reads ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY. Set both and every call to Claude routes through TapPass.

Terminal window
export ANTHROPIC_BASE_URL=https://tappass.example.com
export ANTHROPIC_API_KEY=tp_...
import anthropic
client = anthropic.Anthropic() # picks up env vars
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic(); // picks up env vars
const message = await client.messages.create({
model: "claude-3-5-sonnet-20241022",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});
with client.messages.stream(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Hi"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
  • messages (sync, stream, async)
  • Tool use (tool_use / tool_result content blocks)
  • Vision (image content blocks)
  • Extended thinking on Claude 3.7+
  • Prompt caching — cache_control fields flow through untouched

tappass-examples/anthropic