[package]
edition = "2021"
name = "aimdb-core"
version = "0.5.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core database engine for AimDB - async in-memory data synchronization with bidirectional connectors"
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"]
default = [
"std",
"alloc",
"derive",
]
defmt = ["dep:defmt"]
derive = ["aimdb-derive"]
metrics = [
"dep:metrics",
"std",
]
std = [
"alloc",
"serde",
"thiserror",
"anyhow",
"serde_json",
"tokio",
"aimdb-executor/std",
]
test-utils = ["std"]
tracing = ["dep:tracing"]
[lib]
name = "aimdb_core"
path = "src/lib.rs"
[dependencies.aimdb-derive]
version = "0.1.0"
optional = true
[dependencies.aimdb-executor]
version = "0.1.0"
default-features = false
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.defmt]
version = "1.0.1"
optional = true
[dependencies.futures-core]
version = "0.3"
default-features = false
[dependencies.futures-util]
version = "0.3"
features = ["alloc"]
default-features = false
[dependencies.hashbrown]
version = "0.15"
features = ["default-hasher"]
default-features = false
[dependencies.metrics]
version = "0.23"
optional = true
[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"]
optional = true
default-features = false
[dependencies.spin]
version = "0.9"
features = [
"mutex",
"spin_mutex",
]
default-features = false
[dependencies.thiserror]
version = "2.0.16"
optional = true
[dependencies.tokio]
version = "1.47.1"
features = [
"macros",
"rt-multi-thread",
"net",
"io-util",
"sync",
"time",
]
optional = true
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.tokio]
version = "1.47.1"
features = [
"macros",
"rt-multi-thread",
"macros",
"rt",
"time",
]
default-features = false