An implementation of chunked, compressed, N-dimensional arrays for Python
Configuration system and utility functions for zarr settings, metadata management, and debugging operations.
config: ConfigGlobal configuration object for zarr settings.
Key configuration areas:
array.*: Array creation defaultscodecs.*: Codec configurationsstorage.*: Storage backend settingsMethods:
config.get(key): Get configuration valueconfig.set(settings_dict): Update configurationconfig.update(settings_dict): Merge configuration updatesdef consolidate_metadata(
store: StoreLike,
path: str = None,
zarr_format: int = None
) -> GroupConsolidate metadata of all nodes in a hierarchy for improved performance.
def copy(
source: Union[Array, Group, StoreLike],
dest: Union[Array, Group, StoreLike],
name: str = None,
chunk_store: StoreLike = None,
if_exists: str = 'raise',
**kwargs
) -> tuple[int, int, int]Copy arrays or groups between storage locations.
def copy_all(
source: StoreLike,
dest: StoreLike,
**kwargs
) -> tuple[int, int, int]Copy all arrays and groups from source to destination.
def copy_store(
source: StoreLike,
dest: StoreLike,
**kwargs
) -> tuple[int, int, int]Copy entire store contents.
__version__: strThe zarr package version string.
def tree(
grp: Group,
expand: bool = None,
level: int = None
) -> AnyDisplay tree representation of group hierarchy.
def print_debug_info() -> NonePrint version and dependency information for debugging.
import zarr
# Check zarr version
print(f"zarr version: {zarr.__version__}")
# Use in version checks
if zarr.__version__ >= '3.0.0':
print("Using zarr v3 features")import zarr
from zarr.codecs import BloscCodec
# View current configuration
print(zarr.config.get('array.v2_default_compressor'))
# Update global settings
zarr.config.set({
'array.v2_default_compressor.numeric': 'zstd',
'array.order': 'F'
})
# Configure default codecs
zarr.config.set({
'codecs.blosc': 'zarr.codecs.BloscCodec',
'codecs.blosc.cname': 'zstd',
'codecs.blosc.clevel': 3
})# Create group with many arrays
grp = zarr.group('large_dataset.zarr')
for i in range(100):
grp.create_array(f'array_{i}', shape=(100, 100))
# Consolidate metadata for faster access
consolidated = zarr.consolidate_metadata('large_dataset.zarr')
# Opening consolidated group is much faster
fast_grp = zarr.open_consolidated('large_dataset.zarr')# Copy data between stores
source = zarr.open('source_data.zarr')
dest_store = zarr.storage.LocalStore('backup/')
zarr.copy(source, dest_store)
# Tree visualization
grp = zarr.open_group('complex_dataset.zarr')
print(zarr.tree(grp, expand=True))Install with Tessl CLI
npx tessl i tessl/pypi-zarr