32 releases (12 breaking)
new 0.14.0 | May 16, 2024 |
---|---|
0.13.0 | Apr 19, 2024 |
0.12.5 | Mar 17, 2024 |
0.8.0 | Dec 26, 2023 |
0.6.0 | Nov 16, 2023 |
#304 in Encoding
1,102 downloads per month
Used in 2 crates
1MB
26K
SLoC
zarrs
A rust library for the Zarr V3 storage format for multidimensional arrays and metadata.
Developed at the Department of Materials Physics, Australian National University, Canberra, Australia.
zarrs is experimental and in limited production use. Use at your own risk! Correctness issues with past versions are detailed here.
A changelog can be found here.
Getting Started
- View the examples.
- Read the documentation.
array::Array
andstorage
are good places to start. - Check out zarrs_tools for real-world usage and performance benchmarks of
zarrs
.
Example
let store_path: PathBuf = "/path/to/store".into();
let store: zarrs::storage::ReadableWritableListableStorage =
Arc::new(zarrs::storage::store::FilesystemStore::new(&store_path)?);
let array_path: &str = "/group/array"; // /path/to/store/group/array
let array = zarrs::array::Array::new(store, array_path)?;
let chunk: ndarray::ArrayD<f32> = array.retrieve_chunk_ndarray(&[1, 0])?;
println!("Chunk [1,0] is:\n{chunk}");
zarrs
Ecosystem
- zarrs_tools: Various tools for creating and manipulating Zarr v3 data. Includes
zarrs
benchmarks. - zarrs_ffi: A subset of zarrs exposed as a C API.
Licence
zarrs
is licensed under either of
- the Apache License, Version 2.0 LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 or
- the MIT license LICENSE-MIT or http://opensource.org/licenses/MIT, at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~8–24MB
~372K SLoC