anthropic-sdk-python
Anthropic 官方 Python SDK,一行命令安装,零门槛调用 Claude API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Anthropic 官方 Python SDK,一行命令安装,零门槛调用 Claude API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象一下,如果你想用 Python 调用 Claude 的 API,传统方式是手动拼接 HTTP 请求、处理认证头、管理流式响应——这对于想要快速验证想法的开发者来说,就像是要先学会修车才能开车一样。Anthropic 官方推出的 anthropic-sdk-python 正是为了解决这个问题而生:它将所有底层复杂性封装为几行直观的 Python 代码,让任何熟悉 Python 的开发者都能在几分钟内完成 Claude API 的集成。
这个 SDK 并非第三方包装库,而是 Anthropic 官方维护的「亲儿子」,于 2023 年 1 月正式开源,目前已在 PyPI 上积累了超过 3500 颗星,保持着高活跃度的版本迭代(当前版本 v0.105.2,截至 2026 年 6 月已超过 1100 次提交)。这意味着它是目前对接 Claude API 最权威、最及时更新的 Python 方案——每当 Anthropic 发布新的 API 功能,这个 SDK 总是第一批支持的工具之一。
anthropic-sdk-python 的定位非常清晰:Anthropic Claude API 的官方 Python 客户端库。它不是 LangChain、LlamaIndex 等 AI 应用框架的替代品,而是一个底层能力层——专注于让 Python 应用与 Claude API 之间的通信变得可靠、易用、类型安全。
从架构角度来看,该项目采用标准的 HTTP 客户端模式:底层基于 httpx 库(支持同步和异步两种模式),上层通过 pydantic 提供强类型的数据模型验证,jiter 负责高效的 JSON 迭代解析,anyio 保障跨平台的异步兼容性。这种技术选型使得 SDK 在保持轻量(安装包仅约 10MB)的同时,具备了企业级的稳定性和扩展性。
值得注意的是,该项目支持可选的扩展依赖:mcp 用于 MCP 协议集成,webhooks 支持 webhook 回调,vertex 和 aws/bedrock 分别支持 Google Vertex AI 和 AWS Bedrock 平台。这使得同一个 SDK 可以覆盖从个人开发到企业部署的多种使用场景。
SDK 最基础也是最核心的能力是 client.messages.create() 方法——这就是你在 Python 中调用 Claude 的「万能入口」。只需几行代码,一个同步消息请求就完成了:
from anthropic import Anthropic
client = Anthropic()
message = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}]
)
print(message.content)
而当你需要处理高并发或 I/O 密集型任务时,只需将 Anthropic 替换为 AsyncAnthropic,代码风格从同步切换为 async/await,整个流程完全一致。这种对称设计让开发者在不同场景间切换时无需重新学习。
Claude 生成较长回答时,流式输出是提升用户体验的关键。SDK 提供了两种流式模式:client.messages.stream() 作为上下文管理器,会自动累积完整的消息对象,同时提供 text_stream 事件流,让你可以逐 token 实时渲染输出;另一种是直接使用 stream=True 参数,返回最原始的事件迭代器,内存占用更小,适用于对性能敏感的场景。
这是该 SDK 最具想象空间的功能——通过 @beta_tool 装饰器,你可以将任意 Python 函数注册为 Claude 的「工具」,让 Claude 在对话过程中自主决定调用哪些函数、传入什么参数:
from anthropic import beta_tool
@beta_tool
def get_weather(location: str) -> str:
"""查询指定地点的天气情况"""
...
message = client.beta.messages.create(
tools=[get_weather.to_dict()],
model="claude-sonnet-4-20250522",
messages=[{"role": "user", "content": "北京今天天气如何?"}]
)
更进一步,SDK 还提供了 tool_runner() 方法,可以自动处理工具调用的循环——当 Claude 返回工具调用结果后,自动将结果回传并继续对话,直到 Claude 给出最终回复。这本质上是一个最小化的 Agent 执行循环,是构建复杂 AI 应用的基础构建块。
2024-2025 年间,Claude API 陆续支持了图片输入、PDF 文档解析、代码执行(Bash)等能力,该 SDK 紧随其后全面跟进。开发者可以通过 Base64ImageSource、Base64PDFSource 等类型直接传递富媒体内容,无需自行处理编码和格式转换。对于需要 Claude 执行代码的场景,CodeExecutionTool 和 BashCodeExecutionTool 提供了开箱即用的支持。
作为一个官方维护的核心 SDK,anthropic-sdk-python 在代码质量上的投入是显而易见的。版本 v0.105.2 已积累超过 1100 次提交,版本管理使用 release-please 自动化流程,类型注解覆盖完整(项目声称「Typing :: Typed」),支持 Python 3.9 到 3.14 全版本。
测试覆盖方面,仓库中包含 tests/ 目录,涵盖客户端、流式响应、工具调用、文件处理、响应解析等各个功能模块。虽然没有公开具体的覆盖率数据,但从测试文件的数量和细粒度来看,核心路径的测试应该是相当完整的。
文档体系是该项目的另一大亮点:README 简洁明了,专项文档 helpers.md(消息助手)、tools.md(工具系统)、api.md(完整 API 类型参考)覆盖了从入门到进阶的各个阶段,PyPI 页面和官方文档站也保持同步更新。
作为纯 Python 库,anthropic-sdk-python 不提供 Docker 镜像或 Web 界面——这完全合理,因为它本质上是一个「库」,而非独立应用。部署方式只有一种:
pip install anthropic
一行命令即可完成安装,没有任何额外依赖(Python 3.9+ 是唯一要求)。对硬件也没有特殊需求——不需要 GPU,不需要大容量磁盘,在树莓派级别的设备上也能流畅运行。
不过,这里需要特别提醒一个重要的混淆点:这个 SDK(pip install anthropic)和 Anthropic 近期发布的 Claude Agent SDK(claude-agent-sdk)是两回事。后者是基于 Claude Code CLI 的 Agent 构建框架,用于构建自主执行任务的 AI Agent;前者是纯 HTTP 客户端,专注于 API 调用的封装。两者面向的使用场景和抽象层次完全不同,开发者在选型时需要根据需求明确区分。
ANTHROPIC_API_KEY,生产环境建议通过环境变量或密钥管理服务注入,避免硬编码。anthropic-sdk-python 的存在本身就是 AI SDK 生态逐渐成熟的标志。从最早需要用 requests 库手动发 HTTP 请求,到如今一行 pip install 就能获得完整类型安全的 API 客户端,开发者的集成成本大幅降低。随着 Claude API 能力的持续扩展(多模态、工具调用、代码执行、MCP 协议等),这个 SDK 作为官方能力入口的重要性也在同步提升。
从项目本身的数据来看,1100+ 次提交、高频次的版本迭代、详尽的文档体系,都表明 Anthropic 正在将这个 SDK 作为其开发者生态的核心枢纽来运营。对于想要在 Python 应用中集成 Claude 能力的开发者来说,这几乎是一个必选项——它不仅降低了使用门槛,也确保了你总能第一时间用上 Claude API 的最新能力。