[package]
edition = "2024"
rust-version = "1.85"
name = "logdb"
version = "0.4.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded, append-only, crash-recoverable, optionally tamper-proof local log database"
homepage = "https://github.com/lv-agent/lv-logdb"
documentation = "https://docs.rs/logdb"
readme = "README.md"
keywords = [
"log",
"database",
"wal",
"append-only",
"embedded",
]
categories = [
"database-implementations",
"cryptography",
]
license = "Apache-2.0"
repository = "https://github.com/lv-agent/lv-logdb"
resolver = "2"
[package.metadata.docs.rs]
features = [
"hash-chain",
"compression",
"encryption",
"remote-push",
"tracing",
"metrics",
]
[features]
compression = ["zstd"]
default = []
encryption = [
"aes-gcm",
"getrandom",
]
hash-chain = [
"sha2",
"blake3",
]
metrics = ["dep:metrics"]
remote-push = []
testing = []
tracing = ["dep:tracing"]
[lib]
name = "logdb"
path = "src/lib.rs"
[[example]]
name = "crash_test"
path = "examples/crash_test.rs"
[[example]]
name = "encryption"
path = "examples/encryption.rs"
required-features = ["encryption"]
[[example]]
name = "perf"
path = "examples/perf.rs"
[[example]]
name = "read_perf"
path = "examples/read_perf.rs"
[[example]]
name = "scan_perf"
path = "examples/scan_perf.rs"
[[example]]
name = "sharding"
path = "examples/sharding.rs"
[[example]]
name = "soak"
path = "examples/soak.rs"
[[example]]
name = "tailer_consumer"
path = "examples/tailer_consumer.rs"
[[example]]
name = "testsuite"
path = "examples/testsuite.rs"
required-features = ["testing"]
[[example]]
name = "wal"
path = "examples/wal.rs"
[[test]]
name = "fuzz"
path = "tests/fuzz.rs"
required-features = ["testing"]
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "append_bench"
path = "benches/append_bench.rs"
harness = false
[[bench]]
name = "perf_test"
path = "benches/perf_test.rs"
[dependencies.aes-gcm]
version = "0.10"
features = [
"aes",
"alloc",
]
optional = true
default-features = false
[dependencies.blake3]
version = "1"
optional = true
[dependencies.crc32c]
version = "0.6"
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.metrics]
version = "0.23"
optional = true
[dependencies.scopeguard]
version = "1"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.zeroize]
version = "1"
features = ["zeroize_derive"]
[dependencies.zstd]
version = "0.13"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3"