[[bin]]
name = "hiqlite"
path = "src/main.rs"
[dependencies.argon2]
optional = true
version = "0.5.3"
[dependencies.axum]
features = ["http2", "tokio"]
version = "0.8.1"
[dependencies.axum-extra]
features = ["cookie"]
optional = true
version = "0.12"
[dependencies.axum-server]
features = ["tls-rustls", "tls-rustls-no-provider"]
version = "0.8"
[dependencies.bincode]
features = ["serde"]
version = "2"
[dependencies.bytes]
version = "1.6.0"
[dependencies.chrono]
default-features = false
features = ["std", "clock", "now"]
version = "0.4.38"
[dependencies.clap]
features = ["derive", "env"]
optional = true
version = "4.1.11"
[dependencies.cron]
optional = true
version = "0.15"
[dependencies.cryptr]
features = ["s3"]
version = "0.9"
[dependencies.ctrlc]
features = ["termination"]
optional = true
version = "3.4.4"
[dependencies.deadpool]
features = ["rt_tokio_1"]
optional = true
version = "0.12.1"
[dependencies.dotenvy]
version = "0.15.7"
[dependencies.eventsource-client]
optional = true
version = "0.15"
[dependencies.fastwebsockets]
features = ["upgrade", "with_axum", "unstable-split"]
version = "0.10.0"
[dependencies.flume]
version = "0.12"
[dependencies.futures-util]
optional = true
version = "0.3.30"
[dependencies.getrandom]
features = ["std"]
version = "0.3"
[dependencies.hex]
version = "0.4.3"
[dependencies.hiqlite-wal]
version = "0.12"
[dependencies.home]
optional = true
version = "0.5.9"
[dependencies.hostname]
version = "0.4.0"
[dependencies.http-body-util]
version = "0.1.2"
[dependencies.hyper]
features = ["client", "http2"]
version = "1.4.1"
[dependencies.hyper-util]
features = ["client", "http2", "tokio"]
version = "0.1.6"
[dependencies.lazy_static]
version = "1.0.2"
[dependencies.lz4-sys]
version = "1.9.5"
[dependencies.mime_guess]
optional = true
version = "2.0.5"
[dependencies.openraft]
features = ["serde", "storage-v2"]
version = "0.9.19"
[dependencies.reqwest]
default-features = false
features = ["http2", "json", "rustls-tls"]
version = "0.12"
[dependencies.rusqlite]
features = ["backup", "bundled", "chrono", "column_decltype", "functions", "serde_json"]
optional = true
version = "0.37"
[dependencies.rust-embed]
features = []
version = "8.5.0"
[dependencies.rust_decimal]
version = "1.15"
[dependencies.rustls]
features = ["ring"]
version = "0.23.12"
[dependencies.serde]
features = ["derive"]
version = "1.0.114"
[dependencies.serde_json]
version = "1.0.57"
[dependencies.serde_rusqlite]
optional = true
version = "0.40"
[dependencies.sha2]
features = []
version = "0.10.8"
[dependencies.spow]
features = ["server"]
optional = true
version = "0.6"
[dependencies.strum]
features = ["derive"]
version = "0.27"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
features = ["fs", "sync", "rt-multi-thread"]
version = "1.43.1"
[dependencies.tokio-rustls]
features = ["ring"]
version = "0.26.0"
[dependencies.toml]
optional = true
version = "0.9.5"
[dependencies.tower]
features = []
optional = true
version = "0.5"
[dependencies.tower-http]
features = ["set-header", "sensitive-headers", "util"]
optional = true
version = "0.6.0"
[dependencies.tower-layer]
version = "0.3.3"
[dependencies.tower-service]
version = "0.3.3"
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-subscriber]
features = ["env-filter"]
optional = true
version = "0.3.20"
[dependencies.uuid]
features = ["v7"]
version = "1.8.0"
[dependencies.webpki-roots]
optional = true
version = "1"
[dev-dependencies.tokio]
features = ["fs", "sync", "rt-multi-thread", "full", "test-util", "tracing"]
version = "1.43.1"
[dev-dependencies.tokio-test]
version = "0.4.4"
[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.20"
[features]
auto-heal = ["hiqlite-wal/auto-heal"]
backup = ["dep:cron", "s3", "sqlite"]
cache = ["openraft/loosen-follower-log-revert"]
counters = ["cache"]
dashboard = ["dep:argon2", "dep:axum-extra", "dep:mime_guess", "dep:spow", "dep:tower", "dep:tower-http", "sqlite"]
default = ["auto-heal", "backup", "sqlite", "toml"]
dlock = ["cache"]
full = ["auto-heal", "backup", "cache", "dashboard", "dlock", "listen_notify", "s3", "shutdown-handle", "sqlite", "toml", "webpki-roots"]
jemalloc = ["dep:tikv-jemallocator"]
listen_notify = ["dep:eventsource-client", "listen_notify_local"]
listen_notify_local = ["dep:futures-util", "cache"]
s3 = ["backup"]
server = ["dep:clap", "dep:home", "dep:tracing-subscriber", "full", "tokio/macros"]
shutdown-handle = ["dep:ctrlc"]
sqlite = ["dep:deadpool", "dep:rusqlite", "dep:serde_rusqlite"]
toml = ["dep:toml"]
webpki-roots = ["dep:webpki-roots", "reqwest/rustls-tls-webpki-roots"]
[lib]
doctest = false
name = "hiqlite"
path = "src/lib.rs"
[package]
authors = ["Sebastian Dobe <sebastiandobe@mailbox.org"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "caching"]
description = "Hiqlite - highly-available, embeddable, raft-based SQLite + cache"
edition = "2024"
keywords = ["database", "sql", "sqlite", "raft", "cache"]
license = "Apache-2.0"
name = "hiqlite"
readme = "README.md"
repository = "https://github.com/sebadob/hiqlite"
resolver = "2"
rust-version = "1.88.0"
version = "0.12.2"
[package.metadata.docs.rs]
all-features = true
[target.'cfg(not(target_env = "msvc"))'.dependencies.tikv-jemallocator]
optional = true
version = "0.6.0"
[[test]]
name = "cluster"
path = "tests/cluster/main.rs"