znippy-cli 0.9.10

CLI for Znippy, a parallel chunked compression system.
Documentation
[package]
name = "znippy-cli"
# 0.9.10: local source DRIFTED from the published 0.9.9 at the same version number.
# crates.io bytes are immutable, so the edit only reaches consumers as a new
# version. Bumped 2026-08-23 to unblock the release cascade — holger patches
# znippy to this checkout, which makes 19 holger crates unpublishable fork riders.
version = "0.9.10"
edition = "2024"
authors = ["Rickard Lundin <rickard@ignalina.dk>"]
description = "CLI for Znippy, a parallel chunked compression system."
license = "MIT"
repository = "https://codeberg.org/nordisk/znippy"
readme = "../README.md"
categories = ["compression", "filesystem", "data-structures"]
keywords = ["compression", "openzl", "parallel", "arrow", "blake3"]

[features]
default = []
# Opt-in `--meta-format iceberg`. Off by default so the standard CLI stays lean
# (the iceberg backend pulls tokio + iceberg + parquet + arrow-57).
iceberg = ["dep:znippy-iceberg"]
# Opt-in detached CMS provenance: `compress --sign` / `verify --signed`. Off by
# default so the standard CLI pulls in zero RustCrypto. Just threads the ready
# `znippy-common` sign API onto the CLI — never on the compress hot path.
sign = ["znippy-common/sign"]
# `testmatrix` — route the CLI's `functional_status(component, check, ok, detail)`
# markers to the nornir warehouse via the nornir-testmatrix emitter. OFF by
# default: the wrapper compiles to an `#[inline]` no-op with no nornir dep, so the
# shipped CLI carries zero cost. Build `--features testmatrix` (optionally with
# `sign`) so `nornir test` SEES the signing/verify/run surfaces.
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]

[dependencies]
clap = { version = "4.5.51", features = ["derive"] }
anyhow = { version = "1.0.100" }
znippy-compress = { version = "0.9.11", path = "../znippy-compress" }
znippy-decompress = { version = "0.9.10", path = "../znippy-decompress" }
znippy-common = { version = "0.9.14", path = "../znippy-common", features = ["host-decompressors", "wasm-plugins"] }
# Main's PATHS (the plugins moved into `plugins/native/`) with the release
# branch's VERSIONS. The branch bumped the versions while still on the old flat
# paths, so neither side was right on its own: its paths no longer exist, and
# main's versions sit below what is already on crates.io.
znippy-plugin-maven = { version = "0.9.8", path = "../plugins/native/znippy-plugin-maven", features = ["host-decompressors"] }
znippy-plugin-python = { version = "0.9.7", path = "../plugins/native/znippy-plugin-python", features = ["host-decompressors"] }
znippy-plugin-media = { version = "0.9.3", path = "../plugins/native/znippy-plugin-media" }
znippy-plugin-skidbladnir = { version = "0.1.3", path = "../plugins/native/znippy-plugin-skidbladnir" }
znippy-plugin-git = { version = "0.1.1", path = "../plugins/native/znippy-plugin-git" }
znippy-plugin-rust-toolchain = { version = "0.1.1", path = "../plugins/native/znippy-plugin-rust-toolchain" }
znippy-iceberg = { version = "0.1.11", path = "../znippy-iceberg", optional = true }
env_logger = { version = "0.11.8" }
# ── testmatrix feature ──────────────────────────────────────────────────────
# Path dep to the sibling nornir-testmatrix (≥0.2, the `functional_status`
# emitter). Optional + default-features off so the default CLI never pulls it;
# gated behind the `testmatrix` feature above.
nornir-testmatrix = { version = "0.2", default-features = false, optional = true }

[dev-dependencies]
tempfile = "3"