mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-01 07:03:02 +00:00
litellm-router-core implements the router core in Rust: a versioned registry with Python's deployment ids, selection with native simple-shuffle, the retry, fallback and cooldown loop with Python's cache keys, and per-attempt executors with a native seam for Messages to Anthropic. The python bridge exposes it as RouterCoreHandle, whose call loop is step driven so Rust never awaits Python. RustCore drives that loop for completions, messages, embeddings and responses and serves everything else from a PythonCore built from the same config. A new router rule in the route catalog opts in with LITELLM_RUST, and any config the Rust core cannot serve gets PythonCore at construction The call loop follows Python's fallback walk (per-target depth, a level raising its own error, lookup by the current and requested group, "*" after specific chains), stamps retries the way an exhausted retry loop does, and leaves health writes to the Python attempt, which records them. RustCore builds its handle from the constructor arguments and the applied changesets and rebuilds it when either version moves. The core unit suite runs on RustCore too |
||
|---|---|---|
| .. | ||
| _support | ||
| audio_tests | ||
| base_sdk_tests | ||
| benchmarks | ||
| code_coverage_tests | ||
| documentation_tests | ||
| e2e | ||
| e2e_harness | ||
| fixtures | ||
| harness_e2e | ||
| integration | ||
| rust-python-harness | ||
| test_litellm_rust | ||
| typing | ||
| unit | ||
| windows_tests | ||
| __init__.py | ||
| _fake_openai_endpoint_server.py | ||
| _flush_vcr_cache.py | ||
| _live_test_helpers.py | ||
| _master_key.py | ||
| _openai_record_replay_proxy.py | ||
| _process_helpers.py | ||
| _vcr_conftest_common.py | ||
| _vcr_redis_persister.py | ||
| _wait_helpers.py | ||
| _ws_vcr.py | ||
| AGENTS.md | ||
| capturing_transport.py | ||
| eval_swe_bench.py | ||
| fake_openai_endpoint.py | ||
| gettysburg.wav | ||
| large_text.py | ||
| openai_batch_completions.jsonl | ||
| pyrightconfig.json | ||
| README.MD | ||
| test_logging.conf | ||
| test_rust_python_harness.py | ||
| VCR_TESTING.md | ||
| white_100x100.png | ||
In total litellm runs 1000+ tests
[02/20/2025] Update:
To make it easier to contribute and map what behavior is tested,
we've started mapping the litellm directory in tests/unit
This folder can only run mock tests.