#zarr #store #opendal #storage #zarrs

zarrs_opendal

opendal store support for the zarrs crate

8 releases (breaking)

new 0.7.0 Apr 6, 2025
0.6.0 Feb 24, 2025
0.5.0 Dec 23, 2024
0.4.0 Nov 15, 2024
0.1.0 Sep 2, 2024

#1900 in Encoding

Download history 347/week @ 2024-12-11 177/week @ 2024-12-18 37/week @ 2024-12-25 47/week @ 2025-01-01 255/week @ 2025-01-08 104/week @ 2025-01-15 177/week @ 2025-01-29 117/week @ 2025-02-05 91/week @ 2025-02-12 193/week @ 2025-02-19 37/week @ 2025-02-26 14/week @ 2025-03-05 27/week @ 2025-03-12 104/week @ 2025-03-26

150 downloads per month
Used in 2 crates

MIT/Apache

140KB
3K SLoC

zarrs_opendal

Latest Version opendal 0.53 zarrs_opendal documentation msrv build

opendal store support for the zarrs Rust crate.

use zarrs_storage::AsyncReadableStorage;
use zarrs_opendal::AsyncOpendalStore;

let builder = opendal::services::Http::default().endpoint("http://...");
let operator = opendal::Operator::new(builder)?.finish();
let store: AsyncReadableStorage = Arc::new(AsyncOpendalStore::new(operator));

Version Compatibility Matrix

See doc/version_compatibility_matrix.md.

opendal is re-exported as a dependency of this crate, so it does not need to be specified as a direct dependency.

However, if opendal is a direct dependency, it is necessary to ensure that the version used by this crate is compatible. This crate can depend on a range of semver-incompatible versions of opendal, and Cargo will not automatically choose a single version of opendal that satisfies all dependencies. Use a precise cargo update to ensure compatibility. For example, if this crate resolves to opendal 0.53.0 and your code uses 0.52.0:

cargo update --package opendal:0.53.0 --precise 0.52.0

Licence

zarrs_opendal 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.

Dependencies

~14–27MB
~383K SLoC