zarr-vectors-tools
File format workflows, algorithms, and multiresolution for Zarr Vectors.
zarr-vectors-tools is an extension of zarr-vectors-py. It is not a standalone library, and neither this README nor its documentation restates that package's.
zarr-vectors-py owns Zarr Vectors — the specification and the Python API over it: store layout, chunk and bin geometry, fragments, links, the object model, resolution-level metadata, validation, and the two supported surfaces zarr_vectors.api and zarr_vectors.building. Anything about the format or the core API is documented there and only there.
This package adds the layers built on top of it: format-conversion workflows wrapping third-party readers and writers, streaming graph and mesh algorithms, the rich multiresolution coarsening layer, and the zvtools CLI.
Zarr Vectors was originally specified by Forrest Collman, Allen Institute for Brain Sciences.
| Documentation (this package) | zarr-vectors-tools docs |
| Parent package | zarr-vectors-py · docs |
| Specification | Zarr Vectors specification |
| Core API reference | zarr_vectors.api / zarr_vectors.building |
| Upstream specification | AllenInstitute/zarr_vectors |
Install
pip install zarr-vectors-tools
Python ≥ 3.11. Every file format is gated behind an extra, so a base install stays slim:
pip install "zarr-vectors-tools[trk]" # nibabel (TRK)
pip install "zarr-vectors-tools[streamlines]" # nibabel + trx-python
pip install "zarr-vectors-tools[all]" # everything except gpu
Extras: las, ply, trk, trx, streamlines, graph, points-enrichment, mesh, precomputed, parallel, gpu, all, dev.
Quick start
From the terminal:
zvtools convert cells.csv cells.zarrvectors --chunk-shape 100,100,100
zvtools pyramid cells.zarrvectors --coarsen 8,8 --sparsity 2,2
zvtools convert cells.zarrvectors cells.ply --level 1 # and back out again
zvtools merge cells.zarrvectors more_cells.csv # append, don't replace
zvtools split cells.zarrvectors parts/ --by groups
zvtools info cells.zarrvectors
zvtools validate cells.zarrvectors --level 3
From Python — note that convert.ingest and convert.export have no re-exports, so import from the concrete module:
from zarr_vectors_tools.convert.ingest.csv_points import ingest_csv
from zarr_vectors_tools.multiresolution.coarsen import build_pyramid
from zarr_vectors_tools.algorithms import compute_connected_components
ingest_csv("cells.csv", "cells.zarrvectors", chunk_shape=(100.0, 100.0, 100.0))
build_pyramid("cells.zarrvectors", factors=[(8.0, 2.0), (8.0, 2.0)])
What's in it
| Subpackage | Purpose |
|---|---|
convert.ingest |
CSV/XYZ, LAS/LAZ, PLY, line CSV, TCK, TRK, TRX, SWC, precomputed skeletons, OBJ, STL, edge-list CSV, GraphML, GIFTI, FreeSurfer |
convert.export |
CSV, PLY, TRK, TRX, SWC, OBJ, h5ad |
compose |
merge a file or another store into an existing one; split a store by group, label or merged source |
multiresolution |
pyramid building: skeleton/polyline/point/mesh/graph coarsening, five object-selection strategies, cross-level links |
algorithms |
streaming graph search, connected components, clustering; mesh summary, attributes, spatial queries |
headers |
format-specific metadata preservation |
cli |
the zvtools command line |
Coarsening and sparsity are two orthogonal axes — coarsening reduces vertices within each object, sparsity drops whole objects while preserving the IDs of survivors. See Coarsening versus sparsity.
Development
git clone https://github.com/AllenInstitute/zarr-vectors-tools
cd zarr-vectors-tools
pip install -e ".[all,dev]"
pytest
Build the docs locally:
pip install -r docs/requirements-docs.txt
python -m sphinx -b html docs docs/_build/html
License
BSD-3-Clause.
Metadata
Release files for zarr-vectors-tools 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zarr_vectors_tools-0.3.0.tar.gz | 4.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zarr_vectors_tools-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.8 MB
Release files / zarr_vectors_tools-0.3.0.tar.gz
| Download URL | zarr_vectors_tools-0.3.0.tar.gz |
|---|---|
| Size | 4.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4afd2a6319ceb385d978347bdab1644760f58c40bde8d99414bb1bcc195ccc50
|
|
BLAKE2b-256 checksum How to use checksums |
a4a5f4913435db886bfe50befbe4c6328383e358474590f9c7697944585ab80a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / zarr_vectors_tools-0.3.0-py3-none-any.whl
| Download URL | zarr_vectors_tools-0.3.0-py3-none-any.whl |
|---|---|
| Size | 538.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e3ce04ee96aa07a6729632f0feed2b03797ac9697dcc09c4f541aec736335e6
|
|
BLAKE2b-256 checksum How to use checksums |
337fbcde0718f5e07603c9c2ffd993c53d9e0320a6717f26af63bcc18f9919dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log