diff --git a/zarr-eio/Zarr_eio/Storage/HttpStore/Array/index.html b/zarr-eio/Zarr_eio/Storage/HttpStore/Array/index.html new file mode 100644 index 0000000..f56927a --- /dev/null +++ b/zarr-eio/Zarr_eio/Storage/HttpStore/Array/index.html @@ -0,0 +1,23 @@ + +
HttpStore.Array
val create :
+ ?sep:[< `Dot | `Slash Slash ] ->
+ ?dimension_names:string option list ->
+ ?attributes:Yojson.Safe.t ->
+ codecs:Zarr.Codecs.codec_chain ->
+ shape:int array ->
+ chunks:int array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a ->
+ Zarr.Node.Array.t ->
+ t ->
+ unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Zarr.Node.Array.t -> Zarr.Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Zarr.Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.t ->
+ unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a Zarr.Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Zarr.Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Zarr.Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.
HttpStore.Group
val create : ?attrs:Yojson.Safe.t -> t -> Zarr.Node.Group.t -> unit Deferred.t
create ?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 metadata : t -> Zarr.Node.Group.t -> Zarr.Metadata.Group.t Deferred.t
metadata node t
returns the metadata of group node node
.
val children :
+ t ->
+ Zarr.Node.Group.t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
children t n
returns a tuple of child nodes of group node n
. This operation returns a pair of empty lists if node n
has no children or is not a member of store t
.
val delete : t -> Zarr.Node.Group.t -> unit Deferred.t
delete t n
erases group node n
from store t
. This also erases all child nodes of n
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Group.t -> bool Deferred.t
exists t n
returns true
if group node n
is a member of store t
and false
otherwise.
val rename : t -> Zarr.Node.Group.t -> string -> unit Deferred.t
rename t g name
changes the name of group node g
in store t
to name
.
Storage.HttpStore
include Zarr.Storage.STORE with module Deferred = Deferred
module Deferred = Deferred
module Group : sig ... end
module Array : sig ... end
val hierarchy :
+ t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open : net:_ Eio.Net.t -> Uri.t -> (t -> 'a) -> 'a
Zarr_eio.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
An Eio-aware in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
An Eio-aware Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
An Eio-aware local filesystem storage backend for a Zarr v3 hierarchy.
Zarr_eio.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
An Eio-aware in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
An Eio-aware Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
An Eio-aware local filesystem storage backend for a Zarr v3 hierarchy.
module HttpStore : sig ... end
HttpStore.Array
val create :
+ ?sep:[< `Dot | `Slash Slash ] ->
+ ?dimension_names:string option list ->
+ ?attributes:Yojson.Safe.t ->
+ codecs:Zarr.Codecs.codec_chain ->
+ shape:int array ->
+ chunks:int array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a ->
+ Zarr.Node.Array.t ->
+ t ->
+ unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Zarr.Node.Array.t -> Zarr.Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Zarr.Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.t ->
+ unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a Zarr.Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Zarr.Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Zarr.Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.
HttpStore.Group
val create : ?attrs:Yojson.Safe.t -> t -> Zarr.Node.Group.t -> unit Deferred.t
create ?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 metadata : t -> Zarr.Node.Group.t -> Zarr.Metadata.Group.t Deferred.t
metadata node t
returns the metadata of group node node
.
val children :
+ t ->
+ Zarr.Node.Group.t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
children t n
returns a tuple of child nodes of group node n
. This operation returns a pair of empty lists if node n
has no children or is not a member of store t
.
val delete : t -> Zarr.Node.Group.t -> unit Deferred.t
delete t n
erases group node n
from store t
. This also erases all child nodes of n
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Group.t -> bool Deferred.t
exists t n
returns true
if group node n
is a member of store t
and false
otherwise.
val rename : t -> Zarr.Node.Group.t -> string -> unit Deferred.t
rename t g name
changes the name of group node g
in store t
to name
.
Storage.HttpStore
include Zarr.Storage.STORE with module Deferred = Deferred
module Deferred = Deferred
module Group : sig ... end
module Array : sig ... end
val hierarchy :
+ t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open :
+ ?redirects:int ->
+ ?tries:int ->
+ ?timeout:int ->
+ string ->
+ (t -> 'a Lwt.t) ->
+ 'a Lwt.t
Zarr_lwt.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a Lwt.t
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
An Lwt-aware in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
An Lwt-aware Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
An Lwt-aware local filesystem storage backend for a Zarr V3 hierarchy.
module AmazonS3Store : sig ... end
An Lwt-aware Amazon S3 bucket storage backend for a Zarr V3 hierarchy.
Zarr_lwt.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a Lwt.t
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
An Lwt-aware in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
An Lwt-aware Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
An Lwt-aware local filesystem storage backend for a Zarr V3 hierarchy.
module HttpStore : sig ... end
module AmazonS3Store : sig ... end
An Lwt-aware Amazon S3 bucket storage backend for a Zarr V3 hierarchy.
HttpStore.Array
val create :
+ ?sep:[< `Dot | `Slash Slash ] ->
+ ?dimension_names:string option list ->
+ ?attributes:Yojson.Safe.t ->
+ codecs:Zarr.Codecs.codec_chain ->
+ shape:int array ->
+ chunks:int array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a ->
+ Zarr.Node.Array.t ->
+ t ->
+ unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Zarr.Node.Array.t -> Zarr.Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Zarr.Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.t ->
+ unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
+ t ->
+ Zarr.Node.Array.t ->
+ Zarr.Ndarray.Indexing.index array ->
+ 'a Zarr.Ndarray.dtype ->
+ 'a Zarr.Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Zarr.Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Zarr.Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.
HttpStore.Group
val create : ?attrs:Yojson.Safe.t -> t -> Zarr.Node.Group.t -> unit Deferred.t
create ?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 metadata : t -> Zarr.Node.Group.t -> Zarr.Metadata.Group.t Deferred.t
metadata node t
returns the metadata of group node node
.
val children :
+ t ->
+ Zarr.Node.Group.t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
children t n
returns a tuple of child nodes of group node n
. This operation returns a pair of empty lists if node n
has no children or is not a member of store t
.
val delete : t -> Zarr.Node.Group.t -> unit Deferred.t
delete t n
erases group node n
from store t
. This also erases all child nodes of n
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Group.t -> bool Deferred.t
exists t n
returns true
if group node n
is a member of store t
and false
otherwise.
val rename : t -> Zarr.Node.Group.t -> string -> unit Deferred.t
rename t g name
changes the name of group node g
in store t
to name
.
Storage.HttpStore
include Zarr.Storage.STORE with module Deferred = Deferred
module Deferred = Deferred
module Group : sig ... end
module Array : sig ... end
val hierarchy :
+ t ->
+ (Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open :
+ ?redirects:int ->
+ ?tries:int ->
+ ?timeout:int ->
+ string ->
+ (t -> 'a) ->
+ 'a
Zarr_sync.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
A blocking I/O in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
A blocking I/O Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
A blocking I/O local filesystem storage backend for a Zarr v3 hierarchy.
Zarr_sync.Storage
module Deferred : Zarr.Types.Deferred with type 'a t = 'a
module MemoryStore : Zarr.Memory.S with module Deferred = Deferred
A blocking I/O in-memory storage backend for Zarr v3 hierarchy.
module ZipStore : Zarr.Zip.S with module Deferred = Deferred
A blocking I/O Zip file storage backend for a Zarr v3 hierarchy.
module FilesystemStore : sig ... end
A blocking I/O local filesystem storage backend for a Zarr v3 hierarchy.
module HttpStore : sig ... end
Make.Array
val create :
+ ?sep:[< `Dot | `Slash Slash ] ->
+ ?dimension_names:string option list ->
+ ?attributes:Yojson.Safe.t ->
+ codecs:Codecs.codec_chain ->
+ shape:int array ->
+ chunks:int array ->
+ 'a Ndarray.dtype ->
+ 'a ->
+ Node.Array.t ->
+ t ->
+ unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Node.Array.t -> Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
+ t ->
+ Node.Array.t ->
+ Ndarray.Indexing.index array ->
+ 'a Ndarray.t ->
+ unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
+ t ->
+ Node.Array.t ->
+ Ndarray.Indexing.index array ->
+ 'a Ndarray.dtype ->
+ 'a Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.
Deferred.Infix
Deferred.Syntax
Make.Deferred
type 'a t = 'a Deferred.t
val return : 'a -> 'a t
val return_unit : unit t
module Infix : sig ... end
module Syntax : sig ... end
Make.Group
val create : ?attrs:Yojson.Safe.t -> t -> Node.Group.t -> unit Deferred.t
create ?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 metadata : t -> Node.Group.t -> Metadata.Group.t Deferred.t
metadata node t
returns the metadata of group node node
.
val children :
+ t ->
+ Node.Group.t ->
+ (Node.Array.t list * Node.Group.t list) Deferred.t
children t n
returns a tuple of child nodes of group node n
. This operation returns a pair of empty lists if node n
has no children or is not a member of store t
.
val delete : t -> Node.Group.t -> unit Deferred.t
delete t n
erases group node n
from store t
. This also erases all child nodes of n
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Node.Group.t -> bool Deferred.t
exists t n
returns true
if group node n
is a member of store t
and false
otherwise.
val rename : t -> Node.Group.t -> string -> unit Deferred.t
rename t g name
changes the name of group node g
in store t
to name
.
Deferred.Infix
Deferred.Syntax
Make.Deferred
val return : 'a -> 'a t
val return_unit : unit t
module Infix : sig ... end
module Syntax : sig ... end
C.Config
Make.IO
C.Make
Make.C
include module type of Ezcurl_core
module Config : sig ... end
val delete : t -> unit
val pp_response_info : Stdlib.Format.formatter -> response_info -> unit
val string_of_response_info : response_info -> string
val pp_response : Stdlib.Format.formatter -> response -> unit
val string_of_response : response -> string
val pp_meth : Stdlib.Format.formatter -> meth -> unit
val string_of_meth : meth -> string
module type IO = sig ... end
module type S = sig ... end
include Ezcurl_core.S with type 'a io = 'a Deferred.t
type 'a io = 'a Deferred.t
val http :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?range:string ->
+ ?content:[ `String of string | `Write of bytes -> int -> int ] ->
+ ?headers:(string * string) list ->
+ url:string ->
+ meth:Ezcurl_core.meth ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val get :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?range:string ->
+ ?headers:(string * string) list ->
+ url:string ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val put :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?headers:(string * string) list ->
+ url:string ->
+ content:[ `String of string | `Write of bytes -> int -> int ] ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val post :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?headers:(string * string) list ->
+ ?content:[ `String of string | `Write of bytes -> int -> int ] ->
+ params:Curl.curlHTTPPost list ->
+ url:string ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
C.IO
C.S
Http.Make
module Deferred : Types.Deferred
module C : C with type 'a io = 'a Deferred.t
include Storage.STORE with type 'a Deferred.t = 'a Deferred.t
module Deferred : Types.Deferred with type 'a t = 'a Deferred.t
module Group : sig ... end
module Array : sig ... end
val hierarchy : t -> (Node.Array.t list * Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open :
+ ?redirects:int ->
+ ?tries:int ->
+ ?timeout:int ->
+ string ->
+ (t -> 'a) ->
+ 'a
Zarr.Http
module type S = sig ... end
module type C = sig ... end
module Make
+ (Deferred : Types.Deferred)
+ (C : C with type 'a io = 'a Deferred.t) :
+ S with type 'a Deferred.t = 'a Deferred.t
C.Config
Make.IO
C.Make
Http.C
include module type of Ezcurl_core
module Config : sig ... end
val delete : t -> unit
val pp_response_info : Stdlib.Format.formatter -> response_info -> unit
val string_of_response_info : response_info -> string
val pp_response : Stdlib.Format.formatter -> response -> unit
val string_of_response : response -> string
val pp_meth : Stdlib.Format.formatter -> meth -> unit
val string_of_meth : meth -> string
module type IO = sig ... end
module type S = sig ... end
include Ezcurl_core.S
val http :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?range:string ->
+ ?content:[ `String of string | `Write of bytes -> int -> int ] ->
+ ?headers:(string * string) list ->
+ url:string ->
+ meth:Ezcurl_core.meth ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val get :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?range:string ->
+ ?headers:(string * string) list ->
+ url:string ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val put :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?headers:(string * string) list ->
+ url:string ->
+ content:[ `String of string | `Write of bytes -> int -> int ] ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
val post :
+ ?tries:int ->
+ ?client:Ezcurl_core.t ->
+ ?config:Ezcurl_core.Config.t ->
+ ?headers:(string * string) list ->
+ ?content:[ `String of string | `Write of bytes -> int -> int ] ->
+ params:Curl.curlHTTPPost list ->
+ url:string ->
+ unit ->
+ (Ezcurl_core.response, Curl.curlCode * string) Stdlib.result io
C.IO
C.S
S.Array
val create :
+ ?sep:[< `Dot | `Slash Slash ] ->
+ ?dimension_names:string option list ->
+ ?attributes:Yojson.Safe.t ->
+ codecs:Codecs.codec_chain ->
+ shape:int array ->
+ chunks:int array ->
+ 'a Ndarray.dtype ->
+ 'a ->
+ Node.Array.t ->
+ t ->
+ unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Node.Array.t -> Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
+ t ->
+ Node.Array.t ->
+ Ndarray.Indexing.index array ->
+ 'a Ndarray.t ->
+ unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
+ t ->
+ Node.Array.t ->
+ Ndarray.Indexing.index array ->
+ 'a Ndarray.dtype ->
+ 'a Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.
Deferred.Infix
Deferred.Syntax
S.Deferred
val return : 'a -> 'a t
val return_unit : unit t
module Infix : sig ... end
module Syntax : sig ... end
S.Group
val create : ?attrs:Yojson.Safe.t -> t -> Node.Group.t -> unit Deferred.t
create ?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 metadata : t -> Node.Group.t -> Metadata.Group.t Deferred.t
metadata node t
returns the metadata of group node node
.
val children :
+ t ->
+ Node.Group.t ->
+ (Node.Array.t list * Node.Group.t list) Deferred.t
children t n
returns a tuple of child nodes of group node n
. This operation returns a pair of empty lists if node n
has no children or is not a member of store t
.
val delete : t -> Node.Group.t -> unit Deferred.t
delete t n
erases group node n
from store t
. This also erases all child nodes of n
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Node.Group.t -> bool Deferred.t
exists t n
returns true
if group node n
is a member of store t
and false
otherwise.
val rename : t -> Node.Group.t -> string -> unit Deferred.t
rename t g name
changes the name of group node g
in store t
to name
.
Http.S
include Storage.STORE
module Deferred : Types.Deferred
module Group : sig ... end
module Array : sig ... end
val hierarchy : t -> (Node.Array.t list * Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open :
+ ?redirects:int ->
+ ?tries:int ->
+ ?timeout:int ->
+ string ->
+ (t -> 'a) ->
+ 'a
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.
module Node : sig ... end
This module provides functionality for manipulating Zarr nodes.
module Metadata : sig ... end
This module provides functionality for manipulating a Zarr node's metadata JSON document.
module Storage : sig ... end
module Memory : sig ... end
module Zip : sig ... end
module Types : 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.
module Indexing = Ndarray.Indexing
module Util : sig ... end
module Ndarray : sig ... end
Here we show how the library's asynchronous API using Lwt's concurrency monad can be used.
open Zarr
+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
Node
module Node : sig ... end
This module provides functionality for manipulating Zarr nodes.
Metadata
module Metadata : sig ... end
This module provides functionality for manipulating a Zarr node's metadata JSON document.
Storage
module Storage : sig ... end
module Memory : sig ... end
module Zip : sig ... end
module Http : sig ... end
module Types : 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 = Ndarray.Indexing
Utils
module Util : sig ... end
Ndarray
module Ndarray : sig ... end
Examples
Create, read & write array.
Here we show how the library's asynchronous API using Lwt's concurrency monad can be used.
open Zarr
open Zarr.Ndarray
open Zarr.Indexing
open Zarr.Codecs