mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-10 03:28:53 +00:00
Inherits a [workspace.lints] table into all four crates: - clippy::await_holding_lock (deny): a std::sync Mutex/RwLock guard held across .await blocks its Tokio worker and is one step from deadlock. Async-aware locking belongs to tokio::sync. - clippy::await_holding_refcell_ref (deny): same failure mode for RefCell guards resumed on an arbitrary worker thread. - clippy::undocumented_unsafe_blocks (warn): every future unsafe block must carry a SAFETY justification; the workspace currently has zero unsafe blocks, so this only gates what comes next (free-threading work, buffer protocol). - rustc::unsafe_op_in_unsafe_fn (warn): unsafe operations inside unsafe fns need their own explicit unsafe block.
54 lines
1.6 KiB
TOML
54 lines
1.6 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/core",
|
|
"crates/ai-gateway",
|
|
"crates/python-interop",
|
|
"crates/python-bridge",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
rust-version = "1.88"
|
|
license = "MIT"
|
|
repository = "https://github.com/BerriAI/litellm"
|
|
|
|
[workspace.dependencies]
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", default-features = false, features = ["registry", "std"] }
|
|
litellm-core = { path = "crates/core" }
|
|
litellm-ai-gateway = { path = "crates/ai-gateway", default-features = false }
|
|
litellm-python-interop = { path = "crates/python-interop" }
|
|
axum = "0.7"
|
|
pyo3 = "0.29.2"
|
|
pyo3-async-runtimes = { version = "0.29.0", features = ["tokio-runtime"] }
|
|
pythonize = "0.29.0"
|
|
rand = "0.8"
|
|
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls", "http2", "stream"] }
|
|
rstest = "0.26.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha2 = "0.10"
|
|
subtle = "2"
|
|
thiserror = "2.0"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "net"] }
|
|
tokio-tungstenite = { version = "0.24", default-features = false, features = ["connect", "rustls-tls-native-roots"] }
|
|
futures-util = { version = "0.3", default-features = false, features = ["sink", "std"] }
|
|
base64 = "0.22"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_op_in_unsafe_fn = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
await_holding_lock = "deny"
|
|
await_holding_refcell_ref = "deny"
|
|
undocumented_unsafe_blocks = "warn"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
panic = "unwind"
|
|
debug = false
|
|
incremental = false
|
|
strip = "symbols"
|