zarr-tree v0.1.0
zarr-tree v0.1.0
First public release of zarr-tree, a small Rust CLI for exploring the
structure and metadata of local Zarr stores.
Highlights
-
Inspect local Zarr V2 and V3 stores as a readable tree
-
Recognise Zarr groups, arrays and unknown nodes
-
Display array shape, chunk shape and dtype
-
Recognise OME-Zarr image groups
-
Display OME-NGFF axes and declared multiscale pyramid metadata
-
Recognise SpatialData:
- store roots
- images
- labels
- points
- shapes
- tables
-
Limit traversal with
--depth -
Emit machine-readable output with
--json -
Behave cleanly in Unix pipelines such as:
zarr-tree store.zarr | head
Example
zarr-tree experiment.zarr
may produce:
experiment.zarr [group, SpatialData 0.2]
├── images [group]
│ └── morphology [group, OME-Zarr 0.5-dev-spatialdata, SpatialData image]
├── labels [group]
│ └── nuclei [group, OME-Zarr 0.5-dev-spatialdata, SpatialData labels]
├── points [group]
│ └── transcripts [group, SpatialData points]
├── shapes [group]
│ └── cell_boundaries [group, SpatialData shapes]
└── tables [group]
└── table [group, SpatialData table]
Usage
Build from source:
git clone https://github.com/ronfinn/zarr-tree.git
cd zarr-tree
cargo build --release
Then run:
target/release/zarr-tree path/to/store.zarr
Useful options:
zarr-tree --depth 2 store.zarr
zarr-tree --json store.zarr
zarr-tree --json --depth 1 store.zarr
Scope
This release is intentionally metadata-only and local-filesystem-only.
It does not:
- read array chunks or pixel values
- decode Parquet or GeoParquet payloads
- interpret AnnData expression matrices
- access S3, HTTP or other remote object stores
- perform full OME-NGFF or SpatialData validation
OME-Zarr and SpatialData support is recognition and inspection rather than
full specification validation.
Quality
The v0.1.0 release was tagged from a clean build with:
- 37 unit tests
- 11 CLI integration tests
cargo fmt --checkcargo checkcargo clippy --all-targets -- -D warningscargo build --release
All checks passed.