diff --git a/index.html b/index.html index 72104ad2..c510bc95 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@

OCaml package documentation

    -
  1. zarr
  2. +
  3. zarr 0.1.0
diff --git a/zarr/Zarr/ArrayMetadata/index.html b/zarr/Zarr/ArrayMetadata/index.html index 548cc693..464605df 100644 --- a/zarr/Zarr/ArrayMetadata/index.html +++ b/zarr/Zarr/ArrayMetadata/index.html @@ -1,11 +1,11 @@ ArrayMetadata (zarr.Zarr.ArrayMetadata)

Module Zarr.ArrayMetadata

A module which contains functionality to work with a parsed JSON Zarr array metadata document.

type t

A type representing a parsed array metadata document.

val create : ?sep:[< `Dot | `Slash Slash ] -> + ?codecs:Codecs.Chain.t -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.Chain.t -> shape:int array -> ('a, 'b) Stdlib.Bigarray.kind -> 'a -> int array -> - (t, [> Zarr__.Metadata.error ]) Stdlib.result

create ~codecs ~shape kind fv cshp Creates a new array metadata document with codec chain codecs, shape shape, fill value fv, data type kind and chunk shape cshp. This operation returns an error if chunk shape is invalid.

val encode : t -> string

encode t returns a byte string representing a JSON Zarr array metadata.

val decode : string -> (t, [> `Store_read of string ]) Stdlib.result

decode s decodes a bytes string s into a ArrayMetadata.t type, and returns an error if the decoding process fails.

val shape : t -> int array

shape t returns the shape of the zarr array represented by metadata type t.

val chunk_shape : t -> int array

chunk_shape t returns the shape a chunk in this zarr array.

val is_valid_kind : t -> ('a, 'b) Stdlib.Bigarray.kind -> bool

is_valid_kind t kind checks if kind is a valid Bigarray kind that matches the data type of the zarr array represented by this metadata type.

val fillvalue_of_kind : t -> ('a, 'b) Stdlib.Bigarray.kind -> 'a

fillvalue_of_kind t kind returns the fill value of uninitialized chunks in this zarr array given kind. Raises Failure if the kind is not compatible with this array's fill value.

val attributes : t -> Yojson.Safe.t

attributes t Returns a Yojson type containing user attributes assigned to the zarr array represented by t.

val dimension_names : t -> string option list

dimension_name t returns a list of dimension names. If none are defined then an empty list is returned.

val codecs : t -> Codecs.Chain.t

codecs t Returns a type representing the chain of codecs applied when decoding/encoding a Zarr array chunk.

val index_coord_pair : t -> int array -> int array * int array

index_coord_pair t coord maps a coordinate of this Zarr array to a pair of chunk index and coordinate within that chunk.

val chunk_indices : t -> int array -> int array list

chunk_indices t shp returns a list of all chunk indices that would be contained in a zarr array of shape shp given the regular grid defined in array metadata t.

val chunk_key : t -> int array -> string

chunk_key t idx returns a key encoding of a the chunk index idx.

val update_attributes : t -> Yojson.Safe.t -> t

update_attributes t json returns a new metadata type with an updated attribute field containing contents in json

val update_shape : t -> int array -> t

update_shape t new_shp returns a new metadata type containing shape new_shp.

val (=) : t -> t -> bool

a = b returns true if a b are equal array metadata documents and false otherwise.

+ (t, [> Zarr__.Metadata.error ]) Stdlib.result

create ~shape kind fv cshp Creates a new array metadata document with shape shape, fill value fv, data type kind and chunk shape cshp. This operation returns an error if chunk shape is invalid.

val encode : t -> string

encode t returns a byte string representing a JSON Zarr array metadata.

val decode : string -> (t, string) Stdlib.result

decode s decodes a bytes string s into a ArrayMetadata.t type, and returns an error if the decoding process fails.

val shape : t -> int array

shape t returns the shape of the zarr array represented by metadata type t.

val chunk_shape : t -> int array

chunk_shape t returns the shape a chunk in this zarr array.

val is_valid_kind : t -> ('a, 'b) Stdlib.Bigarray.kind -> bool

is_valid_kind t kind checks if kind is a valid Bigarray kind that matches the data type of the zarr array represented by this metadata type.

val fillvalue_of_kind : t -> ('a, 'b) Stdlib.Bigarray.kind -> 'a

fillvalue_of_kind t kind returns the fill value of uninitialized chunks in this zarr array given kind. Raises Failure if the kind is not compatible with this array's fill value.

val attributes : t -> Yojson.Safe.t

attributes t Returns a Yojson type containing user attributes assigned to the zarr array represented by t.

val dimension_names : t -> string option list

dimension_name t returns a list of dimension names. If none are defined then an empty list is returned.

val codecs : t -> Codecs.Chain.t

codecs t Returns a type representing the chain of codecs applied when decoding/encoding a Zarr array chunk.

val index_coord_pair : t -> int array -> int array * int array

index_coord_pair t coord maps a coordinate of this Zarr array to a pair of chunk index and coordinate within that chunk.

val chunk_indices : t -> int array -> int array list

chunk_indices t shp returns a list of all chunk indices that would be contained in a zarr array of shape shp given the regular grid defined in array metadata t.

val chunk_key : t -> int array -> string

chunk_key t idx returns a key encoding of a the chunk index idx.

val update_attributes : t -> Yojson.Safe.t -> t

update_attributes t json returns a new metadata type with an updated attribute field containing contents in json

val update_shape : t -> int array -> t

update_shape t new_shp returns a new metadata type containing shape new_shp.

val (=) : t -> t -> bool

a = b returns true if a b are equal array metadata documents and false otherwise.

diff --git a/zarr/Zarr/Codecs/Chain/index.html b/zarr/Zarr/Codecs/Chain/index.html index 4279f08f..f18dda93 100644 --- a/zarr/Zarr/Codecs/Chain/index.html +++ b/zarr/Zarr/Codecs/Chain/index.html @@ -1,13 +1,13 @@ Chain (zarr.Zarr.Codecs.Chain)

Module Codecs.Chain

A module containing functions to encode/decode an array chunk using a predefined set of codecs.

type t

A type representing a valid chain of codecs for decoding/encoding a Zarr array chunk.

val create : - ('a, 'b) array_repr -> + ('a, 'b) Zarr__.Util.array_repr -> codec_chain -> - (t, [> error ]) Stdlib.result

create r c returns a type representing a chain of codecs defined by chain c and decoded array representation type r.

val is_just_sharding : t -> bool

is_just_sharding t is true if the codec chain t contains only the sharding_indexed codec.

val encode : + (t, [> error ]) Stdlib.result

create r c returns a type representing a chain of codecs defined by chain c and decoded array representation type r.

val default : t

default returns the default codec chain that contains only the required codecs as defined in the Zarr Version 3 specification.

val is_just_sharding : t -> bool

is_just_sharding t is true if the codec chain t contains only the sharding_indexed codec.

val encode : t -> ('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t -> (string, [> error ]) Stdlib.result

encode t x computes the encoded byte string representation of array chunk x. Returns an error upon failure.

val decode : t -> - ('a, 'b) array_repr -> + ('a, 'b) Zarr__.Util.array_repr -> string -> (('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t, [> `Store_read of string | error ]) @@ -17,13 +17,13 @@ (string list, [> `Store_read of string | error ] as 'c) Stdlib.result) -> partial_setter -> int -> - ('a, 'b) array_repr -> + ('a, 'b) Zarr__.Util.array_repr -> (int array * 'a) list -> (unit, 'c) Stdlib.result
val partial_decode : t -> ((int * int option) list -> (string list, [> `Store_read of string | error ] as 'c) Stdlib.result) -> int -> - ('a, 'b) array_repr -> + ('a, 'b) Zarr__.Util.array_repr -> (int * int array) list -> ((int * 'a) list, 'c) Stdlib.result
val (=) : t -> t -> bool

x = y returns true if chain x is equal to chain y, and false otherwise.

val of_yojson : Yojson.Safe.t -> (t, string) Stdlib.result

of_yojson x returns a code chain of type t from its json object representation.

val to_yojson : t -> Yojson.Safe.t

to_yojson x returns a json object representation of codec chain x.

diff --git a/zarr/Zarr/Codecs/index.html b/zarr/Zarr/Codecs/index.html index a37cae9f..dc08adee 100644 --- a/zarr/Zarr/Codecs/index.html +++ b/zarr/Zarr/Codecs/index.html @@ -7,4 +7,4 @@ | `Bytes of endianness | `ShardingIndexed of shard_config | fixed_bytestobytes ] - list;
  • index_location : loc;
  • }

    A type representing the Sharding indexed codec's configuration parameters.

    type codec_chain = [ arraytoarray | arraytobytes | bytestobytes ] list

    A type used to build a user-defined chain of codecs when creating a Zarr array.

    type error = [
    1. | `Extension of string
    2. | `Gzip of Ezgzip.error
    3. | `Transpose_order of int array * string
    4. | `CodecChain of string
    5. | `Sharding of int array * int array * string
    ]

    The type of errors returned upon failure when an calling a function on a Chain type.

    type partial_setter = ?append:bool -> (int * string) list -> unit
    type ('a, 'b) array_repr = {
    1. kind : ('a, 'b) Stdlib.Bigarray.kind;
    2. shape : int array;
    3. fill_value : 'a;
    }

    The type summarizing the decoded/encoded representation of a Zarr array or chunk.

    module Chain : sig ... end

    A module containing functions to encode/decode an array chunk using a predefined set of codecs.

    + list;
  • index_location : loc;
  • }

    A type representing the Sharding indexed codec's configuration parameters.

    type codec_chain = [ arraytoarray | arraytobytes | bytestobytes ] list

    A type used to build a user-defined chain of codecs when creating a Zarr array.

    type error = [
    1. | `Extension of string
    2. | `Gzip of Ezgzip.error
    3. | `Transpose_order of int array * string
    4. | `CodecChain of string
    5. | `Sharding of int array * int array * string
    ]

    The type of errors returned upon failure when an calling a function on a Chain type.

    type partial_setter = ?append:bool -> (int * string) list -> unit
    module Chain : sig ... end

    A module containing functions to encode/decode an array chunk using a predefined set of codecs.

    diff --git a/zarr/Zarr/GroupMetadata/index.html b/zarr/Zarr/GroupMetadata/index.html index 85385e1f..aa6c7ec2 100644 --- a/zarr/Zarr/GroupMetadata/index.html +++ b/zarr/Zarr/GroupMetadata/index.html @@ -1,2 +1,2 @@ -GroupMetadata (zarr.Zarr.GroupMetadata)

    Module Zarr.GroupMetadata

    A module which contains functionality to work with a parsed JSON Zarr group metadata document.

    type t

    A type representing a parsed group metadata document.

    val default : t

    Return a group metadata type with default values for all fields.

    val encode : t -> string

    encode t returns a byte string representing a JSON Zarr group metadata.

    val decode : string -> (t, [> `Store_read of string ]) Stdlib.result

    decode s decodes a bytes string s into a t type, and returns an error if the decoding process fails.

    val update_attributes : t -> Yojson.Safe.t -> t

    update_attributes t json returns a new metadata type with an updated attribute field containing contents in json.

    val show : t -> string

    show t pretty-prints the contents of the group metadata type t.

    val attributes : t -> Yojson.Safe.t

    attributes t Returns a Yojson type containing user attributes assigned to the zarr group represented by t.

    +GroupMetadata (zarr.Zarr.GroupMetadata)

    Module Zarr.GroupMetadata

    A module which contains functionality to work with a parsed JSON Zarr group metadata document.

    type t

    A type representing a parsed group metadata document.

    val default : t

    Return a group metadata type with default values for all fields.

    val encode : t -> string

    encode t returns a byte string representing a JSON Zarr group metadata.

    val decode : string -> (t, string) Stdlib.result

    decode s decodes a bytes string s into a t type, and returns an error if the decoding process fails.

    val update_attributes : t -> Yojson.Safe.t -> t

    update_attributes t json returns a new metadata type with an updated attribute field containing contents in json.

    val show : t -> string

    show t pretty-prints the contents of the group metadata type t.

    val attributes : t -> Yojson.Safe.t

    attributes t Returns a Yojson type containing user attributes assigned to the zarr group represented by t.

    diff --git a/zarr/Zarr/Storage/FilesystemStore/index.html b/zarr/Zarr/Storage/FilesystemStore/index.html index b386153d..7cbc7b7f 100644 --- a/zarr/Zarr/Storage/FilesystemStore/index.html +++ b/zarr/Zarr/Storage/FilesystemStore/index.html @@ -1,9 +1,13 @@ -FilesystemStore (zarr.Zarr.Storage.FilesystemStore)

    Module Storage.FilesystemStore

    A local filesystem storage backend for a Zarr V3 hierarchy.

    include S
    type t

    The storage type.

    val create_group : ?attrs:Yojson.Safe.t -> t -> Node.GroupNode.t -> unit

    create_group ?attrs t node creates a group node in store t containing attributes attrs. This is a no-op if node is already a member of this store.

    val create_array : +FilesystemStore (zarr.Zarr.Storage.FilesystemStore)

    Module Storage.FilesystemStore

    A local filesystem storage backend for a Zarr V3 hierarchy.

    include S
    type t

    The storage type.

    val create_group : + ?metadata:Zarr__.Metadata.GroupMetadata.t -> + t -> + Node.GroupNode.t -> + unit

    create_group ~meta t node creates a group node in store t containing metadata meta. This is a no-op if node is already a member of this store.

    val create_array : ?sep:[< `Dot | `Slash Slash ] -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.codec_chain -> + ?codecs:Codecs.codec_chain -> shape:int array -> chunks:int array -> ('a, 'b) Stdlib.Bigarray.kind -> diff --git a/zarr/Zarr/Storage/Make/index.html b/zarr/Zarr/Storage/Make/index.html index 65920f62..0d0ab5b4 100644 --- a/zarr/Zarr/Storage/Make/index.html +++ b/zarr/Zarr/Storage/Make/index.html @@ -1,9 +1,13 @@ -Make (zarr.Zarr.Storage.Make)

    Module Storage.Make

    A functor for minting a new storage type as long as it's argument module implements the STORE interface.

    Parameters

    module M : sig ... end

    Signature

    type t = M.t

    The storage type.

    val create_group : ?attrs:Yojson.Safe.t -> t -> Node.GroupNode.t -> unit

    create_group ?attrs t node creates a group node in store t containing attributes attrs. This is a no-op if node is already a member of this store.

    val create_array : +Make (zarr.Zarr.Storage.Make)

    Module Storage.Make

    A functor for minting a new storage type as long as it's argument module implements the STORE interface.

    Parameters

    module M : sig ... end

    Signature

    type t = M.t

    The storage type.

    val create_group : + ?metadata:Zarr__.Metadata.GroupMetadata.t -> + t -> + Node.GroupNode.t -> + unit

    create_group ~meta t node creates a group node in store t containing metadata meta. This is a no-op if node is already a member of this store.

    val create_array : ?sep:[< `Dot | `Slash Slash ] -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.codec_chain -> + ?codecs:Codecs.codec_chain -> shape:int array -> chunks:int array -> ('a, 'b) Stdlib.Bigarray.kind -> diff --git a/zarr/Zarr/Storage/MemoryStore/index.html b/zarr/Zarr/Storage/MemoryStore/index.html index e70e6d1b..37494dd2 100644 --- a/zarr/Zarr/Storage/MemoryStore/index.html +++ b/zarr/Zarr/Storage/MemoryStore/index.html @@ -1,9 +1,13 @@ -MemoryStore (zarr.Zarr.Storage.MemoryStore)

    Module Storage.MemoryStore

    An in-memory storage backend for Zarr V3 hierarchy.

    include S
    type t

    The storage type.

    val create_group : ?attrs:Yojson.Safe.t -> t -> Node.GroupNode.t -> unit

    create_group ?attrs t node creates a group node in store t containing attributes attrs. This is a no-op if node is already a member of this store.

    val create_array : +MemoryStore (zarr.Zarr.Storage.MemoryStore)

    Module Storage.MemoryStore

    An in-memory storage backend for Zarr V3 hierarchy.

    include S
    type t

    The storage type.

    val create_group : + ?metadata:Zarr__.Metadata.GroupMetadata.t -> + t -> + Node.GroupNode.t -> + unit

    create_group ~meta t node creates a group node in store t containing metadata meta. This is a no-op if node is already a member of this store.

    val create_array : ?sep:[< `Dot | `Slash Slash ] -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.codec_chain -> + ?codecs:Codecs.codec_chain -> shape:int array -> chunks:int array -> ('a, 'b) Stdlib.Bigarray.kind -> diff --git a/zarr/Zarr/Storage/module-type-MAKER/index.html b/zarr/Zarr/Storage/module-type-MAKER/index.html index 9b87d093..58c8c8ed 100644 --- a/zarr/Zarr/Storage/module-type-MAKER/index.html +++ b/zarr/Zarr/Storage/module-type-MAKER/index.html @@ -1,9 +1,13 @@ -MAKER (zarr.Zarr.Storage.MAKER)

    Module type Storage.MAKER

    Parameters

    module M : sig ... end

    Signature

    type t = M.t

    The storage type.

    val create_group : ?attrs:Yojson.Safe.t -> t -> Node.GroupNode.t -> unit

    create_group ?attrs t node creates a group node in store t containing attributes attrs. This is a no-op if node is already a member of this store.

    val create_array : +MAKER (zarr.Zarr.Storage.MAKER)

    Module type Storage.MAKER

    Parameters

    module M : sig ... end

    Signature

    type t = M.t

    The storage type.

    val create_group : + ?metadata:Zarr__.Metadata.GroupMetadata.t -> + t -> + Node.GroupNode.t -> + unit

    create_group ~meta t node creates a group node in store t containing metadata meta. This is a no-op if node is already a member of this store.

    val create_array : ?sep:[< `Dot | `Slash Slash ] -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.codec_chain -> + ?codecs:Codecs.codec_chain -> shape:int array -> chunks:int array -> ('a, 'b) Stdlib.Bigarray.kind -> diff --git a/zarr/Zarr/Storage/module-type-S/index.html b/zarr/Zarr/Storage/module-type-S/index.html index 4caac60e..39f3e51a 100644 --- a/zarr/Zarr/Storage/module-type-S/index.html +++ b/zarr/Zarr/Storage/module-type-S/index.html @@ -1,9 +1,13 @@ -S (zarr.Zarr.Storage.S)

    Module type Storage.S

    The public interface of all supported stores.

    type t

    The storage type.

    val create_group : ?attrs:Yojson.Safe.t -> t -> Node.GroupNode.t -> unit

    create_group ?attrs t node creates a group node in store t containing attributes attrs. This is a no-op if node is already a member of this store.

    val create_array : +S (zarr.Zarr.Storage.S)

    Module type Storage.S

    The public interface of all supported stores.

    type t

    The storage type.

    val create_group : + ?metadata:Zarr__.Metadata.GroupMetadata.t -> + t -> + Node.GroupNode.t -> + unit

    create_group ~meta t node creates a group node in store t containing metadata meta. This is a no-op if node is already a member of this store.

    val create_array : ?sep:[< `Dot | `Slash Slash ] -> ?dimension_names:string option list -> ?attributes:Yojson.Safe.t -> - codecs:Codecs.codec_chain -> + ?codecs:Codecs.codec_chain -> shape:int array -> chunks:int array -> ('a, 'b) Stdlib.Bigarray.kind -> diff --git a/zarr/Zarr/index.html b/zarr/Zarr/index.html index 7f3f5cb9..afaff510 100644 --- a/zarr/Zarr/index.html +++ b/zarr/Zarr/index.html @@ -1,2 +1,47 @@ -Zarr (zarr.Zarr)

    Module Zarr

    module Node : sig ... end

    This module provides functionality for manipulating Zarr nodes.

    module Indexing : sig ... end

    A module housing functions for creating and manipulating indices and slices for working with Zarr arrays.

    module ArrayMetadata : sig ... end

    A module which contains functionality to work with a parsed JSON Zarr array metadata document.

    module GroupMetadata : sig ... end

    A module which contains functionality to work with a parsed JSON Zarr group metadata document.

    module Storage : sig ... end
    module Codecs : sig ... end

    An array has an associated list of codecs. Each codec specifies a bidirectional transform (an encode transform and a decode transform). This module contains building blocks for creating and working with a chain of codecs.

    +Zarr (zarr.Zarr)

    Module Zarr

    zarr Provides an Ocaml implementation of the Zarr version 3 storage format specification. It supports creation of arrays and groups as well as chunking arrays along any dimension. One can store a Zarr hierarchy in memory or on disk. Zarr also supports reading zarr hierarchies created using other implementations, as long as they are spec-compliant.

    Consult the examples and limitations for more info.

    References

    type ('a, 'b) array_repr

    Node

    module Node : sig ... end

    This module provides functionality for manipulating Zarr nodes.

    Metadata

    module ArrayMetadata : sig ... end

    A module which contains functionality to work with a parsed JSON Zarr array metadata document.

    module GroupMetadata : sig ... end

    A module which contains functionality to work with a parsed JSON Zarr group metadata document.

    Storage

    module Storage : sig ... end

    Codecs

    module Codecs : sig ... end

    An array has an associated list of codecs. Each codec specifies a bidirectional transform (an encode transform and a decode transform). This module contains building blocks for creating and working with a chain of codecs.

    Indexing

    module Indexing : sig ... end

    A module housing functions for creating and manipulating indices and slices for working with Zarr arrays.

    Examples

    Create, read & write array.

    open Zarr
    +open Zarr.Node
    +open Zarr.Codecs
    +open Zarr.Storage
    +
    +let store =
    +  Result.get_ok @@ FilesystemStore.open_or_create "testdata.zarr" in
    +let group_node = Result.get_ok @@ GroupNode.of_path "/some/group" in
    +FilesystemStore.create_group store group_node;
    +let array_node = Result.get_ok @@ ArrayNode.(group_node / "name") in
    +FilesystemStore.create_array
    +  ~codecs:[`Transpose [|2; 0; 1|]; `Bytes BE; `Gzip L2]
    +  ~shape:[|100; 100; 50|]
    +  ~chunks:[|10; 15; 20|]
    +  Bigarray.Float32 
    +  Float.neg_infinity
    +  array_node
    +  store;
    +let slice = Owl_types.[|R [0; 20]; I 10; R []|] in
    +let x =
    +  Result.get_ok @@
    +  FilesystemStore.get_array store array_node slice Bigarray.Float32 in
    +let x' =
    +  Owl.Dense.Ndarray.Generic.map
    +    (fun _ -> Owl_stats_dist.uniform_rvs 0. 10.) x in
    +FilesystemStore.set_array store array_node slice x';

    Using sharding codec.

    let config =
    +  {chunk_shape = [|5; 3; 5|]
    +  ;codecs = [`Transpose [|2; 0; 1|]; `Bytes LE; `Gzip L5]
    +  ;index_codecs = [`Bytes BE; `Crc32c]
    +  ;index_location = Start} in
    +let shard_node = Result.get_ok @@ ArrayNode.(group_node / "another") in
    +FilesystemStore.create_array
    +  ~codecs:[`ShardingIndexed config]
    +  ~shape:[|100; 100; 50|]
    +  ~chunks:[|10; 15; 20|]
    +  Bigarray.Complex32
    +  Complex.zero
    +  shard_node
    +  store;

    Explore a Zarr hierarchy.

    Functions to query a zarr hierarchy are provided. These include listing all nodes, finding children of a group node, resizing an array, deleting nodes, obtaining metadata of a node, and more.

    let a, g = FilesystemStore.find_all_nodes store in
    +FilesystemStore.reshape store array_node [|25; 32; 10|];
    +let meta =
    +  Result.get_ok @@ FilesystemStore.group_metadata store group_node in
    +GroupMetadata.show meta;
    +FilesystemStore.array_exists store shard_node;
    +let a, g = FilesystemStore.find_child_nodes store group_node in
    +FilesystemStore.erase_group_node store group_node;

    Extension Points

    This library also provides custom extensions not defined in the version 3 specification. These are tabulated below:

    Extension Point

    Details

    Data Types

    char, complex32, int (63-bit integer), nativeint

    Limitations

    Although this implementation tries to be spec compliant, it does come with a few limitations:

    • Ocaml does not have support for unsigned integers and thus this library cannot support reading values of datatypes uint32, uint64 and complex128.
    • This implementation does not support reading and writing Zarr heirarchies created using the version 1 or 2 specifications.
    diff --git a/zarr/index.html b/zarr/index.html index 8b6b62ab..ebbedda1 100644 --- a/zarr/index.html +++ b/zarr/index.html @@ -1,2 +1,2 @@ -index (zarr.index)

    zarr index

    Library zarr

    The entry point of this library is the module: Zarr.

    +index (zarr.index)

    The zarr library

    The Zarr library provides an OCaml implementation of the Zarr version 3 storage format specification for chunked & compressed multi-dimensional arrays, designed for use in parallel computing. The storage format is used by many companies including Google, NASA, Microsoft and many others. Zarr's goal is to provide the following features:

    • Chunk multi-dimensional arrays along any dimension.
    • Store arrays in memory, on disk, inside a Zip file or any remote storage backend.
    • Read and write arrays concurrently from multiple threads or processes.
    • Organize arrays into hierarchies using groups.

    See Zarr V3 specification.

    Author: Zolisa Bleki

    Entry Point

    The entry point of this library is the module Zarr.