[package]
name = "marque-utils"
version = "0.1.0"
edition = { workspace = true }
rust-version = { workspace = true }
description = "Common utilities for Marque, the marking compiler."
readme = "README.md"
repository = { workspace = true }
license-file = { workspace = true }
[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true, optional = true }
base64 = { workspace = true, optional = true }
blake3 = { workspace = true, optional = true }
encoding_rs = { workspace = true, optional = true }
fastrand = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tokio-util = { workspace = true, features = ["rt"], optional = true }
tracing = { workspace = true }
[dev-dependencies]
serde_json = { workspace = true }
[features]
default = []
batching = ["dep:async-trait", "dep:serde", "dep:tokio", "dep:tokio-util"]
bytes_decode = ["dep:encoding_rs"]
concur_control = ["dep:tokio"]
fingerprint = ["dep:base64", "dep:blake3", "dep:serde"]
retryable = ["dep:fastrand", "dep:tokio"]
[lints]
workspace = true