[package]
name = "opensourcellmrouter"
version = "0.7.0"
edition = "2024"
description = "A fast, local-first LLM router — proxy any OpenAI/Anthropic/Ollama client to your own provider pipeline with classifiers, cost/latency/random routing rules, plugins, a live dashboard, and a TUI."
license = "MIT"
repository = "https://github.com/CarterCole/opensourcellmrouter"
homepage = "https://github.com/CarterCole/opensourcellmrouter"
documentation = "https://github.com/CarterCole/opensourcellmrouter/tree/master/docs"
readme = "README.md"
keywords = ["llm", "ai", "proxy", "router", "ollama"]
categories = ["command-line-utilities", "network-programming", "web-programming::http-server"]
exclude = [".env", "logs/", "config.toml", "CLAUDE.md"]
[dependencies]
anyhow = "1.0.102"
async-trait = "0.1.89"
axum = "0.8.9"
futures-core = "0.3.32"
reqwest = { version = "0.13.4", features = ["json", "stream"] }
ratatui = "0.29"
crossterm = "0.28"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["full"] }
tokio-stream = { version = "0.1.17", features = ["sync"] }
toml = "1.1.2"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
bytes = "1.11.1"
rand = "0.8"
opentelemetry = "0.32"
opentelemetry_sdk = { version = "0.32", features = ["rt-tokio", "metrics", "logs"] }
opentelemetry-otlp = { version = "0.32", default-features = false, features = [
"http-proto", "reqwest-client", "trace", "metrics", "logs",
] }
tracing-opentelemetry = "0.33"
opentelemetry-appender-tracing = "0.32"
tower-http = { version = "0.6", features = ["trace"] }