anthropic-sdk-python 是什么?

anthropic-sdk-python 是 Anthropic 官方 Python 客户端,PyPI 包名为 anthropic。它把 Claude Messages API、同步与异步调用、SSE 流式响应、工具、批处理、文件、分页、错误类型和多个云平台客户端封装成带类型的 Python 接口。当前要求 Python 3.10+。

⭐ 3,134 Stars 🍴 589 Forks Python MIT 作者: anthropics
来源:github.com/anthropics/anthropic-sdk-python (1) · platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (2) 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

它是 Python 应用接入 Claude API 的官方路径,并随模型、工具和 Managed Agents 等接口快速发布。近期 1.x 升级同时改变最低 Python 版本和 HTTP 底层,对已有监控、mock、自定义 transport 与旧 Completions 代码都有实际迁移影响。

来源:github.com/anthropics/anthropic-sdk-python/releases (1) · github.com/anthropics/anthropic-sdk-python/blob/main/MIGRATION.md (2)

核心功能

同步、异步与 SSE

Anthropic 和 AsyncAnthropic 使用对应接口;Messages API 可返回完整结果,也可通过 SSE 流式迭代事件。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python
类型化错误与请求 ID

连接、鉴权、权限、限流和服务端错误都有明确异常类型,响应对象公开 _request_id 便于日志与支持排查。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python
重试、超时和分页

连接错误、408、409、429 与 5xx 默认重试两次;超时、重试和自动分页都可按客户端或请求调整。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python
多平台客户端

同一包提供原生 Anthropic、Vertex、Bedrock、Claude Platform on AWS 与 Microsoft Foundry 的客户端入口,部分需要安装 extra。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python

技术架构

SDK 由类型化资源客户端、请求参数 TypedDict、Pydantic 响应模型和 HTTPX2 传输层组成。Anthropic/AsyncAnthropic 管理认证、默认 header、重试、超时与资源生命周期;messages、files、batches 等资源暴露同步和异步方法;SSE helpers 把流事件组合成可迭代接口。1.x 仍支持 Pydantic v1 和 v2。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (1) · github.com/anthropics/anthropic-sdk-python/blob/main/pyproject.toml (2)

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) httpx2 >=2,<3 pydantic >=1.10,<3pydantic >=1.1… anyio >=4.1,<5 jiter >=0.4,<1 同步、异步与 SSE 类型化错误与请求 ID 重试、超时和分页 多平台客户端 anthropic-sdk-python 项目本体 核心功能 关键依赖

技术栈

语言Python 3.10+框架类型化 Claude API SDK,MIT 许可
httpx2 >=2,<3pydantic >=1.10,<3anyio >=4.1,<5jiter >=0.4,<1
默认连接 Anthropic API;可选 extras 支持 Bedrock、Vertex、Claude Platform on AWS 与 aiohttp,Foundry 在基础包中
来源:github.com/anthropics/anthropic-sdk-python/blob/main/pyproject.toml

快速上手

在新的 Python 3.10+ 虚拟环境固定 1.x 版本,设置 ANTHROPIC_API_KEY,先用 Messages API 发一个最小请求。生产代码要显式处理 APIConnectionError、RateLimitError 和 APIStatusError,记录 _request_id,并按工作负载设 timeout 与 max_retries;长请求使用 streaming。0.x 用户必须先阅读 MIGRATION.md。
来源:github.com/anthropics/anthropic-sdk-python (1) · platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (2)

使用场景

适合 Python 后端、批处理、数据管道、工具调用应用和需要 Bedrock/Vertex/Foundry 适配的 Claude 集成。它只负责 API 客户端,不替应用解决提示设计、权限、业务状态、幂等、预算、数据保留和人工审核。

来源:platform.claude.com/docs/en/cli-sdks-libraries/sdks/python

优势与局限

优势

  • Anthropic 官方维护,接口与响应均有类型
  • 同步、异步、流式、批处理、文件与分页在同一 SDK
  • 错误类型、请求 ID、重试和超时控制适合生产排障
  • 同一包覆盖多个 Claude 托管平台

局限

  • 调用需要相应平台的凭据、额度和网络访问
  • 默认 10 分钟超时及自动重试不适合所有交互或有副作用的工作流
  • 1.x 将最低 Python 从 3.9 提到 3.10,并迁移到 httpx2
  • 依赖旧 httpx patch 的 APM、mock 和 tracing 可能静默看不到请求
  • SDK 的 SemVer 说明允许某些类型或内部变更在 minor 版本出现,升级仍需读 release notes
来源:github.com/anthropics/anthropic-sdk-python/blob/main/MIGRATION.md (1) · platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (2)

最新版本

最新正式 Release 是 v1.8.0,发布于 2026-09-22。该版本加入 claude-opus-5-5、inline tool definitions 与 MCP tool-list pinning beta 支持,并修复 Python 3.13 进程退出时未关闭 stream 可能崩溃等问题。

来源:github.com/anthropics/anthropic-sdk-python/releases/tag/v1.8.0

实测与证据

status: official_docs_checked_not_api_called  |  checked_at: 2026-09-23  |  environment: 核对官方 GitHub README、v1.8.0 release、pyproject.toml、MIGRATION.md 与 Claude Platform Python SDK 文档;未安装包或发送 API 请求  |  limitations: 未验证包安装、认证、计费、网络、模型可用性、流式事件、工具、批处理、文件上传、云平台客户端或 0.x 项目迁移  |  observed_output: 最新正式 Release 为 v1.8.0,发布于 2026-09-22;要求 Python 3.10+;v1 采用 httpx2;默认对指定连接和状态错误重试两次,默认超时 10 分钟

来源:github.com/anthropics/anthropic-sdk-python/releases/tag/v1.8.0 (1) · platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (2)

同类项目对比

相比 OpenAI 官方 openai-python,两者都要求 Python 3.10+,都提供同步/异步类型化客户端并使用 HTTPX2。Anthropic SDK 的主入口是 client.messages.create,并直接提供 Anthropic、Bedrock、Vertex、AWS 和 Foundry 客户端;OpenAI SDK 的主要生成入口是 Responses API,同时保留 Chat Completions。选择应跟模型供应商、托管平台和 API 能力一致,不应只根据方法名相似就互换代码。

来源:github.com/anthropics/anthropic-sdk-python、https://platform.claude.co… (1) · github.com/openai/openai-python (2)

总结评价

新项目可以把 anthropic 1.x 作为 Claude API 的标准 Python 接入层,但应固定次版本范围、记录请求 ID,并显式设计超时、重试和流式处理。已有 0.x 项目先做迁移分支,重点检查 Python 版本、httpx2、监控与 mock,再上线。

来源:github.com/anthropics/anthropic-sdk-python/blob/main/MIGRATION.md (1) · platform.claude.com/docs/en/cli-sdks-libraries/sdks/python (2)

常见问题

anthropic 1.x 还支持 Python 3.9 吗?

不支持。官方 v1 迁移指南把最低版本从 Python 3.9 提到 3.10。旧环境应先升级 Python,再安装 anthropic>=1,<2。

从 anthropic 0.x 升到 1.x 只需要改版本号吗?

不一定。除了 Python 3.10,v1 还迁移到 httpx2,移除旧 Text Completions 和部分旧参数,并改变 raw response 的一些读取方式。要按 MIGRATION.md 和类型检查结果逐项修改。

Anthropic Python SDK 会自动重试哪些错误?

官方文档称连接错误、408、409、429 和 5xx 默认重试两次。可以在客户端或单次请求设置 max_retries;有副作用的业务逻辑仍要自行保证幂等。

长输出应该提高 10 分钟默认超时吗?

先使用流式 Messages API。官方提醒非流式长请求可能被中间网络断开,并会在预计超过约 10 分钟时抛出 ValueError;确有需要再同时评估 timeout、重试和重复请求风险。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 10:52.

参考材料:README、GitHub API、依赖文件