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