Claude SDK for Python
The Claude SDK for Python provides access to the Claude API from Python applications.
Documentation
Tool helpers (@beta_tool, the tool runner and ToolError) are documented in tools.md. The browser and computer toolset classes have their own guides, browser-toolset.md and computer-toolset.md.
Full documentation is available at platform.claude.com/docs/en/api/sdks/python.
Installation
pip install anthropic
Upgrading from a 0.x release? See the v1 migration guide.
Getting started
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY"), # This is the default and can be omitted
)
message = client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Hello, Claude",
}
],
model="claude-opus-5-5",
)
print(message.content)
OpenTelemetry
The SDK reports each API call as an OpenTelemetry span when your application has registered a tracer provider.
It depends on opentelemetry-api, a required dependency, and never on an OpenTelemetry SDK.
# a provider other than the registered one
client = Anthropic(open_telemetry={"tracer_provider": tracer_provider})
# no spans
quiet = Anthropic(open_telemetry=False)
# adds prompts and completions
verbose = Anthropic(open_telemetry={"traces": {"content_mode": "content"}})
# keeps the content of one span within this size
bounded = Anthropic(
open_telemetry={"traces": {"content_mode": "content", "max_content_bytes": 65_536}}
)
# sends no trace context headers, for an application whose HTTP client instrumentation already sends them, so that
# a request does not carry them twice
unpropagated = Anthropic(open_telemetry={"propagation": False})
# sets gen_ai.conversation.id on the spans of one conversation's requests. with_options replaces the whole option,
# so start from client.open_telemetry, which has the client's
conversation = client.with_options(
open_telemetry={**client.open_telemetry, "conversation_id": conversation_id}
)
conversation.messages.create(...)
A client that is given no open_telemetry option reads these environment variables when it is constructed: ANTHROPIC_OPEN_TELEMETRY=false turns its spans off, ANTHROPIC_OPEN_TELEMETRY_TRACES_CONTENT_MODE=content adds prompts and completions, ANTHROPIC_OPEN_TELEMETRY_TRACES_MAX_CONTENT_BYTES sets max_content_bytes, and ANTHROPIC_OPEN_TELEMETRY_PROPAGATION=false sends no trace context headers.
A client that is given the option, even {} or a tracer_provider alone, reads none of them: what the option leaves out has its default (spans on, trace context headers sent, no prompts or completions, 750,000 bytes).
A copy made with with_options or copy keeps its client's option unless it is given its own.
Requirements
Python 3.10+
Contributing
See CONTRIBUTING.md.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Metadata
Release files for anthropic 1.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| anthropic-1.14.0.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anthropic-1.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / anthropic-1.14.0.tar.gz
| Download URL | anthropic-1.14.0.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9284895864a8457ed87f0accc51fd488ad9743952e597c814e7dc9d78ac8e38
|
|
BLAKE2b-256 checksum How to use checksums |
0fc2be99fac19b24c22b00d2a63ac1756b203bd3058ff54a14028c43b9f33116
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / anthropic-1.14.0-py3-none-any.whl
| Download URL | anthropic-1.14.0-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
abd787048378abfabeebbad917ae0f9eae1eb4dfaa0a754096b5eea02dcf8c12
|
|
BLAKE2b-256 checksum How to use checksums |
5d66c395049fa6bf20b7f244adc8b7466f86a416b11f03528fa325868483de3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|