New workspace crate clawhdf5-tools with one binary, h5rs, built only on the clawhdf5 facade and clawhdf5-format (no libhdf5, no C): - ls [-r] [-v] FILE[/path]: h5ls's listing (same text in its first two columns) plus the datatype; -v adds address, link count, layout and chunk index, chunk size, storage, filters, datatype and attributes. - dump [--json] [-A] [-p] [-d PATH] FILE: h5dump DDL (byte-identical to h5dump 1.14.6 on the test files) or hdf5-json. - stat FILE: h5stat's object/link/rank/layout/filter/attribute counts, raw data and total size. - diff [-r] [-q] [-d D] [-p R] A B [OBJ1 [OBJ2]]: structural and value differences, exit 0/1/2 like h5diff. - check [--data] FILE: walks every object, parses every message, verifies the checksums of every v2+ structure (including the fractal heap blocks the library never checks), checks chunk indexes against their datasets and raw data for out-of-file or overlapping extents; every problem with its address. Values over --max-bytes are reported, not read; dense-storage heaps are verified before objects are read from them; panics are caught (exit 3). Tests compare with h5ls, h5stat, h5dump and h5diff and with h5py's values, and flip the checksum of every checksummed structure in a v1.14-format file. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
24 lines
658 B
TOML
24 lines
658 B
TOML
[package]
|
|
name = "clawhdf5-tools"
|
|
version = "2.7.0"
|
|
edition = "2024"
|
|
rust-version.workspace = true
|
|
license = "MIT"
|
|
description = "h5rs: pure-Rust HDF5 command-line tools (ls, dump, stat, diff, check) without libhdf5"
|
|
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
|
|
keywords = ["hdf5", "h5dump", "h5ls", "cli", "science"]
|
|
categories = ["command-line-utilities", "science"]
|
|
readme = "README.md"
|
|
|
|
[[bin]]
|
|
name = "h5rs"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
clawhdf5 = { path = "../clawhdf5", version = "2.7.0" }
|
|
clawhdf5-format = { path = "../clawhdf5-format", version = "2.7.0" }
|
|
serde_json = "1"
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|