H5Lens describes HDF5 on-disk metadata with GNU poke pickles. It combines reusable format definitions with an interactive explorer, an independent preflight oracle for untrusted files, a conservative repair planner, and a marker scanner.
| Area | Purpose |
|---|---|
pickles/ |
Reusable HDF5 format definitions for GNU poke. |
h5policy/ |
Metadata preflight, security profiles, regression corpus, differential testing, and fuzzing. |
h5patch/ |
Evidence-gated repair planning, application, and audit logging. |
h5explain/ |
Interactive byte-level metadata navigation. |
src/ |
The h5markers scanner implementation. |
tools/ |
Command entry points and repository helper scripts. |
docs/ |
The tutorial, tool guide, marker reference, generated format reference, and tool map. |
examples/ |
Sample HDF5 files and GNU poke scripts. |
emacs/ |
An Emacs front end for inspecting HDF5 files. |
.devcontainer/ |
A ready-to-use Codespaces and VS Code Dev Containers environment. |
The development container provides the complete toolchain. Run these commands from the repository root.
# Preflight an untrusted HDF5 file.
./tools/h5policy --profile untrusted-strict examples/file.h5
# Explore the sample's metadata interactively.
./tools/h5explain examples/file.h5
# Create and inspect a repair plan without modifying the input.
./tools/h5patch plan damaged.h5 -o repair.plan.json
./tools/h5patch explain repair.plan.jsonBuild the marker scanner, run the regression suite, and check the documentation:
cmake -S . -B build
cmake --build build --parallel
ctest --test-dir build --output-on-failure
cmake --build build --target docs-checkContinue with the guided H5Lens tutorial, or see the
h5policy, h5patch, and
h5explain guides for complete command behavior.
This material is based upon work supported by the U.S. National Science Foundation under Federal Award No. 2534078. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.