merutable 0.0.1

Embeddable single-table engine: row + columnar Parquet with Iceberg-compatible metadata
Documentation
[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"

# Issue #38: this crate is the single published artifact for
# merutable. The `sql` and `replica` modules are feature-gated so
# downstream users can opt out of the DataFusion / replica
# dependency weight. `default = ["sql"]` — change-feed is the
# 0.1-preview headline feature. `replica` is opt-in (depends on
# `sql` because the replica's log source consumes the change feed).
[features]
default = ["sql"]
sql = ["dep:datafusion"]
replica = ["sql"]

# Issue #43: removed `[[bin]] merutable-migrate`. The tool was the
# `CommitMode::Posix` → `CommitMode::ObjectStore` migrator; with
# `CommitMode` gone and only the POSIX commit path retained, the
# binary has no target to migrate to. If an object-store commit
# path ever ships, the migrator comes back with it.

[build-dependencies]
prost-build = { workspace = true }

[dependencies]
# Core deps absorbed from every former internal crate.
metrics            = { workspace = true }
bytes              = { workspace = true }
thiserror          = { workspace = true }
serde              = { workspace = true }
serde_json         = { workspace = true }
hex                = { workspace = true }

# WAL / format
crc32fast          = { workspace = true }

# Memtable
crossbeam-skiplist = { workspace = true }
bumpalo            = { workspace = true }

# Object store + LRU + checksum
object_store       = { workspace = true }
lru                = { workspace = true }
blake3             = { workspace = true }

# Parquet / Arrow
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 }

# Iceberg + protobuf
prost              = { workspace = true }
iceberg            = { workspace = true }
arc-swap           = { workspace = true }
uuid               = { workspace = true }

# Async runtime
tokio              = { workspace = true }
futures            = { workspace = true }
async-trait        = { workspace = true }
tracing            = { workspace = true }

# SQL / DataFusion (feature `sql`)
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