Expand description
§Anthropic SDK for Rust
This crate provides a Rust SDK for the Anthropic API, offering feature parity with the official TypeScript SDK.
§Quick Start
use anthropic_sdk::Anthropic;
// Create client from environment variable ANTHROPIC_API_KEY
let client = Anthropic::from_env()?;
// Or create with explicit API key
let client = Anthropic::new("your-api-key")?;
// Test the connection
client.test_connection().await?;§Features
- Messages API: Create and stream Claude conversations
- Authentication: Automatic API key management
- Error Handling: Comprehensive error types
- Logging: Configurable tracing support
- Async/Await: Built on tokio for high performance
Re-exports§
pub use client::Anthropic;pub use config::ClientConfig;pub use config::LogLevel;pub use types::AnthropicError;pub use types::Result;pub use types::RequestId;pub use types::Usage;pub use types::Message;pub use types::Role;pub use types::ContentBlock;pub use types::ImageSource;pub use types::StopReason;pub use types::MessageCreateParams;pub use types::MessageParam;pub use types::MessageContent;pub use types::ContentBlockParam;pub use types::MessageCreateBuilder;pub use types::Model;pub use types::MessageStreamEvent;pub use types::MessageDelta;pub use types::MessageDeltaUsage;pub use types::ContentBlockDelta;pub use types::TextCitation;pub use types::Tool;pub use types::ToolBuilder;pub use types::ToolChoice;pub use types::ToolUse;pub use types::ToolResult;pub use types::ToolResultContent;pub use types::ToolValidationError;pub use types::ServerTool;pub use types::WebSearchParameters;pub use types::MessageBatch;pub use types::BatchStatus;pub use types::BatchRequestCounts;pub use types::BatchRequest;pub use types::BatchRequestBuilder;pub use types::BatchResult;pub use types::BatchResponse;pub use types::BatchResponseBody;pub use types::BatchError;pub use types::BatchCreateParams;pub use types::BatchListParams;pub use types::BatchList;pub use types::FileObject;pub use types::FilePurpose;pub use types::FileStatus;pub use types::FileUploadParams;pub use types::FileListParams;pub use types::FileList;pub use types::FileOrder;pub use types::UploadProgress;pub use types::StorageInfo;pub use types::FileDownload;pub use types::ModelObject;pub use types::ModelListParams;pub use types::ModelList;pub use types::ModelCapabilities;pub use types::ModelCapability;pub use types::ModelPricing;pub use types::PricingTier;pub use types::ModelComparison;pub use types::ModelPerformance;pub use types::ComparisonSummary;pub use types::ModelRequirements;pub use types::ModelUsageRecommendations;pub use types::ModelRecommendation;pub use types::RecommendedParameters;pub use types::PerformanceExpectations;pub use types::CostRange;pub use types::QualityLevel;pub use types::CostEstimation;pub use types::CostBreakdown;pub use tools::ToolRegistry;pub use tools::ToolExecutor;pub use tools::ToolConversation;pub use tools::ToolFunction;pub use tools::ToolExecutionConfig;pub use tools::ConversationConfig;pub use tools::ToolError;pub use resources::MessagesResource;pub use resources::BatchesResource;pub use resources::FilesResource;pub use resources::ModelsResource;pub use files::File;pub use files::FileData;pub use files::FileSource;pub use files::FileConstraints;pub use files::FileBuilder;pub use files::FileError;pub use files::to_file;pub use tokens::TokenCounter;pub use tokens::UsageStats;pub use tokens::ModelUsage;pub use tokens::RequestUsage;pub use tokens::ModelPrice;pub use tokens::UsageSummary;pub use http::RetryPolicy;pub use http::RetryCondition;pub use http::RetryExecutor;pub use http::RetryResult;pub use http::default_retry;pub use http::api_retry;pub use streaming::MessageStream;pub use http::auth::AuthMethod;pub use types as types_module;
Modules§
- client
- config
- files
- http
- resources
- streaming
- Streaming support for real-time message generation.
- tokens
- tools
- Tool execution and management for the Anthropic SDK.
- types
- utils
Macros§
- tool_
function - Helper macro for creating simple tool functions.
Constants§
- USER_
AGENT - User-Agent string for HTTP requests
- VERSION
- Version information