holt 0.3.3

An adaptive-radix-tree metadata storage engine for path-shaped keys, with per-blob concurrency and crash-safe persistence.
Documentation
[package]
name = "holt"
version = "0.3.3"
edition = "2021"
rust-version = "1.82"
autobenches = false
description = "An adaptive-radix-tree metadata storage engine for path-shaped keys, with per-blob concurrency and crash-safe persistence."
license = "MIT"
authors = ["the holt contributors"]
readme = "README.md"
repository = "https://github.com/feichai0017/holt"
homepage = "https://github.com/feichai0017/holt"
documentation = "https://docs.rs/holt"
keywords = ["art", "radix-tree", "metadata", "storage", "embedded"]
categories = ["database-implementations", "data-structures", "filesystem"]

[workspace]
members = [".", "crates/holt-ffi"]
exclude = ["benches", "fuzz", "verified"]

[dependencies]
# Bounded channels for the background checkpointer threads.
crossbeam-channel = "0.5"
# Sharded blob cache map for the BufferManager.
dashmap = "6"
# Hardware-accelerated CRC32 for WAL record footers.
crc32fast = { version = "1.4", default-features = false }
# Inline storage for short range prefixes/start markers.
smallvec = "1"
# Optional structured events for rare structural paths.
tracing = { version = "0.1", default-features = false, optional = true }

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[target.'cfg(target_os = "linux")'.dependencies]
io-uring = { version = "0.7", optional = true }

[dev-dependencies]
rand = "0.9"
tempfile = "3"
proptest = { version = "1", default-features = false, features = ["std", "fork", "timeout"] }

[features]
default = ["io-uring"]
# Linux-only file-store fast path. Non-Linux builds ignore it.
io-uring = ["dep:io-uring"]
# Enables `tracing` instrumentation on structural and I/O events.
tracing = ["dep:tracing"]
# Enables the `holt::metrics` Prometheus text renderer.
metrics = []

[profile.release]
lto = "thin"
codegen-units = 1
opt-level = 3

[profile.bench]
inherits = "release"

[[example]]
name = "basic_kv"
path = "examples/basic_kv.rs"

[[example]]
name = "filesystem_meta"
path = "examples/filesystem_meta.rs"

[[example]]
name = "session_store"
path = "examples/session_store.rs"

[[example]]
name = "s3_metadata"
path = "examples/s3_metadata.rs"