Python Client Examples¶
Overview¶
Examples of using the Claude Code Proxy API with Python client libraries.
Using the Anthropic Python SDK¶
from anthropic import Anthropic
# Configure client to use your proxy
client = Anthropic(
base_url="http://localhost:8000/v1",
api_key="not-needed" # Proxy doesn't require API key
)
# Simple chat completion
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
messages=[
{"role": "user", "content": "Hello, Claude!"}
]
)
print(response.content[0].text)
Using the OpenAI Python SDK¶
from openai import OpenAI
# Configure client to use your proxy
client = OpenAI(
base_url="http://localhost:8000/openai/v1",
api_key="not-needed" # Proxy doesn't require API key
)
# Simple chat completion
response = client.chat.completions.create(
model="claude-3-5-sonnet-20241022",
messages=[
{"role": "user", "content": "Hello, Claude!"}
]
)
print(response.choices[0].message.content)
Streaming Example¶
from anthropic import Anthropic
client = Anthropic(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
# Streaming response
stream = client.messages.create(
model="claude-3-5-sonnet-20241022",
messages=[
{"role": "user", "content": "Tell me a story"}
],
stream=True
)
for chunk in stream:
if chunk.type == "content_block_delta":
print(chunk.delta.text, end="")
With Authentication¶
from anthropic import Anthropic
client = Anthropic(
base_url="http://localhost:8000/v1",
api_key="your-bearer-token" # Use your configured bearer token
)
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
messages=[
{"role": "user", "content": "Hello, Claude!"}
]
)
print(response.content[0].text)
Error Handling¶
from anthropic import Anthropic, APIError
client = Anthropic(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
try:
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.content[0].text)
except APIError as e:
print(f"API Error: {e.message}")
print(f"Status Code: {e.status_code}")