[package]
edition = "2024"
rust-version = "1.97"
name = "kmp-adapter-embedded"
version = "0.1.9"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded edition storage adapters: every KMP kernel port on a single local store file (redb by default, SQLite opt-in)"
readme = "README.md"
keywords = [
"kmp",
"redb",
"sqlite",
"embedded",
"storage",
]
categories = ["database"]
license = "Apache-2.0"
repository = "https://github.com/underpass-ai/kmp"
[features]
default = []
sqlite = ["dep:rusqlite"]
[lib]
name = "kmp_adapter_embedded"
path = "src/lib.rs"
[[bin]]
name = "embedded_crash_writer"
path = "src/bin/embedded_crash_writer.rs"
[[test]]
name = "compaction"
path = "tests/compaction.rs"
[[test]]
name = "crash_recovery"
path = "tests/crash_recovery.rs"
[[test]]
name = "demo_bundle"
path = "tests/demo_bundle.rs"
[[test]]
name = "portability_failfast"
path = "tests/portability_failfast.rs"
[[test]]
name = "store_migration"
path = "tests/store_migration.rs"
[[test]]
name = "store_scale"
path = "tests/store_scale.rs"
[[test]]
name = "telemetry_journal"
path = "tests/telemetry_journal.rs"
[[test]]
name = "two_writers_one_store"
path = "tests/two_writers_one_store.rs"
[dependencies.kmp-domain]
version = "0.1.9"
[dependencies.kmp-observability]
version = "0.1.9"
default-features = false
[dependencies.kmp-ports]
version = "0.1.9"
[dependencies.redb]
version = "4.1.0"
[dependencies.rusqlite]
version = "0.40.1"
features = ["bundled"]
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.sha2]
version = "0.10"
[dependencies.tokio]
version = "1.50.0"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"sync",
"time",
]
[dev-dependencies.kmp-application]
version = "0.1.9"
[dev-dependencies.tempfile]
version = "3.26.0"
[lints.clippy]
dbg_macro = "warn"
todo = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_code = "forbid"