MCPcopy Index your code
hub / github.com/pydata/xarray / get_writable_zarr_store

Function get_writable_zarr_store

xarray/backends/writers.py:634–682  ·  view source on GitHub ↗

Create a store for writing to Zarr.

(
    store: ZarrStoreLike | None = None,
    *,
    chunk_store: MutableMapping | str | os.PathLike | None = None,
    mode: ZarrWriteModes | None = None,
    synchronizer=None,
    group: str | None = None,
    consolidated: bool | None = None,
    append_dim: Hashable | None = None,
    region: Mapping[str, slice | Literal["auto"]] | Literal["auto"] | None = None,
    safe_chunks: bool = True,
    align_chunks: bool = False,
    storage_options: dict[str, str] | None = None,
    zarr_version: int | None = None,
    zarr_format: int | None = None,
    write_empty_chunks: bool | None = None,
)

Source from the content-addressed store, hash-verified

632
633
634def get_writable_zarr_store(
635 store: ZarrStoreLike | None = None,
636 *,
637 chunk_store: MutableMapping | str | os.PathLike | None = None,
638 mode: ZarrWriteModes | None = None,
639 synchronizer=None,
640 group: str | None = None,
641 consolidated: bool | None = None,
642 append_dim: Hashable | None = None,
643 region: Mapping[str, slice | Literal["auto"]] | Literal["auto"] | None = None,
644 safe_chunks: bool = True,
645 align_chunks: bool = False,
646 storage_options: dict[str, str] | None = None,
647 zarr_version: int | None = None,
648 zarr_format: int | None = None,
649 write_empty_chunks: bool | None = None,
650) -> backends.ZarrStore:
651 """Create a store for writing to Zarr."""
652 from xarray.backends.zarr import _choose_default_mode, _get_mappers
653
654 kwargs, mapper, chunk_mapper = _get_mappers(
655 storage_options=storage_options, store=store, chunk_store=chunk_store
656 )
657 mode = _choose_default_mode(mode=mode, append_dim=append_dim, region=region)
658
659 if mode == "r+":
660 already_consolidated = consolidated
661 consolidate_on_close = False
662 else:
663 already_consolidated = False
664 consolidate_on_close = consolidated or consolidated is None
665
666 return backends.ZarrStore.open_group(
667 store=mapper,
668 mode=mode,
669 synchronizer=synchronizer,
670 group=group,
671 consolidated=already_consolidated,
672 consolidate_on_close=consolidate_on_close,
673 chunk_store=chunk_mapper,
674 append_dim=append_dim,
675 write_region=region,
676 safe_chunks=safe_chunks,
677 align_chunks=align_chunks,
678 zarr_version=zarr_version,
679 zarr_format=zarr_format,
680 write_empty=write_empty_chunks,
681 **kwargs,
682 )
683
684
685# compute=True returns ZarrStore

Callers 2

to_zarrFunction · 0.85
_datatree_to_zarrFunction · 0.85

Calls 3

_get_mappersFunction · 0.90
_choose_default_modeFunction · 0.90
open_groupMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…