mrkeyoor.com_
Sat 31 Oct 07:46 UTC
AI Toolsevaluationupdated 01 Oct 2026

litellm review

LiteLLM gives a Python application or a shared gateway one interface for calling many model providers. It centralizes routing, fallbacks, credentials, virtual keys, spending controls, and request records so each application does not need its own provider integrations.

+379stars / 7d
Verdict

Our LiteLLM run installed 379 packages in 22 seconds with 0 known vulnerabilities, but the root project offered no build or test target, so it proved dependency resolution rather than release readiness. Use LiteLLM when several teams and providers need one policy point for keys, spend, routing, and guardrails. A one-provider application should start with the provider SDK or a smaller compatibility library.

We ran it

Lab card: what happened when we ran litellmScreenshot of litellm (docs.litellm.ai/docs)
Install✓ · 22s379 packages · 78 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo12122 files~3,199,517 lines of source · 190.7 MB · 53 CI workflows · Dockerfile · tests dir

Answers from our run

Does litellm build from source?

Dependencies installed in 22 seconds (379 packages), and the project has no separate build step. We cloned commit 61a73c5 into a clean Debian container with 3 CPUs and no project-specific setup.

Does litellm have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does litellm have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use litellm?

A small application committed to one provider: LiteLLM's 12,122-file checkout and gateway controls add far more surface than a direct vendor SDK.

What are the alternatives to litellm?

Portkey Gateway, Any-LLM, Helicone. Our LiteLLM run installed 379 packages in 22 seconds with 0 known vulnerabilities, but the root project offered no build or test target, so it proved dependency resolution rather than release readiness.

Setup3/522-second npm install, but production needs several services
Docs5/5Clear SDK, proxy, cloud, image, and contributor paths
Community5/559,966 stars with same-day pushes, releases, issues, and PRs
Maturity4/5Signed releases and broad scope, without a lab build or test result

Discussed on

  1. hnTell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised938 points
  2. hnMalicious litellm_init.pth in litellm 1.82.8 PyPI package – credential stealer739 points
  3. hnShow HN: liteLLM Proxy Server: 50+ LLM Models, Error Handling, Caching140 points
  4. hnShow HN: Litellm – Simple library to standardize OpenAI, Cohere, Azure LLM I/O62 points
  5. hnLiteLLM Python SDK Proxy Server LLM Gateway Call 100 LLM APIs in OpenAI Format5 points

Who it’s for

Platform teams that need one gateway in front of OpenAI, Anthropic, Bedrock, Azure, Vertex AI, or self-hosted models.
Python developers who want provider switching and common error handling inside an application.
Organizations that need virtual keys, per-team budgets, routing, guardrails, and usage records in one service.
Teams connecting MCP servers or A2A agents through the same model access layer.

Who it’s NOT for

A small application committed to one provider: LiteLLM's 12,122-file checkout and gateway controls add far more surface than a direct vendor SDK.
Teams whose release gate requires a clean build and test result from the documented root workflow: our npm run found no build target and no test target.
Operators who want a production gateway without stateful services: the documented cloud stack uses managed Postgres, Redis, an object store, secrets, and a migration job.
Organizations that need SSO but will only adopt the MIT portion: the README places SSO and other enterprise features behind a commercial license.
Maintainers seeking a quiet dependency: GitHub listed 1,780 open issues and 3,707 open pull requests on October 1, 2026, alongside same-day code and release activity.

Setup reality

Our sandbox installed commit 61a73c5 through npm in 22 seconds: 379 packages and 78 MB on disk. The 190.7 MB checkout held 12,122 files and about 3,199,517 source lines. The root exposed no build script or target and no test script or target, so both steps were skipped. Npm audit reported 0 known vulnerabilities.

A useful run still needs provider credentials and model names. The proxy adds a master key and configuration; the documented cloud stack uses Postgres, Redis, an object store, secret management, and a Prisma migration job. Developer mode asks Docker Compose to start the database and Prometheus before the backend and dashboard.

The repository has 53 CI workflow files, a Dockerfile, a compose file, and a tests directory. Those are healthy signals, but they do not turn our skipped root build and tests into passing results. LiteLLM is mainly Python, while our supplied lab path exercised the root npm project. Treat the 22-second result as dependency-install evidence only.

More than 100 providers sit behind one interface

The README lists more than 100 providers behind LiteLLM's common interface. The Python SDK lets an application call them directly. The proxy turns the same idea into a shared service with authentication, virtual keys, budgets, usage records, routing, caching, and guardrails. OpenAI, Anthropic, Gemini, Bedrock, Azure, and Vertex AI are among the named options. That breadth is the reason to adopt LiteLLM, and the source of most of its weight.

The common surface reaches beyond chat completions. LiteLLM documents responses, embeddings, images, audio, batches, reranking, Anthropic-style messages, A2A agents, and MCP tools. A team can route an MCP server or an agent through the gateway and keep the provider credentials away from the calling application. Compatibility still needs checking endpoint by endpoint. The provider table does not show every provider supporting every one of those operations.

What happened when we ran it

Our sandbox installed commit 61a73c5 through npm in 22 seconds. It pulled 379 packages and occupied 78 MB on disk. Npm audit found 0 known vulnerabilities across critical, high, moderate, and low severities. The checkout itself was much larger: 12,122 files, roughly 3,199,517 lines of source, and 190.7 MB before the install. This is a large software product, even though the npm dependency step was quick.

There was no root build script or target, so the lab skipped the build. There was also no root test script or target, so it skipped tests. That result does not say LiteLLM has no tests: our scan found a tests directory and 53 CI workflow files. It says the npm entry point available to our fresh Node 22 container did not expose either check. We cannot turn those skipped steps into a passing build or passing suite.

The container had 3 CPUs, 8 GB of RAM, no secrets, and no elevated privileges. It did not call a model provider, start the Python proxy, apply database migrations, or open the dashboard. Our run establishes that the root npm dependencies resolved at this commit. It does not measure gateway latency, routing correctness, model compatibility, or the Python installation path. Those require a configured deployment and real provider calls.

A production proxy is a small platform, not one Python process

The shortest proxy example listens on port 4000, while the documented production architecture uses several services. Its AWS and GCP Terraform modules split the gateway, backend, and interface, then add managed Postgres, Redis, a versioned object store, secrets, and a one-off Prisma migration job. The local command is useful for trying the OpenAI-compatible endpoint. It is not a picture of the production operating cost.

Developer mode also reveals the moving parts. Docker Compose starts the database and Prometheus, make bootstrap prepares the project, the Python backend runs separately, and the dashboard starts from ui/litellm-dashboard. Each upstream provider needs its own credential and model configuration. Cloud deployments then add load balancers, certificates, secret managers, and provider-specific access such as AWS roles or Google project permissions. None of that is excessive for a central company gateway, but it is wasteful for one application calling one vendor.

The MIT license excludes the enterprise directory

The repository license grants MIT terms to content outside the enterprise/ directory and assigns that directory its own license. The README names single sign-on, feature prioritization, custom integrations, support, and service agreements under the enterprise offer. A team can run the core gateway without buying a commercial runtime license, but it should map required identity and support features before committing to the open-source edition.

Release handling has useful operational details. Version v1.103.2 was published on October 1, 2026, and the repository was pushed again the same day. The project publishes signed container images and documents verification with a pinned cosign public key. It also distinguishes stable image tags from ordinary releases. Pinning a tag and verifying its signature is safer than following a floating image while this repository changes several times a day.

5,487 open issues and pull requests mean constant motion

GitHub's combined counter showed 5,487 open issues and pull requests on October 1. Separate searches split that into 1,780 issues and 3,707 pull requests, so calling all 5,487 bugs would be wrong. The same snapshot showed 59,966 stars, a same-day push, and a same-day release. LiteLLM is plainly active. It also asks adopters to watch changes in routing, provider behavior, security, database migrations, and configuration.

That trade is reasonable when the gateway replaces provider code scattered across several applications. One platform team can own upgrades, credentials, budgets, and fallback rules while product teams use a familiar client. With a single model provider, LiteLLM moves complexity into a service that did not need to exist. Any-LLM is the smaller Python choice, Portkey is a more focused gateway comparison, and Helicone is worth considering when request analysis is the primary need.

Choose LiteLLM when central policy earns its operating cost

The 22-second install is the least important part of the decision. LiteLLM earns its place when virtual keys, multi-provider routing, spend controls, common logs, MCP access, and guardrails all need one owner. Its documentation and release activity support that role, while the 12,122-file checkout and stateful production stack show what ownership involves. Before rollout, prove the Python build, run the relevant suites, pin a signed image, and test only the providers and endpoints your applications will actually use.

Alternatives

ProjectWhat it isPick it when
Portkey GatewayA standalone AI gateway written around fast routing and guardrail integrations.pick this instead when you want a gateway service without LiteLLM's large Python SDK surface.
Any-LLMA smaller Python interface for communicating with different model providers.pick this instead when your application needs provider portability but no shared proxy, budgets, or admin dashboard.
HeliconeAn open-source platform centered on LLM request observability and evaluation.pick this instead when monitoring and experiments matter more than owning the main routing layer.

What people are saying

  1. [hackernews] Litelm: LiteLLM Without the Bloat

Sources

  1. LiteLLM README
  2. LiteLLM repository
  3. LiteLLM v1.103.2 release
  4. LiteLLM license
  5. LiteLLM open issues

More ai tools reviews

KiroCrew · Orkas · hypit · Paradev · see-through · Resume-Matcher · the whole board →

Related reading