zarr.testing.strategies
=======================

.. py:module:: zarr.testing.strategies


Attributes
----------

.. autoapisummary::

   zarr.testing.strategies.array_names
   zarr.testing.strategies.array_shapes
   zarr.testing.strategies.attrs
   zarr.testing.strategies.compressors
   zarr.testing.strategies.keys
   zarr.testing.strategies.node_names
   zarr.testing.strategies.paths
   zarr.testing.strategies.stores
   zarr.testing.strategies.zarr_formats
   zarr.testing.strategies.zarr_key_chars


Functions
---------

.. autoapisummary::

   zarr.testing.strategies.arrays
   zarr.testing.strategies.basic_indices
   zarr.testing.strategies.is_negative_slice
   zarr.testing.strategies.key_ranges
   zarr.testing.strategies.np_array_and_chunks
   zarr.testing.strategies.numpy_arrays
   zarr.testing.strategies.v2_dtypes
   zarr.testing.strategies.v3_dtypes


Module Contents
---------------

.. py:function:: arrays(*, shapes: hypothesis.strategies.SearchStrategy[tuple[int, Ellipsis]] = array_shapes, compressors: hypothesis.strategies.SearchStrategy = compressors, stores: hypothesis.strategies.SearchStrategy[zarr.storage.StoreLike] = stores, paths: hypothesis.strategies.SearchStrategy[str | None] = paths, array_names: hypothesis.strategies.SearchStrategy = array_names, arrays: hypothesis.strategies.SearchStrategy | None = None, attrs: hypothesis.strategies.SearchStrategy = attrs, zarr_formats: hypothesis.strategies.SearchStrategy = zarr_formats) -> zarr.core.array.Array

.. py:function:: basic_indices(*, shape: tuple[int], **kwargs: Any) -> Any

   
   Basic indices without unsupported negative slices.
















   ..
       !! processed by numpydoc !!

.. py:function:: is_negative_slice(idx: Any) -> bool

.. py:function:: key_ranges(keys: hypothesis.strategies.SearchStrategy = node_names, max_size: int | None = None) -> hypothesis.strategies.SearchStrategy[list[int]]

   
   Function to generate key_ranges strategy for get_partial_values()
   returns list strategy w/ form::

       [(key, (range_start, range_end)),
        (key, (range_start, range_end)),...]















   ..
       !! processed by numpydoc !!

.. py:function:: np_array_and_chunks(*, arrays: hypothesis.strategies.SearchStrategy[numpy.ndarray] = numpy_arrays) -> tuple[numpy.ndarray, tuple[int, Ellipsis]]

   
   A hypothesis strategy to generate small sized random arrays.

   Returns: a tuple of the array and a suitable random chunking for it.















   ..
       !! processed by numpydoc !!

.. py:function:: numpy_arrays(*, shapes: hypothesis.strategies.SearchStrategy[tuple[int, Ellipsis]] = array_shapes, zarr_formats: hypothesis.strategies.SearchStrategy[zarr.core.common.ZarrFormat] = zarr_formats) -> Any

   
   Generate numpy arrays that can be saved in the provided Zarr format.
















   ..
       !! processed by numpydoc !!

.. py:function:: v2_dtypes() -> hypothesis.strategies.SearchStrategy[numpy.dtype]

.. py:function:: v3_dtypes() -> hypothesis.strategies.SearchStrategy[numpy.dtype]

.. py:data:: array_names

.. py:data:: array_shapes

.. py:data:: attrs

.. py:data:: compressors

.. py:data:: keys

.. py:data:: node_names

.. py:data:: paths

.. py:data:: stores

.. py:data:: zarr_formats
   :type:  hypothesis.strategies.SearchStrategy[zarr.core.common.ZarrFormat]

.. py:data:: zarr_key_chars

