Crate anthropic_sdk

Source
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

Type Aliases§

Error