datasynth-cli 5.34.0

Command-line interface for synthetic enterprise data generation
[package]
name = "datasynth-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Command-line interface for synthetic enterprise data generation"
keywords.workspace = true
categories.workspace = true

[[bin]]
name = "datasynth-data"
path = "src/main.rs"

[features]
default = ["streaming"]
streaming = ["dep:reqwest", "datasynth-runtime/streaming"]
llm = ["datasynth-core/llm"]
adversarial = ["datasynth-eval/adversarial"]
# v4.4.0+: neural diffusion backend. Pulls candle-core via datasynth-core.
neural = ["datasynth-core/neural", "datasynth-runtime/neural"]
neural-cuda = ["neural", "datasynth-core/neural-cuda", "datasynth-runtime/neural-cuda"]

[dependencies]
# v5.31 C1 Phase 4 — mimalloc as global allocator. Default glibc
# malloc fragmented badly under the group-audit aggregate's per-
# iteration JSON deserialisation workload (linear RSS climb to
# 219 GB OOM at 2k scale, even after C1 Phase 1+2+3 hold reductions).
# mimalloc typically reduces fragmentation 30-50% on malloc-heavy
# workloads with many short-lived allocations.
mimalloc = { version = "0.1", default-features = false }
datasynth-core = { workspace = true }
datasynth-config = { workspace = true }
datasynth-eval = { workspace = true }
datasynth-generators = { workspace = true }
datasynth-output = { workspace = true }
datasynth-runtime = { workspace = true }
datasynth-audit-fsm = { workspace = true }
datasynth-audit-optimizer = { workspace = true }
datasynth-banking = { workspace = true }
datasynth-fingerprint = { workspace = true }
datasynth-group = { workspace = true }
clap = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
csv = { workspace = true }
serde_yaml = { workspace = true }
serde_json = { workspace = true }
rand = { workspace = true }
rand_chacha = { workspace = true }
rayon = { workspace = true }
num_cpus = { workspace = true }

# Feature-gated optional dep — activated by the `streaming` feature in
# this Cargo.toml. No `use reqwest` exists in cli sources; reqwest is
# pulled in transitively so `datasynth-runtime/streaming` sees it.
reqwest = { workspace = true, optional = true }

# Signal handling for pause/resume
[target.'cfg(unix)'.dependencies]
signal-hook = { workspace = true }

[dev-dependencies]
assert_cmd = { workspace = true }
predicates = { workspace = true }
tempfile = { workspace = true }

# reqwest: feature-gated optional, see comment in [dependencies] above.
[package.metadata.cargo-machete]
ignored = ["reqwest"]