litellm-rs

App Listed

A high-performance AI Gateway written in Rust, providing OpenAI-compatible APIs with intelligent routing, load balancing, and enterprise features

Checked · Sources

Downloads
34
Dependents
Not applicable
Stars
123
Forks
18
Contributors
6
Commits
2,565
Latest release
0.10.1 ·

About

From the project README ·

A high-performance self-hosted LLM gateway with a stable OpenAI-compatible HTTP contract. The litellm-rs crate is the gateway's reusable Rust kernel, with narrower support policies for runtime-backed APIs and legacy compatibility adapters.

Features

  • 60+ runtime-wired providers - OpenAI, Anthropic, AWS Bedrock, Mistral, Cloudflare, plus 50+ OpenAI-compatible providers via the Tier 1 catalog. See Provider Support for the full matrix.
  • Stable OpenAI-Compatible API - Versioned inference contract served at GET /openapi.json
  • Admin control-plane OpenAPI - Auth, keys, teams, budgets, routing, ledger, and provider APIs at GET /admin/openapi.json
  • Measured Performance - Reproducible gateway-overhead benchmark methodology
  • Intelligent Routing - Load balancing, failover, cost optimization
  • Gateway Controls - Default-on prompt-injection guardrails, configured IP access, auth, rate limiting, deterministic caching, metrics, and health endpoints

Quick Start: Self-Hosted Gateway

Run the primary supported product from source:

git clone https://github.com/majiayu000/litellm-rs.git
cd litellm-rs
cp config/gateway.dev.yaml.example config/gateway.yaml
cargo run --bin gateway --features sqlite
Read the full README

Or install the gateway binary:

cargo install litellm-rs --version 0.10.1 --locked --bin gateway --no-default-features \
  --features postgres,sqlite,redis,s3,metrics,tracing,websockets,providers-extra,providers-extended,mcp-validation,a2a
mkdir -p config
curl -L https://raw.githubusercontent.com/majiayu000/litellm-rs/v0.10.1/config/gateway.dev.yaml.example -o config/gateway.yaml
gateway

The development config starts without provider credentials or auth secrets and uses the local vllm catalog provider. Use config/gateway.yaml.example for production-style deployments with real provider keys and auth enabled. The explicit sqlite feature enables the storage needed by the gateway binary. The registry install selects the same feature profile as release archives and containers, including MCP, A2A and Realtime. Binary and example config versions must match. See the 0.9 compatibility and rollout notes and versioned release assets.

The gateway serves its stable inference contract at GET /openapi.json; the versioned source is docs/openapi/inference.json. The admin control-plane contract is served at GET /admin/openapi.json (admin-authenticated) from docs/openapi/admin.json.

API-key lifetime budgets use an authoritative SQL reservation ledger. Create a key with max_budget, then inspect its cap and spent-plus-reserved amount at GET /v1/keys/{id}/usage. Gateways sharing the same database share one balance; restarts preserve both settled spend and outstanding holds. Redis provider/model budgets remain a separate scope. See the budget capability boundary for persistence requirements and unknown-usage behavior.

For a first HTTP request or setup failure, use the gateway setup and compatibility questions.

Supported Product Surfaces

SurfaceSupport policy
Self-hosted HTTP gatewayPrimary product. Stable inference routes follow the published OpenAPI contract; configured deployments expose their canonical ProviderCapability.
Runtime-backed Rust APIsReusable gateway kernel. LLMClient::from_runtime, DefaultRouter::from_runtime, and runtime-configured completion() derive support from the selected deployment and fail unsupported capabilities with typed errors.
Legacy SDK and selector adaptersCompatibility surfaces with narrower coverage. The legacy adapter matrix is authoritative for these paths and is not a canonical runtime capability matrix.

Container distribution status

Install version 0.10.1 from the versioned crate, GitHub Release archives and ghcr.io/majiayu000/litellm-rs:0.10.1 (Linux amd64/arm64). These distributions use the shipped gateway feature profile documented below. Prefer a versioned image tag or immutable digest; latest is mutable. Docker Hub publication is optional. The 0.8 verification record is historical evidence for 0.8 artifacts, not verification of later releases.

Rust Crate

[dependencies]
litellm-rs = { version = "0.10", default-features = false, features = ["lite"] }

No make step is required for crate consumers.

Library Example

Add Tokio with macros and rt-multi-thread features. The complete hello example constructs a local vLLM deployment and installs its RuntimeBinding before calling completion. Run it against an existing local OpenAI-compatible server, passing its endpoint and served model:

cargo run --example hello -- http://localhost:8000/v1 your-served-model
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Copy examples/hello.rs into your application's src/main.rs. It uses public crate APIs and no provider credentials. The explicit private_network access policy permits the configured local endpoint; configure credentials and endpoint policy separately when integrating a hosted provider.

For a credential-free local HTTP check of the same example source as an independent crate consumer, run python3 scripts/test/library_consumer_smoke.py. The smoke uses this checkout as a path dependency; it does not verify a published registry artifact or a real provider account.

Gateway Configuration

The gateway router config maps these fields into the runtime router:

  • router.strategy selects the deployment routing strategy.
  • router.circuit_breaker.failure_threshold controls consecutive failures before cooldown.
  • router.circuit_breaker.recovery_timeout controls cooldown duration in seconds.
  • router.circuit_breaker.min_requests sets the sample size required before cooldown.
  • router.circuit_breaker.success_threshold sets the successes required to recover from cooldown.
  • router.load_balancer.health_check_enabled enables pre-call deployment health checks.

Active provider probes are opt-in: a provider's health_check must differ from the defaults. Native probes are limited to provider types whose configured deployment is unambiguously a chat model (currently Anthropic and GitHub Copilot); they send a one-token request and may incur provider charges. OpenAI, Bedrock, OpenAI-compatible, Vertex AI, FalAI, and other multi-capability providers require a custom health_check.endpoint. Without an active probe policy, readiness remains fail-closed (Unknown).

router.load_balancer.sticky_sessions and router.load_balancer.session_timeout are reserved for future session affinity. Non-default values fail config validation until runtime affinity is implemented.

Gateway YAML can publish stable model names and deterministic primary/fallback tiers:

providers:
  - name: openai-primary
    provider_type: openai
    api_key: "${OPENAI_API_KEY}"
    models: [gpt-4o]
    priority: 0
  - name: openai-fallback
    provider_type: openai
    api_key: "${OPENAI_API_KEY}"
    models: [gpt-4o]
    priority: 10

model_aliases:
  production-chat: gpt-4o
  stable-chat: production-chat

router:
  strategy: priority_based

Alias chains are validated and flattened at startup; empty values, cycles, canonical-name collisions, and targets without an enabled deployment fail startup. Alias names appear in /v1/models alongside canonical models. Lower numeric priority wins under priority_based; omitted provider priorities default to 0. When rolling back to a binary that predates these fields, remove model_aliases and priority from YAML before rolling back the binary, because unknown fields are rejected.

Core Subsystem Runtime Status

Runtime wiring decisions are tracked in src/core/subsystem_registry.rs, and tests assert that every module exported from src/core/mod.rs is either referenced by the gateway runtime or explicitly classified. The current issue-838 subsystem decisions are:

SubsystemDecisionRuntime status
core/guardrailswireDefault-on prompt-injection checks run before provider execution and on non-streaming output; guardrails.enabled: false is the explicit opt-out.
core/ip_accesswireConfigured allow/block rules run as an outer Actix middleware and short-circuit before downstream side effects; empty/default rules allow all.
core/mcpfeature-gatedgateway,mcp mounts authenticated Streamable HTTP at /{server_name}/mcp (/mcp for one enabled server). See MCP gateway for configuration and stateless transport limits. Responses API MCP descriptors pass through independently.
core/a2aexperimental-gateOpt-in gateway,a2a exposes authenticated A2A 1.0 agent cards, messages, task queries/cancellation and SSE. Task ownership is process-local; see A2A gateway.
server/routes/ai/realtimefeature-gatedgateway,websockets mounts the manual OpenAI Realtime gateway. The unused legacy core/realtime client has been removed.
core/observability and core/integrationswireConfigured Langfuse, OpenTelemetry, and Datadog backends are initialized at startup and receive real chat, completion, response, and embedding lifecycle events.
core/auditwireenterprise.audit_logging: true registers request audit middleware; events use structured JSON on stderr unless a file or custom output is configured. Default is off.
core/batchlibrary-only/v1/batches remains a wired provider proxy. Domain records and async batch helpers remain; the unreachable BatchProcessor has been removed.
Former core/webhooksremovedThe unused library and webhooks feature have been removed in 0.8.0. Budget-alert delivery and provider-native webhook fields remain separate.
Former core/semantic_cache and core/analyticsremovedRemoved in 0.8.0 after the expired 0.7 deadline. Deterministic caching, request metrics and callbacks remain; see the migration guide for removed fields/features.
core/virtual_keyswireRuntime virtual keys use the canonical core::keys::KeyManager; the duplicate legacy manager has been removed. Storage record types remain in use.
core/user_managementinternalDomain records back current auth/storage paths. The unused UserManager and its user-management feature have been removed.

Installation

Since 0.8.0, default features select the reusable library with metrics and tracing. Gateway and database dependencies are opt-in. The previous 0.7.0 release used gateway defaults; gateway consumers must explicitly select a storage feature such as sqlite or postgres.

# Library with metrics and tracing
[dependencies]
litellm-rs = { version = "0.10", default-features = false, features = ["lite"] }

# Library without optional observability
[dependencies]
litellm-rs = { version = "0.10", default-features = false }

# Gateway with SQLite (also enables Redis support)
[dependencies]
litellm-rs = { version = "0.10", features = ["sqlite"] }

Use the crate root or litellm_rs::prelude for completion and embedding APIs. Advanced types have explicit module paths: core::providers for provider construction, core::router for deployment management, and core::models::openai for HTTP wire models. Hidden root re-exports of these advanced types have been removed in 0.8.0.

Provider Support

Perplexity's old Sonar Chat Completions endpoint retired on 2026-09-27. The perplexity / perplexity-ai / pplx selectors are not currently dispatchable; the replacement Agent API requires a native protocol adapter. Historical prices remain available and do not establish callable models. See the retirement audit.

GitHub Models (github / github-models) retired on 2026-07-30 and is no longer a callable selector. GitHub Copilot remains a separate native provider. See the retirement audit.

Lambda shared inference retired on 2025-09-25. The lambda_ai selector is removed. The unverified meta_llama, v0 and amazon_nova default transports are also disabled; use the existing Bedrock provider for supported Nova models or configure an OpenAI-compatible deployment with its real endpoint. See the remaining catalog review.

Providers are organised into two tiers (see CLAUDE.md → Provider Tiers for the engineering definition).

  • Tier 1 — catalog-only: OpenAI-compatible endpoints declared as data in src/core/providers/registry/catalog.rs. Routed through OpenAILikeProvider. Always available (no cargo feature required). The runtime supports chat and streaming plus explicitly verified embeddings, images and audio capabilities for selected providers; see compatible non-chat support. Capability declarations do not imply that every model supports every endpoint.
  • Tier 2 — code-based: providers with custom request/response handling, auth signing, or streaming. Wired into the Provider enum and the factory. Some Tier 2 builders are feature-gated.

External Rust providers implement ExternalProvider and register through Provider::External(Arc::new(provider)), Deployment::new, and UnifiedRouter::add_deployment, without editing the internal enum. See the external provider integration tests for capability, health, error and streaming behavior. This is an in-process API; OpenAI-compatible servers can use the existing configuration path.

The provider and legacy adapter matrices below are validated against the provider registry and Tier 1 catalog. The source of truth for Tier 1 entries is catalog.rs; Tier 2 identity and dispatch metadata lives in src/core/providers/registry/types.rs, with construction branches in src/core/providers/factory/registry.rs. Legacy adapter availability lives in src/core/providers/registry/support_matrix.rs. passthrough means a retained adapter forwards the call to the upstream OpenAI-compatible endpoint without per-provider transformation.

Legacy adapter matrix

This matrix records selector-based compatibility adapters. It is not the capability source for LLMClient::from_runtime, DefaultRouter::from_runtime, or the free completion() functions. Canonical runtime support is derived from the selected deployment's ProviderCapability; unsupported capabilities fail closed with a typed provider error.

Legacy selector classHTTP chat / stream adapterHTTP embeddings / image adapterSDK chat / stream / embeddings adaptercompletion() chat / stream adapterNotes
openai✅ / ✅✅ / ✅✅ / ✅ / ✅✅ / ✅Reference provider across all current surfaces.
anthropic✅ / ✅– / –✅ / ✅ / –✅ / ✅Native chat and streaming only.
azurepassthrough / passthroughproviders-extra / providers-extra– / – / ✅passthrough / passthroughSDK exposes Azure embeddings; SDK chat is not implemented.
azure_aipassthrough / passthroughproviders-extra / providers-extra– / – / –providers-extra / providers-extracompletion() supports azure_ai/ and azure-ai/ routes when the native feature is enabled.
bedrock✅ / ✅✅ / –– / – / –– / –No legacy SDK or completion() adapter. Configured canonical runtimes use the deployment's chat, stream, and embedding capabilities.
databricks, snowflakepassthrough / passthrough– / –– / – / –– / –Governed OpenAI-compatible chat/SSE runtimes with platform-specific identity and auth.
ocimode-dependentmode-dependent / –– / – / –– / –Compatible mode provides chat/SSE; IAM native mode provides embeddings and rerank.
watsonx✅ / –✅ / –– / – / –– / –Native chat, embeddings, and rerank.
sagemaker✅ / –– / –– / – / –– / –InvokeEndpoint requires an explicit supported payload transformer.
mistral, cloudflare, cohere, voyage, vertex_ai, gemini, fal_ai, replicate, stability, black_forest_labs, ollamaprovider-specificprovider-specific– / – / –– / –See support_matrix.rs for feature-gated HTTP support. Ollama retains its existing SDK stream-only path.
google / SDK Google– / –– / –– / – / –– / –Google/Gemini SDK chat is intentionally unsupported until a real adapter exists.
Default catalog dynamic routes: openrouter, deepseek, moonshot, minimax, zhipu, zai, together_ai, fireworks_ai, aiml, groq, xiaomi_mimo, xaipassthrough / passthrough– / –– / – / –✅ / ✅OpenAI-compatible routes wired into default completion() routing.
Other Tier 1 catalog providerspassthrough / passthrough– / –– / – / –– / –HTTP gateway chat/stream only unless routed through explicit OpenAI-compatible config.
SDK Custom– / –– / –– / – / ✅– / –SDK custom providers support embeddings when base_url is configured.
SDK Ollama– / –– / –– / ✅ / –– / –SDK streaming uses the OpenAI-compatible stream parser; SDK chat is not implemented.

The runway-media feature exposes a library-only Runway task contract for text/image-to-video submit, query, cancel, and result polling. It does not mount a gateway video route.

Tier 2 — code-based providers
ProviderCargo featureChatStreamEmbedImageAudioNotes
OpenAI (openai)always✅✅✅✅✅Reference implementation.
Anthropic (anthropic)always✅✅–––Native Anthropic messages API.
Mistral (mistral)always✅✅passthrough––Native client.
Cloudflare Workers AI (cloudflare)always✅✅–––Official compatible chat endpoint with account-id auth; model-gated tools/vision and native SSE usage/errors. Embeddings remain unsupported.
Deepgram (deepgram)always––––✅Native speech-to-text and text-to-speech REST transport.
ElevenLabs (elevenlabs)always––––✅Native speech-to-text and text-to-speech REST transport.
Cohere (cohere)native factory (providers-extended)✅✅✅––Uses native Cohere /v2/chat and /v2/embed; the concrete provider also exposes a /v1/rerank helper. Explicitly unsupported without providers-extended.
Voyage (voyage)always––✅––Uses native Voyage /v1/embeddings and the shared HTTP /v1/rerank route with exact model capability and pricing identity.
Azure OpenAI (azure)native factory (providers-extra); OpenAILike fallback✅✅✅✅–Native Azure supports chat, streaming, embeddings, and image generation with providers-extra; otherwise the factory path uses OpenAILike chat/stream only.
Azure AI Inference (azure_ai)native factory (providers-extra); OpenAILike fallback✅✅✅✅–Native Azure AI supports chat, streaming, embeddings, and image generation with providers-extra; otherwise the factory path uses OpenAILike chat/stream only.
AWS Bedrock (bedrock)always✅✅✅helper API–Native AWS Bedrock runtime path with SigV4 signing. Use openai_compatible for Bedrock Access Gateway or other OpenAI-compatible proxies.
Databricks Model Serving (databricks)always✅✅–––OpenAI-compatible chat/SSE with typed workspace and token configuration.
Snowflake Cortex (snowflake)always✅✅–––OpenAI-compatible chat/SSE with typed account and token-type configuration.
OCI Generative AI (oci)always✅✅✅––Compatible mode provides chat/SSE; IAM native mode provides embeddings and rerank.
IBM watsonx.ai (watsonx)always✅–✅––Native chat, embeddings, and rerank with explicit project or space identity.
Amazon SageMaker (sagemaker)always✅––––SigV4 InvokeEndpoint; payload transformer is required and unknown schemas fail closed.
Google Vertex AI (vertex_ai)native factory (providers-extra)✅✅✅✅–Uses native Vertex auth and Google-specific URLs when providers-extra is enabled; otherwise explicitly unsupported.
Google Gemini (gemini)native factory (providers-extended)✅✅–––Uses native Google AI Studio Gemini auth; use vertex_ai for Vertex AI project/location credentials.
fal.ai (fal_ai)native factory (providers-extended)–––✅–Uses native Fal AI image-generation endpoints; chat and streaming are explicitly unsupported.
Stability AI (stability)native factory (providers-extended)–––✅–Uses native v2beta multipart image generation and editing endpoints.
Black Forest Labs (black_forest_labs)native factory (providers-extended)–––✅–Uses native asynchronous submit/poll image generation and Kontext editing.
Replicate (replicate)native factory (providers-extended)✅✅–✅–Uses native Replicate prediction lifecycle handling for chat, streaming, and image generation; explicitly unsupported without providers-extended.
Ollama (ollama)native factory (providers-extended)✅✅✅––Uses native /api/chat NDJSON streaming, /api/embed, and model tags/show endpoints. Localhost defaults to private-network endpoint policy; explicit endpoints keep their configured policy.
GitHub Copilot (github_copilot)native factory (providers-extended)✅✅–––Uses native GitHub Copilot auth and model access when providers-extended is enabled; otherwise explicitly unsupported.
Generic OpenAI-compatible (openai_compatible)always✅✅passthroughpassthroughpassthroughFor self-hosted / unlisted OpenAI-compatible chat, embeddings, image, and audio endpoints.

GitHub Copilot captures its effective token directory, credential filenames, and file contents when the provider is constructed. Reload the gateway after changing those paths or switching credential files to another account. Existing requests and provider clones keep their captured credentials; API-key refresh uses that resource's access token and returns a matching token and endpoint. Authentication remains lazy when no credentials are available. If only an API-key cache was captured, configure an access token and reload before that key needs refreshing.

Tier 1 — catalog providers (OpenAI-compatible, always available)

All entries below route through OpenAILikeProvider. Chat and streaming use the compatible /chat/completions protocol. Selected providers also expose verified non-chat capabilities listed in compatible non-chat support; other capabilities fail explicitly.

Cloud (Bearer auth via env var):

groq, ai21, huggingface, baseten, together, together_ai, fireworks, fireworks_ai, cerebras, openrouter, deepinfra, deepseek, novita, nvidia_nim, nebius, nscale, hyperbolic, featherless, galadriel, sambanova, heroku, friendliai, xai, moonshot, dashscope, qwen, baichuan, minimax, volcengine, xiaomi_mimo, zhipu, zai, lemonade, linkup, poe, wandb, nanogpt, aiml_api, aiml, aleph_alpha, anyscale, bytez, comet_api, compactifai, maritalk, siliconflow, yi, ovhcloud

Local (no API key):

vllm, hosted_vllm, lm_studio, llamafile, docker_model_runner, xinference, infinity, oobabooga

For self-hosted or unlisted OpenAI-compatible endpoints, prefer the generic openai_compatible provider type instead.

Environment Variables

# Provider API Keys
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
AZURE_OPENAI_API_KEY=...
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
GROQ_API_KEY=...
AI21_API_KEY=...
HF_TOKEN=...
BASETEN_API_KEY=...
DEEPSEEK_API_KEY=...
MOONSHOT_API_KEY=...
ZHIPU_API_KEY=...
MINIMAX_API_KEY=...

# Optional
LITELLM_VERBOSE=true  # Enable verbose logging

Examples

Multi-Provider Routing
use litellm_rs::{completion, user_message};

// Automatically routes to the right provider based on model name
let openai = completion("gpt-5.5", vec![user_message("Hi")], None).await?;
let anthropic = completion("anthropic/claude-opus-4-8", vec![user_message("Hi")], None).await?;
let groq = completion("groq/llama-3.1-8b-instant", vec![user_message("Hi")], None).await?;
let bedrock = completion(
    "bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0",
    vec![user_message("Hi")],
    None,
)
.await?;

bedrock/ uses the native AWS Bedrock provider. It signs requests with AWS SigV4 and preserves AWS execution model IDs such as us.*, global.*, region-prefixed IDs, and Bedrock ARNs. Use openai_compatible for Bedrock Access Gateway or other OpenAI-compatible proxies instead.

Embeddings
use litellm_rs::{embedding, embed_text};

// Single text
let embedding = embed_text("text-embedding-3-small", "Hello world").await?;

// Batch
let embeddings = embedding(
    "text-embedding-3-small",
    vec!["Hello", "World"],
    None,
).await?;
Streaming
use litellm_rs::{completion_stream, user_message};
use futures::StreamExt;

let mut stream = completion_stream(
    "gpt-4",
    vec![user_message("Tell me a story")],
    None,
).await?;

while let Some(chunk) = stream.next().await {
    if let Ok(chunk) = chunk {
        print!("{}", chunk.choices[0].delta.content.unwrap_or_default());
    }
}

Performance

Gateway throughput and latency claims require a dated raw artifact tied to an exact Git revision. See the reproducible gateway-overhead benchmark methodology for the fixed workload, commands, environment metadata, percentile reporting, and artifact format.

The Criterion benchmarks under benches/ measure in-process components; they must not be presented as end-to-end HTTP gateway throughput.

Troubleshooting

Build/test uses too much CPU or memory
  • Use API-only defaults first: cargo test --lib --tests --no-default-features --features "lite"
  • Limit local parallelism when needed: CARGO_BUILD_JOBS=4 cargo test --lib --tests --no-default-features --features "lite" -- --test-threads=4
  • Avoid --all-features unless you are doing release/nightly validation
I only need provider API aggregation, not gateway
  • Prefer default-features = false with features = ["lite"]
  • Use gateway runtime commands only when you need HTTP server/auth/storage middleware

Documentation

Contributing

See CONTRIBUTING.md for development setup and guidelines.

Security

See SECURITY.md for security policy and vulnerability reporting.

The Agent Infra Stack

This project is one layer of an open-source stack for running coding agents (Claude Code, Codex) as serious infrastructure. Every piece works standalone; together they close the loop:

litellm-rs is the Route layer — a self-hosted OpenAI-compatible gateway. See Provider Support for runtime and adapter coverage.

LayerProjectWhat it does
Extendclaude-skill-registryDiscover and search community Claude Code skills
ExtendspellbookCross-runtime skills for Claude Code, Codex, and multi-agent workflows
TrustargusStatic install-time scanner for supply-chain attacks (npm / PyPI / crates.io)
TrustvibeguardRules, hooks, and guards against hallucinated or unverified agent changes
RememberrememLocal-first persistent memory for Claude Code and Codex sessions
OrchestrateharnessRust agent orchestration platform — rules, skills, GC, observability
Routelitellm-rs ◀ you are hereSelf-hosted Rust LLM gateway with OpenAI-compatible APIs, routing, and failover
KeepkeeplineSession command center — monitor, recover, never lose agent work

License

MIT License - see LICENSE for details.

Acknowledgments

Inspired by LiteLLM (Python).

Runs on
GPU support unknown
What shows it
  • no dependency or feature matches a backend row
Native code
None found
  • No native code found
Python bindings
No Python binding crate found
License
MIT

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

litellm-rs beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
litellm-rs This page App Listed

A high-performance AI Gateway written in Rust, providing OpenAI-compatible APIs with intelligent routing, load balancing, and enterprise features

34 binary downloads per release Not applicable 123 0.10.1 GPU support unknown No native code found MIT
rust-genai Featured

Multi-AI Providers Library for Rust. (OpenAI, Gemini, Anthropic, DeepSeek, Ollama, OMLX, AWS Bedrock, Vertex, Xai, Groq, Kimi, GLM and many more)

118,643 downloads over 30 days 81 938 0.7.3 GPU support unknown No native code found Apache-2.0 OR MIT
aichat App Featured

All-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, with access to OpenAI, Claude, Gemini, Ollama, Groq, and more.

28,422 binary downloads per release Not applicable 10,556 0.30.0 GPU support unknown No native code found Apache-2.0 OR MIT
aisdk Listed

An open-source Rust library for building AI-powered applications, inspired by the Vercel AI SDK. It provides a robust, type-safe, and easy-to-use interface for interacting with various Large Language Models (LLMs).

36,877 downloads over 30 days 4 263 0.6.1 GPU support unknown No native code found MIT
smg App Listed

High-performance model-routing gateway for large-scale LLM deployments

116 downloads over 30 days Not applicable 703 1.14.0 GPU support unknown Binds native code: k8s-openapi, odpic-sys, openssl-sys, tikv-jemalloc-sys, nixl-sys (feature nixl). Build uses a native toolchain: cc, pkg-config Apache-2.0
blazr App Listed

Inference server for LLMs, speech and embeddings: OpenAI-compatible routes with streaming, plus speech synthesis (TTS) and transcription (ASR). Serves Llama, Mistral, Qwen, Mamba2, MLA+MoE and hybrid models from SafeTensors, AWQ, GPTQ and GGUF.

8 binary downloads per release Not applicable 7 0.7.1 CUDA, WebGPU Binds native code: ring (feature distributed) Apache-2.0
ollamaMQ App Listed

High-performance LLM backends proxy with per-user fair-share queuing, round-robin scheduling, and a real-time TUI dashboard. Built in Rust.

8 downloads over 30 days Not applicable 133 0.5.0 GPU support unknown No native code found MIT
Why ListedNo archive, New or Featured rule places it, so it is Listed.

What it lacks for Featured

  • The check holds no value for Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days. A gate that lacks its signal does not pass.

What else the check found

  • The last activity is on 7 Nov 2026, 2 days ago. The rules expect an update within 365 days. Dormancy rule

Not measured: Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days.

Exact rules: Listed, Featured app. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: app: E = 365 days
  • dormancy: last activity 2026-11-07, 2 days ago, E = 365: active
  • featured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90d
  • listed: listed: no archive, new or featured rule applies

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption34 binary downloads per release4 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependentsNot measuredYes
New dependents (365 days)Not measuredYes
Peak active dependentsNot measuredYes
Active dependents as a share of the peakNot measuredYes
Binary downloads per release34GitHub releasesYes
MaintenanceLatest human commit: 2 days ago4 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-11-07GitHub repositoryYes
Latest release2026-11-07GitHub releasesYes
First release2025-09-17crates.io database dumpYes
Latest version0.10.1crates.io database dumpNo
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days24GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageNo
Published docsNot measuredYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityNot measured
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windowNot measuredYes
RustSec unmaintained advisoryNot measuredYes
Deprecation noticeNot measuredYes
Deprecated requirementNot measuredYes
Distribution13 releases, 3,104 downloads over 30 days6 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases13crates.io database dumpNo
Downloads over 30 days3104crates.io database dumpNo
Binary downloads over the last 3 releases103GitHub releasesYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedNot measuredYes
Crate deleted from crates.ioNot measuredYes
Repository123 stars, 18 forks, 6 contributors, 2,565 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars123GitHub repositoryYes — one part of the repository route
GitHub forks18GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account6GitHub contributorsYes — one part of the repository route
Commits on the default branch2565GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseMITcrates.io database dumpNo
Runs on, from listed crates and their direct dependenciesGPU support unknowncrates.io database dumpNo
What shows each backendno dependency or feature matches a backend rowcrates.io database dumpNo
Native code, from listed crates and their dependenciesNo native code foundcrates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directlyNot measuredNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.