Python SDK
Access Claude models from Python using either the official Anthropic SDK or the OpenAI-compatible endpoint.
Anthropic SDK
Installation
bash
pip install anthropicBasic usage
python
import anthropic
client = anthropic.Anthropic(
api_key="sk_cdx_YOUR_KEY",
base_url="https://api.claudexia.tech",
)
message = client.messages.create(
model="claude-sonnet-4.5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Claude!"}
],
)
print(message.content[0].text)Streaming
python
import anthropic
client = anthropic.Anthropic(
api_key="sk_cdx_YOUR_KEY",
base_url="https://api.claudexia.tech",
)
with client.messages.stream(
model="claude-sonnet-4.5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Write a short poem about coding."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Extended thinking
Enable extended thinking to let the model reason step-by-step before responding.
python
import anthropic
client = anthropic.Anthropic(
api_key="sk_cdx_YOUR_KEY",
base_url="https://api.claudexia.tech",
)
message = client.messages.create(
model="claude-sonnet-4.5",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000,
},
messages=[
{"role": "user", "content": "How many r's are in strawberry?"}
],
)
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Answer: {block.text}")OpenAI SDK
Installation
bash
pip install openaiBasic usage
python
from openai import OpenAI
client = OpenAI(
api_key="sk_cdx_YOUR_KEY",
base_url="https://api.claudexia.tech/v1",
)
response = client.chat.completions.create(
model="claude-sonnet-4.5",
messages=[
{"role": "user", "content": "Hello, Claude!"}
],
)
print(response.choices[0].message.content)Streaming
python
from openai import OpenAI
client = OpenAI(
api_key="sk_cdx_YOUR_KEY",
base_url="https://api.claudexia.tech/v1",
)
stream = client.chat.completions.create(
model="claude-sonnet-4.5",
messages=[
{"role": "user", "content": "Write a short poem about coding."}
],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)