Skip to content

Commit

Permalink
Missing mandatory keyword argument shape (zarr-developers#2376)
Browse files Browse the repository at this point in the history
  • Loading branch information
DimitriPapadopoulos authored and d-v-b committed Oct 18, 2024
1 parent 9a9c989 commit df4ab1b
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions src/zarr/core/group.py
Original file line number Diff line number Diff line change
Expand Up @@ -932,7 +932,11 @@ async def create_array(

@deprecated("Use AsyncGroup.create_array instead.")
async def create_dataset(
self, name: str, **kwargs: Any
self,
name: str,
*,
shape: ShapeLike,
**kwargs: Any,
) -> AsyncArray[ArrayV2Metadata] | AsyncArray[ArrayV3Metadata]:
"""Create an array.
Expand All @@ -943,6 +947,8 @@ async def create_dataset(
----------
name : str
Array name.
shape : int or tuple of ints
Array shape.
kwargs : dict
Additional arguments passed to :func:`zarr.AsyncGroup.create_array`.
Expand All @@ -953,7 +959,7 @@ async def create_dataset(
.. deprecated:: 3.0.0
The h5py compatibility methods will be removed in 3.1.0. Use `AsyncGroup.create_array` instead.
"""
return await self.create_array(name, **kwargs)
return await self.create_array(name, shape=shape, **kwargs)

@deprecated("Use AsyncGroup.require_array instead.")
async def require_dataset(
Expand Down Expand Up @@ -1621,7 +1627,13 @@ def create_dataset(self, name: str, **kwargs: Any) -> Array:
return Array(self._sync(self._async_group.create_dataset(name, **kwargs)))

@deprecated("Use Group.require_array instead.")
def require_dataset(self, name: str, **kwargs: Any) -> Array:
def require_dataset(
self,
name: str,
*,
shape: ShapeLike,
**kwargs: Any,
) -> Array:
"""Obtain an array, creating if it doesn't exist.
Arrays are known as "datasets" in HDF5 terminology. For compatibility
Expand All @@ -1648,9 +1660,15 @@ def require_dataset(self, name: str, **kwargs: Any) -> Array:
.. deprecated:: 3.0.0
The h5py compatibility methods will be removed in 3.1.0. Use `Group.require_array` instead.
"""
return Array(self._sync(self._async_group.require_array(name, **kwargs)))
return Array(self._sync(self._async_group.require_array(name, shape=shape, **kwargs)))

def require_array(self, name: str, **kwargs: Any) -> Array:
def require_array(
self,
name: str,
*,
shape: ShapeLike,
**kwargs: Any,
) -> Array:
"""Obtain an array, creating if it doesn't exist.
Expand All @@ -1672,7 +1690,7 @@ def require_array(self, name: str, **kwargs: Any) -> Array:
-------
a : Array
"""
return Array(self._sync(self._async_group.require_array(name, **kwargs)))
return Array(self._sync(self._async_group.require_array(name, shape=shape, **kwargs)))

def empty(self, *, name: str, shape: ChunkCoords, **kwargs: Any) -> Array:
return Array(self._sync(self._async_group.empty(name=name, shape=shape, **kwargs)))
Expand Down

0 comments on commit df4ab1b

Please sign in to comment.