Skip to content

Commit f051b7f

Browse files
committed
add argument check
1 parent 8a33df7 commit f051b7f

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/zarr/api/asynchronous.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,8 @@ async def save_array(
393393
_handle_zarr_version_or_format(zarr_version=zarr_version, zarr_format=zarr_format)
394394
or _default_zarr_version()
395395
)
396+
if not isinstance(arr, np.ndarray):
397+
raise TypeError("arr argument must be numpy array")
396398

397399
mode = kwargs.pop("mode", None)
398400
store_path = await make_store_path(store, path=path, mode=mode, storage_options=storage_options)
@@ -443,6 +445,15 @@ async def save_group(
443445
or _default_zarr_version()
444446
)
445447

448+
for arg in args:
449+
if not isinstance(arg, np.ndarray):
450+
raise TypeError(
451+
"All arguments must be numpy arrays (except store, path, storage_options, and zarr_format)"
452+
)
453+
for k, v in kwargs.items():
454+
if not isinstance(v, np.ndarray):
455+
raise TypeError(f"Keyword argument '{k}' must be a numpy array")
456+
446457
if len(args) == 0 and len(kwargs) == 0:
447458
raise ValueError("at least one array must be provided")
448459
aws = []

0 commit comments

Comments
 (0)