[package]
name = "uni-plugin"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords = ["plugin", "extensibility", "graph", "database"]
categories = ["database", "data-structures"]
description = "Plugin framework for uni-db: registry, manifest, and capability traits"
[dependencies]
uni-common = { workspace = true }
arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-schema = { workspace = true }
datafusion = { workspace = true }
arc-swap = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
async-trait = { workspace = true }
parking_lot = { workspace = true }
futures = { workspace = true }
tokio-util = { workspace = true }
tokio = { workspace = true, features = ["rt", "macros"] }
semver = { version = "1.0", features = ["serde"] }
smol_str = { version = "0.3", features = ["serde"] }
blake3 = "1.8"
toml = "1"
dashmap = "6.2"
smallvec = { version = "1.15", features = ["serde"] }
ed25519-dalek = { version = "2", default-features = false, features = ["std", "fast"] }
base64 = { version = "0.22" }
cron = "0.16"
chrono = { version = "0.4", default-features = false, features = ["std", "clock"] }
opentelemetry = { workspace = true, optional = true }
tracing-opentelemetry = { workspace = true, optional = true }
[features]
otel = ["dep:opentelemetry", "dep:tracing-opentelemetry"]
[dev-dependencies]
proptest = { workspace = true }
serde_test = "1.0"
ed25519-dalek = { version = "2", default-features = false, features = ["std", "fast", "rand_core"] }
rand = { workspace = true }
base64 = "0.22"
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
opentelemetry_sdk = "0.32"
tracing-subscriber = { workspace = true }