Our take
Activeregular commits and releases- Activity
- 84
- Community
- 78
- Issues
- 74
- Pull requests
- 73
+209 stars in the last 15 days
- Releases more often than 83% of the projects we track
- Closes issues faster than 82% of the projects we track
- Merges more pull requests than 75% of the projects we track
Otari is an actively developed, capable gateway for teams willing to operate its Python 3.13+ service and database, with recent releases and contributions from a broad, non-concentrated contributor base.
Good fit if
- You need one OpenAI-compatible endpoint for multiple providers, plus key and budget controls.
- You want to self-host the gateway or connect your own data plane to otari.ai.
- You can run Python 3.13+ and, for a persistent full-stack deployment, PostgreSQL via Docker Compose.
Look elsewhere if
- You need a gateway that runs on older Python versions.
- Your project requires a single-provider client library rather than a gateway with its own deployment and management surface.
- You do not want to operate a service and its database, or use a hosted data plane.
All health signals
| Last commit | 2026-10-18 (today) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 36 (latest v0.28.0, 2026-10-16) |
| Contributors | 41 (top contributor: 16% of commits) |
| Issues closed, last 90 days | 3+ (typically closed in 0 days) |
| Pull requests merged, last 90 days | 48 (typically merged in 0 days) |
| Project age | 7 months |
Checked on 2026-10-19 with the GitHub API.
Overview
Otari is a self-hostable, OpenAI-compatible LLM gateway built by Mozilla AI, with provider calls handled through its any-llm library. It sits between applications and model providers, giving teams one endpoint for requests while keeping provider credentials behind the gateway.
Use it as a standalone gateway, connect a data plane to otari.ai, or run it in a hybrid setup. Alongside request routing, it provides virtual keys, budget enforcement, and usage records to help teams manage access and spend across providers.
Key Features
- OpenAI- and Anthropic-compatible endpoints for chat completions, messages, and responses.
- Routes requests to more than 40 model providers through any-llm.
- Issues revocable API keys scoped to users, workspaces, and models.
- Checks budgets before dispatch and records usage after settlement.
- Supports routing policies for failover, weighting, and learned selection.
- Includes a dashboard for providers, models, keys, members, budgets, routing, and usage.
- Offers optional code execution, web search, MCP, inference guardrails, and file understanding.
Use Cases
- A team wants to switch among model providers without changing the endpoint configured in its applications.
- An organization needs provider credentials kept behind a gateway and wants to issue narrower, revocable keys to users or workspaces.
- Platform operators want budget checks and usage tracking across model requests.
- Developers want routing failover or weighting between configured providers.
- Teams already using otari.ai want to connect a gateway they operate as a data plane.
What you need
Detected in the repository
- Python >=3.13 (from pyproject.toml)
- A Dockerfile, so it can run in a container; a Compose file sets up the related services
- A test suite and automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
For an ephemeral Docker run, set a master key and provider credential:
docker run --rm -p 8000:8000 \
-e OTARI_MASTER_KEY=SET_A_MASTER_KEY \
-e OPENAI_API_KEY=YOUR_OPENAI_KEY \
-e OTARI_CONFIG_YAML='default_pricing: true
providers:
openai:
api_key: ${OPENAI_API_KEY}
' \
mzdotai/otari:latest otari serve
See the README for persistent deployment, configuration, and development instructions. The documentation covers gateway usage.
Alternatives
- a3m-router: A3M Router is a self-hosted multi-provider gateway focused on complexity-based routing, failover, caching, and ensembles rather than team keys and budgets.
- helicone: Helicone combines provider routing with request observability, traces, cost and latency tracking, and prompt management.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| otari | Python | Apache-2.0 | 660 | Active |
| a3m-router | TypeScript | MIT | 16 | New |
| helicone | TypeScript | Apache-2.0 | 6.2k | Active |
Considerations
- This is an operational service, not just a client library. Persistent deployment needs a database; the provided Docker Compose setup uses PostgreSQL, while the one-command Docker example stores SQLite data inside the container and loses it when the container stops.
- Python 3.13 or newer is required for direct development or installation. Docker and Compose are available deployment paths; the project does not list a Helm chart.
- Otari is young, despite frequent commits and releases. Its recent activity is strong, and contributions are not concentrated in one person, but teams should still evaluate its fit and deployment behavior before relying on it in production.
- The project is licensed under Apache-2.0. Review the license terms and any obligations relevant to your distribution or deployment.
Found this useful?
Share it with someone who would like otari.