The anthropic-sdk-python repository is the official Python client library for interacting with the Anthropic (Claude) REST API. It is designed to provide a user-friendly, type-safe, and asynchronous/synchronous capable interface for making chat/completion requests to models like Claude. The library includes definitions for all request and response parameters using Python typed objects, automatically handles serialization and deserialization, and wraps HTTP logic (timeouts, retries, error mapping) so that developers can call the API in a clean, high-level way. The SDK supports both synchronous and asynchronous usage (via async/await) depending on context. Importantly, it also supports streaming responses via Server-Sent Events (SSE) so that large outputs can be consumed incrementally rather than waiting for the full response. The client offers helper abstractions for tools (function-style “tools”) and streaming utilities for building interactive agents.
Features
- Typed Python client for Anthropic Claude REST API with request/response models
- Support for both synchronous and asynchronous (async/await) API usage
- Streaming (SSE) response support for incremental output consumption
- Token counting utilities to forecast usage without executing full request
- Tool / function-calling helpers to integrate with “tool” infrastructure
- Built-in retry logic, error mapping, and HTTP configuration (timeouts, custom clients)