api_claude 0.3.0

Claude API for accessing Anthropic's large language models (LLMs).
Documentation
[dependencies.chrono]
features = ["serde"]
optional = true
version = "0.4.42"

[dependencies.error_tools]
optional = true
version = "0.35.0"

[dependencies.flate2]
optional = true
version = "1.1.5"

[dependencies.futures]
optional = true
version = "0.3.31"

[dependencies.futures-core]
optional = true
version = "0.3.31"

[dependencies.futures-util]
optional = true
version = "0.3.31"

[dependencies.mod_interface]
optional = true
version = "0.52.0"

[dependencies.notify]
optional = true
version = "8.2.0"

[dependencies.parking_lot]
optional = true
version = "0.12.5"

[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
optional = true
version = "0.12.24"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0.228"

[dependencies.serde_json]
optional = true
version = "1.0.145"

[dependencies.serde_with]
optional = true
version = "3.15.1"

[dependencies.tokio]
features = ["macros"]
optional = true
version = "1.48.0"

[dependencies.tokio-stream]
optional = true
version = "0.1.17"

[dependencies.workspace_tools]
features = ["secrets"]
optional = true
version = "0.10.0"

[dev-dependencies.tempfile]
version = "3.23.0"

[[example]]
name = "claude_api_basic"
path = "examples/claude_api_basic.rs"

[[example]]
name = "claude_api_interactive"
path = "examples/claude_api_interactive.rs"

[[example]]
name = "claude_chat_cached_interactive"
path = "examples/claude_chat_cached_interactive.rs"

[[example]]
name = "claude_chat_streaming"
path = "examples/claude_chat_streaming.rs"

[[example]]
name = "claude_code_review"
path = "examples/claude_code_review.rs"

[[example]]
name = "claude_content_generation"
path = "examples/claude_content_generation.rs"

[[example]]
name = "claude_function_calling"
path = "examples/claude_function_calling.rs"

[[example]]
name = "claude_multi_turn_conversation"
path = "examples/claude_multi_turn_conversation.rs"

[[example]]
name = "claude_vision_analysis"
path = "examples/claude_vision_analysis.rs"

[features]
authentication = []
batch-processing = []
buffered-streaming = ["streaming"]
circuit-breaker = []
compression = ["flate2"]
content-generation = []
count-tokens = []
curl-diagnostics = []
default = ["full"]
dynamic-config = ["notify", "parking_lot"]
embeddings = []
enabled = ["dep:mod_interface", "dep:error_tools", "dep:workspace_tools", "dep:serde", "dep:serde_json", "dep:serde_with", "dep:futures-core", "dep:futures-util", "dep:tokio", "dep:reqwest"]
enhanced-function-calling = ["tools"]
enterprise-quota = ["parking_lot", "chrono"]
error-handling = ["chrono"]
failover = []
full = ["enabled", "integration", "streaming", "authentication", "content-generation", "model-management", "error-handling", "tools", "vision", "embeddings", "curl-diagnostics", "general-diagnostics", "sync-api", "retry-logic", "circuit-breaker", "rate-limiting", "failover", "health-checks", "batch-processing", "count-tokens", "request-caching", "streaming-control", "compression", "enterprise-quota", "dynamic-config", "model-comparison", "request-templates", "buffered-streaming", "input-validation", "enhanced-function-calling"]
general-diagnostics = []
health-checks = []
input-validation = []
integration = []
model-comparison = []
model-management = []
rate-limiting = ["tokio/time"]
request-caching = []
request-templates = []
retry-logic = []
streaming = ["tokio-stream", "futures"]
streaming-control = ["streaming"]
sync-api = []
tools = []
vision = []

[lib]
name = "api_claude"
path = "src/lib.rs"

[lints.clippy]
absolute_paths = "allow"
arbitrary_source_item_ordering = "allow"
cast_precision_loss = "allow"
doc_include_without_cfg = "warn"
implicit_return = "allow"
inline_always = "allow"
items_after_statements = "allow"
missing_docs_in_private_items = "allow"
missing_inline_in_public_items = "warn"
mod_module_files = "allow"
module_name_repetitions = "allow"
pub_use = "allow"
question_mark_used = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "warn"
undocumented_unsafe_blocks = "deny"
wildcard_imports = "allow"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe-code = "deny"

[lints.rust.future_incompatible]
level = "warn"
priority = -1

[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1

[package]
authors = ["Kostiantyn Wandalen <wandalen@obox.systems>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "development-tools"]
description = """
Claude API for accessing Anthropic's large language models (LLMs).
"""
documentation = "https://docs.rs/api_claude"
edition = "2021"
homepage = "https://github.com/Wandalen/api_llm/tree/master/api/claude"
keywords = ["fundamental", "general-purpose"]
license = "MIT"
name = "api_claude"
readme = "readme.md"
repository = "https://github.com/Wandalen/api_llm/tree/master/api/claude"
version = "0.3.0"

[package.metadata.docs.rs]
all-features = false
features = ["full"]

[[test]]
name = "example_model_validation_test"
path = "tests/example_model_validation_test.rs"

[[test]]
name = "prompt_caching_tests"
path = "tests/prompt_caching_tests.rs"

[[test]]
name = "tests"
path = "tests/tests.rs"