[package]
edition = "2021"
name = "rhei"
version = "2.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lightweight serverless HTAP engine — Rusqlite (OLTP) + DuckDB/DataFusion (OLAP) with CDC replication"
homepage = "https://github.com/ValerioL29/Rhei"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/ValerioL29/Rhei"
[features]
cloud-storage = ["rhei-olap/cloud-storage"]
datafusion-backend = ["rhei-olap/datafusion-backend"]
default = ["datafusion-backend"]
duckdb-backend = ["rhei-olap/duckdb-backend"]
full = [
"duckdb-backend",
"datafusion-backend",
]
metrics = [
"rhei-sync/metrics",
"dep:metrics",
]
rocksdb-cdc = ["rhei-cdc-rocksdb"]
sidecar = [
"rhei-sidecar",
"connector_arrow",
"rhei-sidecar/postgres",
"rhei-sidecar/rocksdb-watermark",
]
[lib]
name = "rhei"
path = "src/lib.rs"
[[test]]
name = "htap_e2e_test"
path = "tests/htap_e2e_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "postgres_e2e_test"
path = "tests/postgres_e2e_test.rs"
[[test]]
name = "rusqlite_e2e_test"
path = "tests/rusqlite_e2e_test.rs"
[[test]]
name = "sidecar_e2e_test"
path = "tests/sidecar_e2e_test.rs"
[[test]]
name = "sop_e2e_test"
path = "tests/sop_e2e_test.rs"
[[bench]]
name = "bench_utils"
path = "benches/bench_utils.rs"
[[bench]]
name = "sidecar_bench"
path = "benches/sidecar_bench.rs"
harness = false
[[bench]]
name = "vortex_storage_bench"
path = "benches/vortex_storage_bench.rs"
harness = false
[dependencies.arrow]
version = "58"
features = ["prettyprint"]
[dependencies.connector_arrow]
version = "0.11"
features = [
"src_rusqlite",
"src_postgres",
]
optional = true
default-features = false
[dependencies.metrics]
version = "0.24"
optional = true
[dependencies.rhei-cdc-rocksdb]
version = "2.0.0"
optional = true
[dependencies.rhei-core]
version = "2.0.0"
[dependencies.rhei-olap]
version = "2.0.0"
default-features = false
[dependencies.rhei-oltp-rusqlite]
version = "2.0.0"
[dependencies.rhei-sidecar]
version = "2.0.0"
optional = true
[dependencies.rhei-sync]
version = "2.0.0"
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.postgres]
version = "0.19"
features = ["with-serde_json-1"]
[dev-dependencies.rusqlite]
version = "0.39"
features = ["bundled"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]