-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (100 loc) · 3.36 KB
/
Copy pathCargo.toml
File metadata and controls
116 lines (100 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[package]
name = "shodh-redb"
description = "Multi-modal embedded database - vectors, blobs, TTL, merge operators, and causal tracking built on ACID B-trees"
readme = "README.md"
version = "0.5.0"
exclude = [
"fuzz/",
"data/",
"CLAUDE.md",
"RELEASE_*.md",
"AUDIT_PLAYBOOK.md",
".claude/",
"Dockerfile.bench",
]
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
authors.workspace = true
keywords = ["database", "embedded", "vector", "blob", "no_std"]
categories = ["database-implementations", "data-structures", "no-std"]
[workspace]
members = [".", "crates/redb-bench", "crates/redb-cli", "crates/redb-derive", "crates/redb-python"]
default-members = [".", "crates/redb-derive"]
[workspace.package]
edition = "2024"
rust-version = "1.89"
license = "Apache-2.0"
homepage = "https://github.com/varun29ankuS/shodh-redb"
repository = "https://github.com/varun29ankuS/shodh-redb"
authors = ["Varun Sharma"]
[dependencies]
log = { version = "0.4.17", optional = true }
chrono_v0_4 = { package = "chrono", version= "0.4.41", optional = true }
uuid = { version= "1.17.0", optional = true }
lz4_flex = { version = "0.11.5", optional = true }
sha2 = { version = "0.10", default-features = false }
zstd = { version = "0.13.3", optional = true, default-features = false }
hashbrown = "0.15"
portable-atomic = { version = "1", default-features = false, features = ["fallback"] }
spin = { version = "0.9", default-features = false, features = ["mutex", "spin_mutex", "rwlock", "portable-atomic"] }
[target.'cfg(target_os = "wasi")'.dependencies]
libc = "0.2.174"
[target.'cfg(target_os = "linux")'.dependencies]
io-uring = { version = "0.6.4", optional = true }
[target.'cfg(unix)'.dependencies]
libc = { version = "0.2.174", optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
windows-sys = { version = "0.59.0", optional = true, features = [
"Win32_System_Threading",
"Win32_System_WindowsProgramming",
] }
# Common test/bench dependencies
[dev-dependencies]
rand = "0.10.0"
tempfile = "3.5.0"
# for backwards compatibility testing - pin at 2.6.0
redb2_6 = { version = "=2.6.0", package = "redb" }
bincode = "2.0.1"
uuid = { version= "1.17.0", features = ["v4"] }
shodh-redb-derive = { version = "0.1.0", path = "./crates/redb-derive" }
criterion = { version = "0.5", default-features = false }
# proptest depends on wait-timeout which does not compile for WASI targets
[target.'cfg(not(target_os = "wasi"))'.dev-dependencies]
proptest = "1"
[[bench]]
name = "criterion_kv"
harness = false
[[bench]]
name = "criterion_blob"
harness = false
[[bench]]
name = "criterion_vector_ops"
harness = false
[[bench]]
name = "criterion_ivfpq"
harness = false
[features]
default = ["std"]
# Enable std library support (file backends, group commit, TTL, full error types)
std = []
# Enables log messages
logging = ["dep:log"]
# Enable cache hit metrics
cache_metrics = []
# Enable database-wide metrics (transaction counts, write amplification, etc.)
metrics = ["cache_metrics"]
# Enable LZ4 page compression
compression_lz4 = ["dep:lz4_flex"]
# Enable zstd page compression
compression_zstd = ["dep:zstd"]
# Enable all compression algorithms
compression = ["compression_lz4", "compression_zstd"]
[profile.bench]
debug = true
[lints.clippy]
big_endian_bytes = "deny"
dbg_macro = "deny"
host_endian_bytes = "deny"