[package]
name = "merutable"
version = "0.0.1"
edition = "2021"
description = "Embeddable single-table engine: row + columnar Parquet with Iceberg-compatible metadata"
keywords = ["embedded", "lsm", "iceberg", "parquet", "table"]
license = "Apache-2.0"
repository = "https://github.com/merutable/merutable"
homepage = "https://github.com/merutable/merutable"
documentation = "https://docs.rs/merutable"
readme = "../../README.md"
categories = ["database-implementations", "data-structures"]
build = "build.rs"
[features]
default = ["sql"]
sql = ["dep:datafusion"]
replica = ["sql"]
[build-dependencies]
prost-build = { workspace = true }
[dependencies]
metrics = { workspace = true }
bytes = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
hex = { workspace = true }
crc32fast = { workspace = true }
crossbeam-skiplist = { workspace = true }
bumpalo = { workspace = true }
object_store = { workspace = true }
lru = { workspace = true }
blake3 = { workspace = true }
parquet = { workspace = true }
arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-schema = { workspace = true }
xxhash-rust = { workspace = true }
once_cell = { workspace = true }
roaring = { workspace = true }
postcard = { workspace = true }
prost = { workspace = true }
iceberg = { workspace = true }
arc-swap = { workspace = true }
uuid = { workspace = true }
tokio = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
tracing = { workspace = true }
datafusion = { version = "43", default-features = false, optional = true }
[dev-dependencies]
proptest = { workspace = true }
criterion = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["full"] }
[[bench]]
name = "memtable_memtable"
harness = false
[[bench]]
name = "parquet_bloom"
harness = false
[[bench]]
name = "engine_compaction"
harness = false