Crates.io | zarrs_ffi |
lib.rs | zarrs_ffi |
version | 0.7.0 |
source | src |
created_at | 2024-03-10 00:17:33.292795 |
updated_at | 2024-07-07 06:00:53.412277 |
description | FFI bindings for the zarrs crate |
homepage | |
repository | https://github.com/LDeakin/zarrs_ffi |
max_upload_size | |
id | 1168230 |
size | 81,369 |
FFI bindings for the zarrs crate, a rust library for the Zarr V3 storage format for multidimensional arrays and metadata.
Currently zarrs_ffi
only supports a small subset of the zarrs API.
A changelog can be found here. Example usage can be found in the examples.
CMAKE_MODULE_PATH
find_package(zarrs 0.6 REQUIRED COMPONENTS zarrs/bz2)
zarrs
is retrieved from GitHub
using FetchContent and built using corrosionzarrs
FFI library is available as the zarrs::zarrs
targetA complete CMake
example can be found in examples/cmake_project.
Building generates a header, and a platform-dependent static and dynamic library.
cargo build --release --features cbindgen # -> zarrs.h and target/release/[lib]zarrs_ffi{.a,.so,.dll,.dylib}
zarrs.h
is only re-generated if the cbindgen
feature is enabled.
Encoding and decoding performance may be improved with avx2
/sse2
enabled (if supported).
Compile with either of:
RUSTFLAGS="-C target-cpu=native"
RUSTFLAGS="-C target-feature=+avx2,+sse2"
zarrs
codecsNon-default zarrs
codecs (see zarrs
crate features) can be enabled by passing them as feature flags.
For example:
cargo build --release --features cbindgen --features zarrs/bitround,zarrs/zfp,zarrs/bz2,zarrs/pcodec
zarrs_ffi
is licensed under either of
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.