[package]
name = "acyclic-objects"
version = "0.1.5"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
publish = true
description = "Immutable Objects contract with gRPC, memory, and durable local providers"
readme = "README.md"
documentation = "https://docs.rs/acyclic-objects"
keywords = ["objects", "storage", "grpc"]
categories = ["api-bindings", "filesystem"]
[features]
default = ["grpc"]
grpc = ["dep:tonic", "dep:tonic-prost"]
local = ["dep:fs2", "dep:libc", "tokio/rt-multi-thread"]
[dependencies]
async-trait.workspace = true
blake3 = "1.8.2"
bytes.workspace = true
futures.workspace = true
fs2 = { workspace = true, optional = true }
getrandom = { version = "=0.3.4", features = ["wasm_js"] }
hex.workspace = true
prost.workspace = true
prost-types = "0.14.4"
thiserror.workspace = true
tokio = { version = "1.48.0", default-features = false, features = ["sync"] }
tonic = { version = "0.14.6", features = ["tls-ring", "tls-webpki-roots"], optional = true }
tonic-prost = { workspace = true, optional = true }
imbl = { version = "=7.0.2", default-features = false }
[target.'cfg(target_vendor = "apple")'.dependencies]
libc = { version = "0.2.175", optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
acyclic-native-runtime = { version = "=0.1.5", path = "../native-runtime" }
[lints]
workspace = true
[dev-dependencies]
rcgen = "0.14.10"
tempfile = "3.27.0"
tokio = { workspace = true, features = ["macros", "rt"] }
tokio-stream.workspace = true