Expand description
The plugin API for the zarrs Rust crate.
A Plugin creates concrete implementations of Zarr V3 extension points from inputs.
Extension points include chunk grids, chunk key encodings, codecs, data types, and storage transformers.
In zarrs, plugins are registered at compile time using the inventory crate.
At runtime, a name matching function is applied to identify which registered plugin is associated with the metadata.
If a match is found, the plugin is created from the metadata and other relevant inputs.
§Licence
zarrs_plugin is licensed under either of
- the Apache License, Version 2.0 LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 or
- the MIT license LICENSE-MIT or http://opensource.org/licenses/MIT, at your option.
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.
Macros§
- impl_
extension_ aliases - A macro to implement
ExtensionIdentifierandExtensionAliasesfor an extension type.
Structs§
- Extension
Aliases Config - Per-extension runtime-configurable aliases.
- Extension
Type Chunk Grid - The chunk grid extension type.
- Extension
Type Chunk KeyEncoding - The chunk key encoding extension type.
- Extension
Type Codec - The codec extension type.
- Extension
Type Data Type - The data type extension type.
- Extension
Type Storage Transformer - The storage transformer extension type.
- Plugin
- A plugin.
- Plugin2
- A plugin (two parameters).
- Plugin
Metadata Invalid Error - An invalid plugin metadata error.
- Plugin
Unsupported Error - An unsupported plugin error
- Regex
- Re-export of
regex::Regexfor use in extension alias configurations. A compiled regular expression for searching Unicode haystacks. - Runtime
Plugin - A runtime plugin (single input parameter).
- Runtime
Plugin2 - A runtime plugin (two input parameters).
- Runtime
Registry - A runtime registry for extension plugins.
- Zarr
Version2 - Zarr Version 2.
- Zarr
Version3 - Zarr Version 3.
Enums§
- Plugin
Create Error - A plugin creation error.
- Zarr
Versions - Zarr versions.
Traits§
- Extension
Aliases - Per-version alias configuration for an extension.
- Extension
Identifier - Trait for extension types that have a unique identifier.
- Extension
Type - Marker trait for extension types.
- Maybe
Send - A marker trait that enforces
Sendonly on native platforms. - Maybe
Sync - A marker trait that enforces
Synconly on native platforms. - Zarr
Version - Marker trait for Zarr versions.
Type Aliases§
- Runtime
Registry Handle - A handle to a registered plugin. See
RuntimeRegistry::register.