1111from zarr .storage import DirectoryStore , init_array , contains_array , contains_group
1212
1313
14- def create (shape , chunks , dtype = None , compression = 'default' ,
14+ def create (shape , chunks = None , dtype = None , compression = 'default' ,
1515 compression_opts = None , fill_value = None , order = 'C' , store = None ,
1616 synchronizer = None , overwrite = False , path = None , chunk_store = None ):
1717 """Create an array.
@@ -20,8 +20,8 @@ def create(shape, chunks, dtype=None, compression='default',
2020 ----------
2121 shape : int or tuple of ints
2222 Array shape.
23- chunks : int or tuple of ints
24- Chunk shape.
23+ chunks : int or tuple of ints, optional
24+ Chunk shape. If not provided, will be guessed from `shape` and `dtype`.
2525 dtype : string or dtype, optional
2626 NumPy dtype.
2727 compression : string, optional
@@ -85,7 +85,7 @@ def create(shape, chunks, dtype=None, compression='default',
8585 return z
8686
8787
88- def empty (shape , chunks , dtype = None , compression = 'default' ,
88+ def empty (shape , chunks = None , dtype = None , compression = 'default' ,
8989 compression_opts = None , order = 'C' , store = None , synchronizer = None ,
9090 path = None , overwrite = False , chunk_store = None ):
9191 """Create an empty array.
@@ -106,7 +106,7 @@ def empty(shape, chunks, dtype=None, compression='default',
106106 chunk_store = chunk_store )
107107
108108
109- def zeros (shape , chunks , dtype = None , compression = 'default' ,
109+ def zeros (shape , chunks = None , dtype = None , compression = 'default' ,
110110 compression_opts = None , order = 'C' , store = None , synchronizer = None ,
111111 path = None , overwrite = False , chunk_store = None ):
112112 """Create an array, with zero being used as the default value for
@@ -136,7 +136,7 @@ def zeros(shape, chunks, dtype=None, compression='default',
136136 overwrite = overwrite , chunk_store = chunk_store )
137137
138138
139- def ones (shape , chunks , dtype = None , compression = 'default' ,
139+ def ones (shape , chunks = None , dtype = None , compression = 'default' ,
140140 compression_opts = None , order = 'C' , store = None , synchronizer = None ,
141141 path = None , overwrite = False , chunk_store = None ):
142142 """Create an array, with one being used as the default value for
@@ -166,7 +166,7 @@ def ones(shape, chunks, dtype=None, compression='default',
166166 chunk_store = chunk_store )
167167
168168
169- def full (shape , chunks , fill_value , dtype = None , compression = 'default' ,
169+ def full (shape , fill_value , chunks = None , dtype = None , compression = 'default' ,
170170 compression_opts = None , order = 'C' , store = None , synchronizer = None ,
171171 path = None , overwrite = False , chunk_store = None ):
172172 """Create an array, with `fill_value` being used as the default value for
@@ -271,8 +271,8 @@ def open_array(path, mode='a', shape=None, chunks=None, dtype=None,
271271 (fail if exists).
272272 shape : int or tuple of ints
273273 Array shape.
274- chunks : int or tuple of ints
275- Chunk shape.
274+ chunks : int or tuple of ints, optional
275+ Chunk shape. If not provided, will be guessed from `shape` and `dtype`.
276276 dtype : string or dtype, optional
277277 NumPy dtype.
278278 compression : string, optional
@@ -387,7 +387,8 @@ def _like_args(a, shape, chunks, dtype, compression, compression_opts, order):
387387 try :
388388 chunks = a .chunks
389389 except AttributeError :
390- raise ValueError ('chunks must be specified' )
390+ # use auto-chunking
391+ pass
391392 if dtype is None :
392393 dtype = a .dtype
393394 if compression is None :
@@ -416,7 +417,7 @@ def empty_like(a, shape=None, chunks=None, dtype=None, compression=None,
416417 shape , chunks , dtype , compression , compression_opts , order = \
417418 _like_args (a , shape , chunks , dtype , compression , compression_opts ,
418419 order )
419- return empty (shape , chunks , dtype = dtype , compression = compression ,
420+ return empty (shape , chunks = chunks , dtype = dtype , compression = compression ,
420421 compression_opts = compression_opts , order = order ,
421422 store = store , synchronizer = synchronizer , path = path ,
422423 overwrite = overwrite , chunk_store = chunk_store )
@@ -430,7 +431,7 @@ def zeros_like(a, shape=None, chunks=None, dtype=None, compression=None,
430431 shape , chunks , dtype , compression , compression_opts , order = \
431432 _like_args (a , shape , chunks , dtype , compression , compression_opts ,
432433 order )
433- return zeros (shape , chunks , dtype = dtype , compression = compression ,
434+ return zeros (shape , chunks = chunks , dtype = dtype , compression = compression ,
434435 compression_opts = compression_opts , order = order ,
435436 store = store , synchronizer = synchronizer , path = path ,
436437 overwrite = overwrite , chunk_store = chunk_store )
@@ -443,7 +444,7 @@ def ones_like(a, shape=None, chunks=None, dtype=None, compression=None,
443444 shape , chunks , dtype , compression , compression_opts , order = \
444445 _like_args (a , shape , chunks , dtype , compression , compression_opts ,
445446 order )
446- return ones (shape , chunks , dtype = dtype , compression = compression ,
447+ return ones (shape , chunks = chunks , dtype = dtype , compression = compression ,
447448 compression_opts = compression_opts , order = order ,
448449 store = store , synchronizer = synchronizer , path = path ,
449450 overwrite = overwrite , chunk_store = chunk_store )
@@ -462,7 +463,7 @@ def full_like(a, shape=None, chunks=None, fill_value=None, dtype=None,
462463 fill_value = a .fill_value
463464 except AttributeError :
464465 raise ValueError ('fill_value must be specified' )
465- return full (shape , chunks , fill_value , dtype = dtype ,
466+ return full (shape , chunks = chunks , fill_value = fill_value , dtype = dtype ,
466467 compression = compression , compression_opts = compression_opts ,
467468 order = order , store = store , synchronizer = synchronizer ,
468469 path = path , overwrite = overwrite , chunk_store = chunk_store )
0 commit comments