This module contains an experimental implementation of the Zarr V3 Specification.
Warning
The experimental v3 implementation included in Zarr Python >2.12,<3 is not aligned with the final V3 specification. This version is deprecated and will be removed in Zarr Python 3.0 in favor of a spec compliant version.
The new zarr._store.v3 package has the necessary classes and functions for evaluating Zarr V3.
Since the design is not finalised, the classes and functions are not automatically imported into
the regular Zarr namespace.
Code snippet for creating Zarr V3 arrays:
>>> import zarr >>> z = zarr.create((10000, 10000), >>> chunks=(100, 100), >>> dtype='f8', >>> compressor='default', >>> path='path-where-you-want-zarr-v3-array', >>> zarr_version=3)
Further, you can use z.info to see details about the array you just created:
>>> z.info Name : path-where-you-want-zarr-v3-array Type : zarr.core.Array Data type : float64 Shape : (10000, 10000) Chunk shape : (100, 100) Order : C Read-only : False Compressor : Blosc(cname='lz4', clevel=5, shuffle=SHUFFLE, blocksize=0) Store type : zarr._storage.v3.KVStoreV3 No. bytes : 800000000 (762.9M) No. bytes stored : 557 Storage ratio : 1436265.7 Chunks initialized : 0/10000
You can also check Store type here (which indicates Zarr V3).
.. module:: zarr._storage.v3
.. autoclass:: RmdirV3
.. autoclass:: KVStoreV3
.. autoclass:: FSStoreV3
.. autoclass:: MemoryStoreV3
.. autoclass:: DirectoryStoreV3
.. autoclass:: ZipStoreV3
.. autoclass:: RedisStoreV3
.. autoclass:: MongoDBStoreV3
.. autoclass:: DBMStoreV3
.. autoclass:: LMDBStoreV3
.. autoclass:: SQLiteStoreV3
.. autoclass:: LRUStoreCacheV3
.. autoclass:: ConsolidatedMetadataStoreV3
In v3 storage transformers
can be set via zarr.create(…, storage_transformers=[…]).
The experimental sharding storage transformer can be tested by setting
the environment variable ZARR_V3_SHARDING=1. Data written with this flag
enabled should be expected to become stale until
ZEP 2 is approved
and fully implemented.
.. module:: zarr._storage.v3_storage_transformers
.. autoclass:: ShardingStorageTransformer
The abstract base class for storage transformers is
.. module:: zarr._storage.store
.. autoclass:: StorageTransformer