Important: All the features of Caterva have been included in the C-Blosc2 NDim object. As a result, this project is now obsolete.
Caterva is a C library for handling multi-dimensional, compressed datasets in an easy and convenient manner. It implements a thin metalayer on top of C-Blosc2 for specifying not only the dimensionality of a dataset, but also the dimensionality of the chunks inside the dataset. In addition, Caterva adds machinery for retrieving arbitrary multi-dimensional slices (aka hyper-slices) out of the multi-dimensional containers in the most efficient way. Hence, Caterva brings the convenience of multi-dimensional and compressed containers to your application very easily.
For more info, check out the Caterva documentation.
Here are slides of a gentle introductory talk to Caterva.
- Aleix Alcacer: original code creator
- Oscar Griñón: contributed the code for the second partitioning
- Marta Iborra: contributed the resizing operations for arrays
- Francesc Alted: direction, ideas and support code
This library has received the support from a donation from Huawei to the Blosc project. Also, ironArray SL has generously donated to the Blosc project, and Caterva in particular. We are always grateful for donations that help the development of libraries under the umbrella of Blosc. Thanks!