litellm/litellm-rust/crates
Nate Armstrong e0b2598129 refactor(router): turn Router into a thin facade over a PythonRouter backend
First step of the Rust router POC. The existing implementation moves unchanged to
litellm/router_backends/python_router.py as PythonRouter, and litellm.Router becomes a
facade that holds it as `backend` and forwards the full current surface, so a Rust
backend can sit behind the same class later. No behavior change.

Tests that override or patch hooks the backend calls on itself now target PythonRouter,
and imports of private helpers and module-global patch strings point at the new module.

litellm-rust/crates/router/POC.md is a hand-off copy of the POC design for sessions that
cannot see the local notes. Delete it before opening a PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBPzD1X9jBTmKn6ypDQQTY
2026-10-06 17:15:52 -07:00
..
auth refactor(rust): prepare inference and auth foundations for the gateway (#43287) 2026-09-25 23:12:48 -07:00
auth-aws refactor(rust): prepare inference and auth foundations for the gateway (#43287) 2026-09-25 23:12:48 -07:00
auth-azure refactor(rust): share anthropic types, request helpers, and streaming contracts across crates (#43426) 2026-09-27 14:53:12 -07:00
auth-gcp refactor(rust): share anthropic types, request helpers, and streaming contracts across crates (#43426) 2026-09-27 14:53:12 -07:00
auth-types refactor(rust): centralize host execution and compose callbacks (#43515) 2026-09-28 19:20:27 +00:00
cache refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
cache-azure-blob feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
cache-disk feat(rust): add litellm-db and litellm-db-testing workspace scaffolding (#43504) 2026-09-27 18:48:45 -07:00
cache-gcs feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
cache-memory refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
cache-qdrant-semantic refactor(http): hand out an owned Client and route all providers through the pool (#43245) 2026-09-25 18:31:15 -07:00
cache-redis refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
cache-redis-semantic refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
cache-response feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
cache-s3 feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
cache-testing refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
cache-valkey-semantic refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
callbacks-legacy-python fix(lens): price agent traces by joining gen_ai.response.id to spend logs (#44738) 2026-10-06 19:55:26 +00:00
config fix(tracing): unify ClickHouse storage configuration (#43941) 2026-10-02 16:31:26 +00:00
core-utils refactor(rust): add shared llms wire type derives (#43730) 2026-09-29 09:19:33 -07:00
coroutine refactor(rust): extract the host coroutine into its own crate (#43129) 2026-09-25 04:20:06 +00:00
cost fix(cost_calculator): bill ultrafast prompts above 272k at the ultrafast long-context rates (#43764) 2026-09-30 07:32:16 -07:00
db feat(rust): add litellm-db and litellm-db-testing workspace scaffolding (#43504) 2026-09-27 18:48:45 -07:00
db-testing feat(rust): add litellm-db and litellm-db-testing workspace scaffolding (#43504) 2026-09-27 18:48:45 -07:00
framer refactor(rust): rename litellm-framing crate to litellm-framer (#44683) 2026-10-05 22:32:00 +00:00
gateway chore(rust): prune inference deps and rewrite layering docs (#44836) 2026-10-06 07:17:27 -07:00
gateway-auth fix(security): remove the publicly known master key from the repo (#44718) 2026-10-06 10:55:24 -07:00
gateway-inference chore(rust): prune inference deps and rewrite layering docs (#44836) 2026-10-06 07:17:27 -07:00
gateway-management feat(rust): add virtual key storage contracts (#43468) 2026-09-27 19:18:59 -07:00
gateway-mcp feat(rust): add the MCP gateway (#43470) 2026-09-27 19:37:41 -07:00
gateway-ui feat(ui): adopt the new LiteLLM logo and monogram (#43913) 2026-09-30 14:51:06 -07:00
host feat(cache): select Rust caching through explicit cache objects (#43601) 2026-09-29 00:01:44 +00:00
host-http refactor(rust): centralize host execution and compose callbacks (#43515) 2026-09-28 19:20:27 +00:00
host-native feat(cache): select Rust caching through explicit cache objects (#43601) 2026-09-29 00:01:44 +00:00
host-python feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
http feat(rust): add the MCP gateway (#43470) 2026-09-27 19:37:41 -07:00
inference refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-chat refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-messages refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-ocr refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-responses refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-testing refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
inference-transcription refactor(rust): extract inference-testing crate (#44873) 2026-10-06 16:33:06 +00:00
litellm refactor(rust): expand logging and test coverage across gateway and Anthropic messages (#43295) 2026-09-26 08:04:19 +00:00
llms chore(rust): prune inference deps and rewrite layering docs (#44836) 2026-10-06 07:17:27 -07:00
llms-types chore(rust): prune inference deps and rewrite layering docs (#44836) 2026-10-06 07:17:27 -07:00
model-catalog feat(bedrock): serve gpt-5.6+ chat completions natively by default, with chat_completions/ opt-in for gpt-oss and grok (#44307) 2026-10-02 19:55:54 -07:00
python-bridge refactor(rust_bridge): remove rule-gated native secret-manager selection (#44906) 2026-10-06 19:14:55 +00:00
python-compat feat(rust): add python-compat crate for Python data formats (#42510) 2026-09-22 12:16:56 -07:00
router refactor(router): turn Router into a thin facade over a PythonRouter backend 2026-10-06 17:15:52 -07:00
secrets feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-aws feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-azure feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-cyberark feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-google feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-hashicorp feat: improve trace ingestion and trace details (#43975) 2026-10-01 13:45:33 -07:00
secrets-types refactor(rust): prepare inference and auth foundations for the gateway (#43287) 2026-09-25 23:12:48 -07:00
storage-clickhouse refactor(rust): track ClickHouse migrations in a checksummed ledger (#44580) 2026-10-05 16:04:44 +00:00
testkit refactor(http): hand out an owned Client and route all providers through the pool (#43245) 2026-09-25 18:31:15 -07:00
token-counter refactor(rust): add shared llms wire type derives (#43730) 2026-09-29 09:19:33 -07:00
token-counter-fast refactor(rust): share anthropic types, request helpers, and streaming contracts across crates (#43426) 2026-09-27 14:53:12 -07:00
token-counter-huggingface refactor(rust): share anthropic types, request helpers, and streaming contracts across crates (#43426) 2026-09-27 14:53:12 -07:00
token-counter-tiktoken refactor(rust): share anthropic types, request helpers, and streaming contracts across crates (#43426) 2026-09-27 14:53:12 -07:00
traces fix(lens): show the first user message as the run input (#44958) 2026-10-06 16:30:52 -07:00
traces-cache fix(lens): refresh open traces without claiming session completion (#44900) 2026-10-06 15:31:45 -07:00
traces-clickhouse fix(tracing): preserve optional provider evidence in fixture replay (#44930) 2026-10-06 14:00:40 -07:00
tracing feat(rust): add structured route lifecycle tracing (#43466) 2026-09-27 19:18:58 -07:00