Crate zarrs_plugin

Crate zarrs_plugin 

Source
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

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 ExtensionIdentifier and ExtensionAliases for an extension type.

Structs§

ExtensionAliasesConfig
Per-extension runtime-configurable aliases.
ExtensionTypeChunkGrid
The chunk grid extension type.
ExtensionTypeChunkKeyEncoding
The chunk key encoding extension type.
ExtensionTypeCodec
The codec extension type.
ExtensionTypeDataType
The data type extension type.
ExtensionTypeStorageTransformer
The storage transformer extension type.
Plugin
A plugin.
Plugin2
A plugin (two parameters).
PluginMetadataInvalidError
An invalid plugin metadata error.
PluginUnsupportedError
An unsupported plugin error
Regex
Re-export of regex::Regex for use in extension alias configurations. A compiled regular expression for searching Unicode haystacks.
RuntimePlugin
A runtime plugin (single input parameter).
RuntimePlugin2
A runtime plugin (two input parameters).
RuntimeRegistry
A runtime registry for extension plugins.
ZarrVersion2
Zarr Version 2.
ZarrVersion3
Zarr Version 3.

Enums§

PluginCreateError
A plugin creation error.
ZarrVersions
Zarr versions.

Traits§

ExtensionAliases
Per-version alias configuration for an extension.
ExtensionIdentifier
Trait for extension types that have a unique identifier.
ExtensionType
Marker trait for extension types.
MaybeSend
A marker trait that enforces Send only on native platforms.
MaybeSync
A marker trait that enforces Sync only on native platforms.
ZarrVersion
Marker trait for Zarr versions.

Type Aliases§

RuntimeRegistryHandle
A handle to a registered plugin. See RuntimeRegistry::register.