[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
optional = true
version = "1"
[dependencies.aws-sdk-bedrockruntime]
optional = true
version = "1"
[dependencies.aws-smithy-types]
optional = true
version = "1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
[dependencies.dashmap]
version = "6"
[dependencies.eventsource-stream]
version = "0.2"
[dependencies.futures]
version = "0.3"
[dependencies.gcp_auth]
optional = true
version = "0.12"
[dependencies.hex]
version = "0.4"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
features = ["json", "stream", "multipart", "query", "form"]
version = "0.13"
[dependencies.rustls]
default-features = false
features = ["ring", "std", "tls12"]
optional = true
version = "0.23"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
features = ["full"]
version = "1"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-tungstenite]
version = "0.28"
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.wiremock]
version = "0.6"
[[example]]
name = "01_simple_completion"
path = "examples/01_simple_completion.rs"
required-features = ["anthropic"]
[[example]]
name = "02_streaming"
path = "examples/02_streaming.rs"
required-features = ["openai"]
[[example]]
name = "03_tool_calling"
path = "examples/03_tool_calling.rs"
required-features = ["anthropic"]
[[example]]
name = "04_vision"
path = "examples/04_vision.rs"
required-features = ["anthropic"]
[[example]]
name = "05_structured_output"
path = "examples/05_structured_output.rs"
required-features = ["openai"]
[[example]]
name = "06_extended_thinking"
path = "examples/06_extended_thinking.rs"
required-features = ["openrouter"]
[[example]]
name = "07_multiple_providers"
path = "examples/07_multiple_providers.rs"
required-features = ["anthropic", "openai"]
[[example]]
name = "08_error_handling"
path = "examples/08_error_handling.rs"
required-features = ["openrouter"]
[[example]]
name = "09_async_usage"
path = "examples/09_async_usage.rs"
required-features = ["openrouter"]
[[example]]
name = "10_batch_processing"
path = "examples/10_batch_processing.rs"
required-features = ["openrouter"]
[[example]]
name = "11_embeddings"
path = "examples/11_embeddings.rs"
required-features = ["openai"]
[[example]]
name = "12_audio_synthesis"
path = "examples/12_audio_synthesis.rs"
required-features = ["openai"]
[[example]]
name = "13_audio_transcription"
path = "examples/13_audio_transcription.rs"
required-features = ["openai"]
[[example]]
name = "14_image_generation"
path = "examples/14_image_generation.rs"
required-features = ["openai"]
[[example]]
name = "15_specialized_api"
path = "examples/15_specialized_api.rs"
required-features = ["cohere", "openai"]
[[example]]
name = "16_video_generation"
path = "examples/16_video_generation.rs"
required-features = ["runwayml"]
[[example]]
name = "17_response_caching"
path = "examples/17_response_caching.rs"
required-features = ["openrouter"]
[[example]]
name = "18_retry_resilience"
path = "examples/18_retry_resilience.rs"
required-features = ["openrouter"]
[[example]]
name = "19_openai_compatible"
path = "examples/19_openai_compatible.rs"
required-features = ["openai-compatible"]
[features]
ai21 = []
ai360 = []
ai71 = []
aimlapi = []
aleph-alpha = []
alibaba = []
all-providers = ["anthropic", "openai", "openrouter", "ollama", "groq", "mistral", "azure", "bedrock", "openai-compatible", "google", "vertex", "cohere", "ai21", "huggingface", "replicate", "baseten", "runpod", "cloudflare", "watsonx", "databricks", "datarobot", "sagemaker", "snowflake", "cerebras", "sambanova", "stability", "fireworks", "deepseek", "aleph-alpha", "nlp-cloud", "voyage", "jina", "fal", "deepgram", "elevenlabs", "yandex", "gigachat", "clova", "maritaca", "writer", "openai-realtime", "clarifai", "vercel-ai", "poe", "gradient", "reka", "lambda-labs", "nvidia-nim", "xinference", "public-ai", "bytez", "chutes", "comet-api", "compactifai", "synthetic", "morph", "heroku-ai", "v0", "together", "anyscale", "deepinfra", "xai", "nvidia", "github", "novita", "hyperbolic", "lambda", "friendli", "octoai", "predibase", "nebius", "siliconflow", "moonshot", "zhipu", "yi", "minimax", "dashscope", "featherless", "nscale", "volcengine", "ovhcloud", "galadriel", "lm-studio", "tgi", "llamafile", "xinference", "fastchat", "aphrodite", "tabby", "koboldcpp", "text-gen-webui", "localai", "jan", "openllm", "nitro", "mlc", "infinity", "petals", "triton", "baichuan", "qwen", "stepfun", "ai360", "spark", "ernie", "hunyuan", "reka", "upstage", "meta-llama", "pangu", "sensenova", "sea-lion", "tiangong", "openai-proxy", "portkey", "helicone", "keywords-ai", "unify", "aimlapi", "prem", "martian", "centml", "crusoe", "coreweave", "lightning", "cerebrium", "banana", "beam", "mystic", "bytez", "morph", "kluster", "lighton", "ionos", "scaleway", "mistral-embeddings", "lepton", "gpt4all", "alibaba", "baidu", "assemblyai", "runware", "oracle", "sap", "runwayml", "recraft", "streaming-multiplexer", "smart-router", "rate-limiter", "observability", "circuit-breaker"]
anthropic = []
anyscale = []
aphrodite = []
assemblyai = []
azure = []
azure-ai = []
baichuan = []
baidu = []
banana = []
baseten = []
beam = []
bedrock = ["dep:aws-config", "dep:aws-sdk-bedrockruntime", "dep:aws-smithy-types"]
black-forest-labs = []
bytez = ["openai-compatible"]
centml = []
cerebras = []
cerebrium = []
chutes = ["openai-compatible"]
circuit-breaker = []
clarifai = ["openai-compatible"]
cloudflare = []
clova = []
cohere = []
comet-api = ["openai-compatible"]
compactifai = ["openai-compatible"]
coreweave = []
crusoe = []
dashscope = []
databricks = []
datarobot = []
deepgram = []
deepinfra = []
deepseek = []
default = ["anthropic", "openai"]
did = []
elevenlabs = []
ernie = []
fal = []
fastchat = []
featherless = []
fireworks = []
friendli = []
galadriel = []
gigachat = []
github = []
google = []
gpt4all = []
gradient = ["openai-compatible"]
groq = []
helicone = []
heroku-ai = ["openai-compatible"]
heygen = []
huggingface = []
hunyuan = []
hyperbolic = []
ideogram = []
infinity = []
ionos = []
jan = []
jina = []
kakao = []
keywords-ai = []
kling = []
kluster = []
koboldcpp = []
krutrim = []
lambda = []
lambda-labs = ["openai-compatible"]
leonardo = []
lepton = []
lg-exaone = []
lightning = []
lighton = []
llamafile = []
lm-studio = []
localai = []
luma = []
maritaca = []
martian = []
meta-llama = []
minimax = []
mistral = []
mistral-embeddings = []
mlc = []
modal = []
moonshot = []
morph = ["openai-compatible"]
mystic = []
naver = []
nebius = []
nitro = []
nlp-cloud = []
novita = []
nscale = []
ntt = []
nvidia = []
nvidia-nim = ["openai-compatible"]
observability = []
octoai = []
ollama = []
openai = []
openai-compatible = []
openai-proxy = []
openai-realtime = []
openllm = []
openrouter = []
oracle = []
ovhcloud = []
pangu = []
perplexity = []
petals = []
pika = []
plamo = []
playht = []
poe = ["openai-compatible"]
portkey = []
predibase = []
prem = []
public-ai = ["openai-compatible"]
qwen = []
rate-limiter = []
recraft = []
reka = ["openai-compatible"]
replicate = []
resemble = []
rev = []
runpod = []
runware = []
runwayml = []
sagemaker = []
sambanova = []
sap = []
sarvam = []
scaleway = []
sea-lion = []
sensenova = []
siliconflow = []
silo-ai = []
smart-router = []
snowflake = []
softbank = []
spark = []
speechmatics = []
stability = []
stepfun = []
streaming-multiplexer = []
swiss-ai = []
synthetic = ["openai-compatible"]
tabby = []
tensordock = []
text-gen-webui = []
tgi = []
tiangong = []
tilde = []
together = []
triton = []
twelve-labs = []
unify = []
upstage = []
v0 = ["openai-compatible"]
vastai = []
vercel-ai = ["openai-compatible"]
vertex = ["dep:gcp_auth", "dep:rustls"]
vllm = []
volcengine = []
voyage = []
watsonx = []
writer = []
xai = []
xinference = ["openai-compatible"]
yandex = []
yi = []
zhipu = []
[lib]
name = "llmkit"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings", "asynchronous"]
description = "Unified LLM API client for Rust - multi-provider support with a single interface"
edition = "2021"
keywords = ["llm", "ai", "openai", "anthropic", "claude"]
license = "MIT OR Apache-2.0"
name = "llmkit"
readme = "README.md"
repository = "https://github.com/yfedoseev/llmkit"
version = "0.1.0"
[[test]]
name = "integration_providers"
path = "tests/integration_providers.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "mock_tests"
path = "tests/mock_tests.rs"