Skip to content

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

License

Notifications You must be signed in to change notification settings

mpiannucci/charizarr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages