Cargo.toml 1.92 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[package]
name = "dynamo-kv-router"
description = "KV Router - Radix tree for LLM KV cache routing"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
11
homepage.workspace = true
12
repository.workspace = true
13
readme = "README.md"
14
15
16

[features]
default = []
17
18
19
metrics = ["dep:prometheus"]
runtime-protocols = ["dep:dynamo-runtime"]
bench = []
20
standalone-indexer = ["dep:axum", "dep:bytes", "dep:zeromq", "dep:serde_json", "dep:reqwest"]
21
indexer-runtime = ["metrics", "runtime-protocols", "standalone-indexer"]
22
23
24

[dependencies]
# repo
25
dynamo-runtime = { workspace = true, optional = true }
26
27
28
29
30
dynamo-tokens = { workspace = true }

# workspace
anyhow = { workspace = true }
async-trait = { workspace = true }
Yan Ru Pei's avatar
Yan Ru Pei committed
31
dashmap = { workspace = true }
32
ordered-float = { workspace = true }
33
derive_builder = { workspace = true }
34
derive-getters = { workspace = true }
35
prometheus = { workspace = true, optional = true }
36
37
rand = { workspace = true }
serde = { workspace = true }
Yan Ru Pei's avatar
Yan Ru Pei committed
38
serde_json = { workspace = true, optional = true }
39
40
41
42
thiserror = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
43
uuid = { workspace = true }
44
validator = { workspace = true }
45
46
xxhash-rust = { workspace = true }

Yan Ru Pei's avatar
Yan Ru Pei committed
47
48
49
# dependencies
flume = "0.12.0"
parking_lot = { workspace = true }
50
rmp-serde = { workspace = true }
Yan Ru Pei's avatar
Yan Ru Pei committed
51

52
rustc-hash = "2.1.1"
53

54
# standalone-indexer (optional)
55
axum = { workspace = true, optional = true }
56
bytes = { workspace = true, optional = true }
57
reqwest = { workspace = true, optional = true }
58
59
zeromq = { version = "0.4.1", optional = true }

60
61
62
63
[dev-dependencies]
rstest = "0.18.2"
rstest_reuse = "0.7.0"
serde_json = { workspace = true }
64
tokio = { workspace = true, features = ["rt", "macros", "time", "test-util"] }
65
dynamo-tokens = { workspace = true }