[package] name = "redb" description = "Rust Embedded DataBase" homepage = "https://www.redb.org" repository = "https://github.com/cberner/redb" readme = "README.md" license = "MIT OR Apache-2.0" version = "2.2.0" edition = "2021" rust-version = "1.66" authors = ["Christopher Berner "] exclude = ["fuzz/"] [lib] crate-type = ["cdylib", "rlib"] [build-dependencies] pyo3-build-config = { version = "0.22.0", optional = true } [dependencies] log = { version = "0.4.17", optional = true } pyo3 = { version = "0.22.0", features=["extension-module", "abi3-py37"], optional = true } [target.'cfg(unix)'.dependencies] libc = "0.2.104" # Common test/bench dependencies [dev-dependencies] rand = "0.8" tempfile = "3.5.0" # for backwards compatibility testing - pin at 1.0.0 redb1 = { version = "=1.0.0", package = "redb" } # for backwards compatibility testing - pin at 2.0.0 redb2 = { version = "=2.0.0", package = "redb" } serde = { version = "1.0", features = ["derive"] } bincode = "1.3.3" walkdir = "2.5.0" byte-unit = "=5.0.4" fastrand = "2.0.0" sled = "0.34.7" libc = "0.2.99" # Just benchmarking dependencies, which don't build on wasi [target.'cfg(not(target_os = "wasi"))'.dev-dependencies] # Pinned to compatibility with MSRV ctrlc = "=3.2.3" heed = "0.20" sanakirja = "=1.4.1" sanakirja-core = "=1.4.1" rocksdb = "0.22.0" comfy-table = "7.0.1" [target.'cfg(target_os = "linux")'.dev-dependencies] io-uring = "0.6.2" [features] # This feature is still experimental, and is not considered stable python = ["dep:pyo3", "dep:pyo3-build-config"] # Enables log messages logging = ["dep:log"] # Enable cache hit metrics cache_metrics = [] [profile.bench] debug = true [[bench]] name = "atomics_benchmark" harness = false [[bench]] name = "multithreaded_insert_benchmark" harness = false [[bench]] name = "userspace_cache_benchmark" harness = false [[bench]] name = "lmdb_benchmark" harness = false [[bench]] name = "large_values_benchmark" harness = false [[bench]] name = "int_benchmark" harness = false [[bench]] name = "syscall_benchmark" harness = false