[package]
name = "asimov-module"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
description.workspace = true
readme.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories = ["api-bindings", "development-tools"]
publish.workspace = true
[features]
default = ["all", "std"]
all = ["cli", "tracing", "serde"]
cli = ["std", "dep:clientele", "clientele?/clap"]
std = [
"dep:asimov-env",
"dep:getenv",
"clientele?/std",
"dogma/std",
"getenv?/std",
"serde?/std",
"serde_json?/std",
"slab/std",
"thiserror/std",
"tracing?/std",
"tracing-subscriber?/fmt",
"tracing-subscriber?/std",
"url/std",
]
unstable = []
json = ["dep:serde_json"]
serde = ["dep:serde", "json", "yaml"]
tracing = ["dep:tracing", "dep:tracing-subscriber", "clientele?/tracing"]
yaml = ["dep:serde_yaml_ng"]
[dependencies]
dogma.workspace = true
secrecy.workspace = true
slab.workspace = true
thiserror.workspace = true
url.workspace = true
asimov-env = { workspace = true, optional = true }
clientele = { workspace = true, optional = true }
getenv = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
serde_yaml_ng = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }