bitcache-core 0.0.1

Bitcache is a distributed content-addressable storage (CAS) system.
# See: https://doc.rust-lang.org/cargo/reference/manifest.html

[package]
name = "bitcache-core"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
description.workspace = true
#documentation.workspace = true
readme.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
publish.workspace = true

[features]
default = ["all", "std"]
all = ["base58", "tokio"]
alloc = ["serde?/alloc", "futures-util/alloc"]
std = ["alloc", "blake3/std", "derive_more/std", "futures-io/std", "futures-util/std"]
unstable = []

# Features:
base58 = ["dep:bs58"]
tokio = ["std", "dep:tokio"]

# Interoperability:
interops = ["clap", "serde"]
clap = ["dep:clap"]
serde = ["dep:serde", "alloc", "blake3/serde"]

[dependencies]
arrayvec = { version = "0.7", default-features = false }
blake3 = { version = "1.8", default-features = false }
bytes = { version = "1", default-features = false }
derive_more = { version = "2", default-features = false, features = ["display", "from_str"] }
futures-core = { version = "0.3", default-features = false }
futures-io = { version = "0.3", default-features = false }
futures-util = { version = "0.3", default-features = false }
thiserror = { version = "2", default-features = false }
tokio = { version = "1", default-features = false, optional = true }

# Features:
bs58 = { version = "0.5", default-features = false, optional = true }

# Interoperability:
clap = { version = "4.5", default-features = false, optional = true }
serde = { version = "1", default-features = false, features = ["derive"], optional = true }

# Preview locally with: RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]