mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-25 01:02:15 +00:00
* feat(logger): add shared Rust diagnostics and Python logging bridge * feat(logger): dispatch diagnostic processing through Rust * chore: regenerate Cargo.lock after rebase Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test: allowlist bounded logging tree walkers in recursive detector Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * perf(logger): skip decoding plain access arguments * test(logger): skip embedded-python logger test when litellm deps are absent Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * style: cargo fmt Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test: expect NativeDiagnosticProcessor in the native public surface Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(stub): export NativeDiagnosticProcessor via __new__ in _native.pyi Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor(tracing): rename logger crate and document host sink contract * test(logger): cover exc, stack, and nested extras in the diagnostic filter Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(logger): keep rendered redacted line when template scan flags a key pattern The blanket REDACTED for a changed msg/color template discarded lines whose rendered form was already redacted by the same pipeline, e.g. 'password=%s' became 'REDACTED' instead of 'password=REDACTED'. Only fall back to REDACTED when the rendered form did not change either, which is where interpolation can mangle the key pattern the scrub would otherwise see. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * ci(rust): install python deps so the logger bridge test runs The end-to-end bridge test skipped silently when litellm's Python deps were absent. uv sync --no-install-project installs them without a maturin build, and PYTHONPATH makes them visible to the embedded interpreter Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Yujong Lee <yujong@berri.ai> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
76 lines
2.2 KiB
TOML
76 lines
2.2 KiB
TOML
[package]
|
|
name = "litellm-python-bridge"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lib]
|
|
name = "_native"
|
|
crate-type = ["cdylib"]
|
|
|
|
[features]
|
|
default = ["abi3", "fast", "huggingface", "tiktoken"]
|
|
abi3 = ["pyo3/abi3-py310"]
|
|
extension-module = ["pyo3/extension-module"]
|
|
panic-test = []
|
|
fast = ["litellm-token-counter/fast"]
|
|
huggingface = ["litellm-token-counter/huggingface"]
|
|
tiktoken = ["litellm-token-counter/tiktoken"]
|
|
|
|
[dependencies]
|
|
fancy-regex.workspace = true
|
|
litellm-tracing.workspace = true
|
|
litellm-host.workspace = true
|
|
bytes.workspace = true
|
|
futures-util.workspace = true
|
|
litellm-cache.workspace = true
|
|
litellm-cache-azure-blob.workspace = true
|
|
litellm-cache-memory.workspace = true
|
|
litellm-cache-redis.workspace = true
|
|
litellm-cache-s3.workspace = true
|
|
litellm-cache-gcs.workspace = true
|
|
litellm-cache-disk.workspace = true
|
|
litellm-cache-redis-semantic.workspace = true
|
|
litellm-cache-response.workspace = true
|
|
litellm-cache-qdrant-semantic.workspace = true
|
|
qdrant-client.workspace = true
|
|
litellm-cache-valkey-semantic = { path = "../cache-valkey-semantic" }
|
|
serde.workspace = true
|
|
litellm-auth.workspace = true
|
|
litellm-auth-aws.workspace = true
|
|
litellm-callbacks-legacy-python.workspace = true
|
|
litellm-core.workspace = true
|
|
litellm-core-utils.workspace = true
|
|
litellm-auth-gcp.workspace = true
|
|
litellm-http.workspace = true
|
|
litellm-llms.workspace = true
|
|
litellm-secrets = { workspace = true, features = ["aws"] }
|
|
litellm-secrets-types.workspace = true
|
|
litellm-types.workspace = true
|
|
litellm-host-python.workspace = true
|
|
litellm-token-counter = { path = "../token-counter", default-features = false }
|
|
pyo3.workspace = true
|
|
pyo3-async-runtimes.workspace = true
|
|
reqwest.workspace = true
|
|
redis = { version = "1.7.0", features = ["tls-rustls"] }
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio = { workspace = true, features = ["rt", "sync"] }
|
|
url.workspace = true
|
|
|
|
[dev-dependencies]
|
|
litellm-secrets-aws.workspace = true
|
|
serde.workspace = true
|
|
serde_with.workspace = true
|
|
criterion.workspace = true
|
|
futures-util.workspace = true
|
|
rstest.workspace = true
|
|
sha2.workspace = true
|
|
tokio-tungstenite.workspace = true
|
|
wiremock = "0.6.5"
|
|
aws-sdk-secretsmanager = "1.117.0"
|
|
|
|
[[bench]]
|
|
name = "serialization"
|
|
harness = false
|