Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/holger

traits/Cargo.toml

[package]
name = "holger-traits"
# 0.6.10: local source DRIFTED from the published 0.6.9 under the same version number.
# crates.io bytes are immutable, so the edit can only reach consumers as a new
# version. Bumped 2026-08-23 by the release cascade: Gate B refused nornir 0.5.5
# because the published copies of this repo are stale.
version = "3.1.0"
edition = "2021"
authors = ["Ignalina ApS", "Vetra Automation AB"]


description = "holger's shared vocabulary: ArtifactId, RepositoryBackendTrait, ZnippyPlugin discriminants, and ArtifactFormat — including `ArtifactFormat::home()`, the format→crate map that answers which crate serves PyPI when grepping cannot."
license = "AGPL-3.0-only"
repository = "https://git.gunnar.rs/nordisk/holger"
readme = "../README.md"
categories = ["command-line-utilities","development-tools"]
keywords = ["znippy", "artifacts", "blake3", "cli","airgap"]
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
    ".nornir/",
]


[dependencies]



serde = { version = "1.0.229", features = ["derive"] }
anyhow = "1.0.104"

async-trait = "0.1.92"

# The fetch seam. `Bytes` derefs to `&[u8]`, so the whole read side keeps its
# signatures; what changes is that a fetched artifact can now be handed on,
# sliced and cloned by refcount instead of by memcpy. Re-exported below as
# `traits::Bytes` so the 20+ backends need no manifest change of their own.
bytes = "1"

# nornir-hash (edda) — the ONE shared content-hash primitive behind
# `traits::sha256_hex`, which every znippy backend's index digests use.
nornir-hash = { version = "0.1.1" }

# znippy is the source of truth for pkg_type / type_id discriminants.
znippy-common = { version = "0.10.4" }

[dev-dependencies]
# The znippy format-version gate's tests write throwaway archives/garbage files.
tempfile = "3"

# nornir-testmatrix functional-status emitter — gated, optional, compiled OUT for
# release. `--features testmatrix` turns the self-test emit calls into real rows
# that `nornir test` reads; OFF by default the dep is never pulled.
[dependencies.nornir-testmatrix]
version = "0.2.13"
optional = true

# Socket for the race-free port lease in `test_support` (test-support only).
[dependencies.socket2]
version = "0.6"
optional = true

[features]
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]
# The shared test kit (`traits::test_support`): fstatus, the in-memory archive
# readers, the port lease, the on-demand wasm guest build, the LFS-pointer check.
# Dev-dependency only; never in a release build.
test-support = ["dep:nornir-testmatrix", "dep:socket2"]