[package]
edition = "2021"
rust-version = "1.98.0"
name = "aimdb-core"
version = "2.0.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-safe async data pipelines — one Rust codebase from MCU to cloud"
homepage = "https://aimdb.dev"
readme = "README.md"
keywords = [
"database",
"async",
"in-memory",
"sync",
"embedded",
]
categories = [
"database-implementations",
"asynchronous",
"embedded",
]
license = "Apache-2.0"
repository = "https://github.com/aimdb-dev/aimdb"
[features]
alloc = ["serde"]
connector-session = ["alloc"]
default = [
"std",
"alloc",
"derive",
]
defmt = ["dep:defmt"]
derive = ["aimdb-derive"]
log = ["dep:log"]
observability = [
"alloc",
"portable-atomic/fallback",
"portable-atomic/critical-section",
]
remote = [
"alloc",
"serde_json",
]
std = [
"alloc",
"serde",
"remote",
"connector-session",
]
test-utils = ["std"]
tracing = ["dep:tracing"]
[lib]
name = "aimdb_core"
path = "src/lib.rs"
[[test]]
name = "log_facade_delivery"
path = "tests/log_facade_delivery.rs"
[[test]]
name = "log_facade_first_wins"
path = "tests/log_facade_first_wins.rs"
[[test]]
name = "log_facade_gate"
path = "tests/log_facade_gate.rs"
[[test]]
name = "session_engine"
path = "tests/session_engine.rs"
[dependencies.aimdb-derive]
version = "0.2.0"
optional = true
[dependencies.async-channel]
version = "2"
default-features = false
[dependencies.defmt]
version = "1.0.1"
optional = true
[dependencies.futures-channel]
version = "0.3"
features = ["alloc"]
default-features = false
[dependencies.futures-core]
version = "0.3"
default-features = false
[dependencies.futures-util]
version = "0.3"
features = [
"alloc",
"async-await-macro",
]
default-features = false
[dependencies.hashbrown]
version = "0.15"
features = ["default-hasher"]
default-features = false
[dependencies.log]
version = "0.4"
optional = true
default-features = false
[dependencies.portable-atomic]
version = "1.9"
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0"
features = [
"alloc",
"raw_value",
]
optional = true
default-features = false
[dependencies.spin]
version = "0.9"
features = [
"mutex",
"spin_mutex",
]
default-features = false
[dependencies.thiserror]
version = "2.0.16"
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
default-features = false
[dev-dependencies.futures]
version = "0.3"
features = ["alloc"]
default-features = false
[dev-dependencies.heapless]
version = "0.9.1"
[dev-dependencies.serde_json]
version = "1.0"
features = ["alloc"]
default-features = false
[dev-dependencies.tokio]
version = "1.47.1"
features = [
"macros",
"rt-multi-thread",
"macros",
"rt",
"time",
"sync",
]
default-features = false