Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.44 KB

README.md

File metadata and controls

56 lines (43 loc) · 1.44 KB

charizarr

A small, opinionated, async zarr 3.0 implementation written in rust.

This should not be used for anything real yet (probably), it is going to change a lot and is primarily a thought excecise.

Development

This crate requires rust 1.75 or later because it uses async traits.

Progress

  • create object store zarr store
  • virtual zarr store (kerchunk, reference manifest)
  • read zarr group hierarchy
  • write zarr group hierarchy
  • read zarr array hierarchy
  • write zarr array hierarchy
  • read zarr array chunks
  • write zarr array chunks
  • read zarr array data
  • write zarr array data
  • custom chunk encoding support
  • fill values
  • bytes codec
  • blosc codec
  • gzip codec
  • sharding codec
  • transpose codec
  • grib codec
  • error handling
  • tests, tests, tests
  • optimization
    • dont clone data arrays
    • ergonomic API for using arrays: Use macros for getting/setting values? conveinence methods for common operations with generics?

Features

gzip

This feature enables gzip compression support. This is enabled by default.

blosc

This feature enables blosc compression support. This is enabled by default. It requires that the blosc library is installed on your system and is not available for wasm targets.

macos:

brew install c-blosc
export RUSTFLAGS="-L/opt/homebrew/lib"

ubuntu:

apt-get install libblosc-dev