AI and models · Edition No. 5 · 30 Aug 2026

BerriAI/litellm

A gateway that puts a hundred or more model providers behind one interface, with spend tracking and limits.

← AI and modelsRead the whole edition →
LiteLLM: one interface, one spending meter. A hundred model providers behind one request shape.

58.2k stars · MIT, with a separate licence over the enterprise/ directory · v1.100.0 (2026-09-06) · Track this in Rising ↗

One interface over 100+ model providers, with per-key budgets, spend tracking, caching and fallbacks — the meter on the AI bill.

Verified27 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 27 Oct 2026, the same day before this check.

Releases100

Latest release v1.106.5 on 27 Oct 2026.

Maturity70

Public since July 2023, a little over 3 years.

Adoption96

62,182 stars and 12,743 forks.

Activity100

13,378 commits and 2038 new issues in the last 90 days.

Community100

1,870 contributors. 5938 pull requests merged in 90 days.

Security80

A security policy says how to report a problem. 18 published security advisories.

Licence MIT,: permissive: use it for anything, keep the noticeSetup effort 2 of 5Payoff 4 of 5
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 5.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It comes in two forms. As a Python library it is a thin layer: one function call reaches any supported provider in the same shape, and switching provider is a changed model name. As a proxy server it is a real service: it issues virtual keys, counts spend per key, enforces a budget, caches repeated responses, retries failures and falls back to a second provider when the first one is down. It logs every request, which is what makes a cost question answerable after the fact. Over a hundred providers are supported, including models running on local hardware. The newest release on the Python index is 1.105.0, dated 11 October 2026, and it needs Python 3.10 or newer. What it does not do is come entirely under one licence: the LICENSE file says the enterprise/ directory "is licensed under the license defined in 'enterprise/LICENSE'", with everything outside it under MIT.

Why it matters

Who it suits. Anyone building a feature on a paid model who cannot currently say what one use of it costs. A per-feature key with a budget turns that into a figure and a hard ceiling, which is what makes a free tier safe to offer. It also suits anyone wanting to compare a cheap model against an expensive one honestly, since the switch is a settings change rather than a rewrite. Skip it if exactly one provider is used and the monthly bill is small, because the library adds a layer for no gain. And skip the proxy if a second database and cache are not welcome.

Verdict. Worth two hours as a library, and an afternoon as a proxy, and the response cache usually pays for the setup on its own: during development the same request goes through twenty times, and nineteen of those are currently full price. It is very busy — 60,866 stars, a release on 11 October 2026 — and that is both the attraction and the warning: 1,500 open issues and 2,500 open pull requests against a huge amount of code. Pin the version. Two further notes. The library and the proxy are two very different things sharing one name, and advice about one often does not apply to the other. And the separate licence over the enterprise/ directory should be read before any feature from it is depended upon. Portkey-AI/gateway is the nearest alternative for the gateway job; langfuse/langfuse is the better answer if the real question is tracing and evaluation rather than spend.

Stars58.2k
LicenceMIT, with a separate licence over the enterprise/ directory
Latestv1.100.0 (2026-09-06)checked 7 Sep 2026
Written inPython
NeedsRedis
RunsSelf-hosted on your own server
Summary (Key Points)from the README
Key features
  • Broad provider coverage: Calls 100+ LLMs through one OpenAI-format interface, including OpenAI, Anthropic, Gemini, Bedrock and Azure.
  • Many endpoints: Supports /chat/completions, /responses, /embeddings, /images, /audio, /batches, /rerank, /a2a and /messages.
  • Low latency: Reports 8ms P95 latency at 1k RPS in its benchmarks.
  • Gateway controls: Provides virtual keys, spend tracking per project or user, guardrails, load balancing and an admin dashboard.
  • Python SDK retry logic: The Router adds retry and fallback across deployments such as Azure and OpenAI, plus OpenAI-compatible errors.
  • A2A agents: Invokes A2A agents from the SDK or gateway, with protocolVersion set to 1.0 or 0.3 per agent.
  • MCP tools: Connects MCP servers to any LLM and calls their tools through /chat/completions, including from Cursor IDE.
  • Agent harnesses: Runs Claude Code, Codex, OpenCode, pi or Deep Agents on any model, with calls routed through the gateway when the proxy variables are set.
  • Stable images: Docker images tagged -stable have undergone 12-hour load tests before publication.
Ways to install
Platform or methodWhat it needsEffort
Python SDK (litellm)Python package install; the proxy, CLI and optional extras come from this distributionLow
litellm-core from a checkoutGit, uv and the Rust build toolchain; run the builder, then install in a fresh environment without litellmHigher, multiple steps
Docker proxy (GHCR images)Docker; use the -stable tag for tested releasesLow to moderate
Developer modedocker-compose for db and prometheus, make bootstrap, uv, and npm for the dashboardHigher, multiple services
Terraform on AWSTerraform Registry module; deploys ECS Fargate, Aurora, ElastiCache and ALB; an in-browser shell is offeredModerate, module-driven
Terraform on GCPTerraform Registry module; a Cloud Shell one-click tutorial is offered; Cloud Run needs a GHCR-backed Artifact Registry remote repoModerate, guided
Important
  • Pick one SDK distribution: litellm and litellm-core own overlapping Python files, so install only one per environment.
  • MCP OAuth may fail: Upstreams that advertise dynamic registration can still return 401 or 403; a pre-registered app may be required, and provider approval is needed.
  • Enterprise features are commercial: SSO, custom SLAs and dedicated support fall under the LiteLLM Commercial License.
  • Verify image signatures: Docker images are signed with cosign; the README recommends verifying against a pinned commit hash rather than a tag.
  • Docs moved: Documentation contributions go to the separate BerriAI/litellm-docs repository.
  • Contribution checks: PRs must pass Ruff, basedpyright, circular import detection and import safety checks.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Setup effort
2 / 5
Payoff
4 / 5
Good
  • Per-feature keys with budgets and alerts, so a runaway loop can be capped instead of discovered on a statement.
  • One interface across more than a hundred providers, which makes swapping an expensive model for a cheap one a settings change.
  • Response caching and automatic fallback, which cut both the development bill and the risk of one provider's outage.
Watch for
  • One directory is under a separate licence, with the rest MIT, so a feature from enterprise/ needs its terms read first.
  • Two very different products under one name: the library is a small dependency, the proxy wants its own database and cache.
  • Enormous and fast-moving: 1,500 open issues and 2,500 open pull requests, so pin the version and use the part needed.
Install
python3 -m venv venv
source venv/bin/activate
# The library
pip install litellm
# Or the proxy server
pip install 'litellm[proxy]'
litellm --model gpt-4o
Screenshots
BerriAI/litellm: GitHub preview cardBerriAI/litellm: Screenshot 1BerriAI/litellm: Screenshot 2

On Stack Radar: AI & Automation › AI Models & Inference › Inference APIs.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.