[package]
name = "holochain_sqlite"
version = "0.5.0-dev.2"
description = "Abstractions for persistence of Holochain state via SQLite"
license = "Apache-2.0"
homepage = "https://github.com/holochain/holochain"
documentation = "https://docs.rs/holochain_sqlite"
authors = ["Holochain Core Dev Team <devcore@holochain.org>"]
edition = "2021"
[dependencies]
async-trait = "0.1"
anyhow = "1.0"
base64 = "0.22"
derive_more = "0.99"
fallible-iterator = "0.3.0"
futures = "0.3"
holo_hash = { path = "../holo_hash", version = "^0.5.0-dev.1" }
holochain_serialized_bytes = "=0.0.55"
holochain_util = { version = "^0.5.0-dev.0", path = "../holochain_util", features = [
"backtrace",
"time",
], optional = true }
holochain_zome_types = { version = "^0.5.0-dev.2", path = "../holochain_zome_types" }
holochain_nonce = { version = "^0.5.0-dev.0", path = "../holochain_nonce" }
kitsune_p2p_bin_data = { version = "^0.5.0-dev.1", path = "../kitsune_p2p/bin_data" }
kitsune_p2p_dht_arc = { version = "^0.5.0-dev.1", path = "../kitsune_p2p/dht_arc" }
kitsune_p2p_dht = { version = "^0.5.0-dev.1", path = "../kitsune_p2p/dht", features = [
"test_utils",
] }
kitsune_p2p_timestamp = { version = "^0.5.0-dev.0", path = "../kitsune_p2p/timestamp" }
kitsune_p2p_types = { version = "^0.5.0-dev.2", path = "../kitsune_p2p/types", optional = true }
nanoid = "0.4"
once_cell = "1.4.1"
num_cpus = "1.13.0"
parking_lot = "0.12"
r2d2 = "0.8"
r2d2_sqlite = { version = "0.25.0", package = "hc_r2d2_sqlite" }
rmp-serde = "=1.3.0"
scheduled-thread-pool = "0.2"
serde = "1.0"
serde_json = { version = "1.0.51", features = ["preserve_order"] }
shrinkwraprs = "0.3.0"
sodoken = "=0.0.11"
tempfile = "3.3"
thiserror = "1.0.22"
tokio = { version = "1.27", features = [
"macros",
"rt-multi-thread",
"io-util",
"sync",
"time",
] }
tracing = "0.1.18"
getrandom = "0.2.7"
opentelemetry_api = { version = "=0.20.0", features = ["metrics"] }
rusqlite = { version = "0.32.1", features = [
"blob",
"backup",
"trace",
"functions",
] }
[dev-dependencies]
holochain_sqlite = { path = ".", features = ["test_utils", "slow_tests"] }
holochain_trace = { version = "^0.5.0-dev.1", path = "../holochain_trace" }
nanoid = "0.4.0"
rand = "0.8.5"
walkdir = "2.5.0"
[build-dependencies]
pretty_assertions = "1.4"
sqlformat = "=0.2.6"
[target.'cfg(loom)'.dev-dependencies]
loom = { version = "0.7", features = ["futures", "checkpoint"] }
holochain_sqlite = { path = ".", default-features = false, features = [
"test_utils",
] }
[lints]
workspace = true
[features]
default = ["sqlite", "kitsune_p2p_types", "holochain_util"]
test_utils = []
slow_tests = []
sqlite-encrypted = [
"rusqlite/bundled-sqlcipher-vendored-openssl",
"r2d2_sqlite/bundled-sqlcipher-vendored-openssl",
"holo_hash/sqlite-encrypted",
"holochain_zome_types/sqlite-encrypted",
"kitsune_p2p_bin_data/sqlite-encrypted",
"kitsune_p2p_types/sqlite-encrypted",
"kitsune_p2p_dht_arc/sqlite-encrypted",
]
sqlite = [
"rusqlite/bundled",
"r2d2_sqlite/bundled",
"holo_hash/sqlite",
"holochain_zome_types/sqlite",
"kitsune_p2p_bin_data/sqlite",
"kitsune_p2p_dht_arc/sqlite",
"kitsune_p2p_types/sqlite",
]
instrument = []