@@ -680,10 +680,10 @@ async def _create_v2(
680680 dimension_separator = "."
681681
682682 dtype = parse_dtype (dtype , zarr_format = 2 )
683- # if not filters:
684- # filters = _default_filters(dtype)
685- # if not compressor:
686- # compressor = _default_compressor(dtype)
683+ if not filters :
684+ filters = _default_filters (dtype )
685+ if not compressor :
686+ compressor = _default_compressor (dtype )
687687
688688 # inject VLenUTF8 for str dtype if not already present
689689 if np .issubdtype (dtype , np .str_ ):
@@ -3528,10 +3528,10 @@ async def create_array(
35283528 dtype : npt .DTypeLike ,
35293529 chunks : ChunkCoords | Literal ["auto" ] = "auto" ,
35303530 shards : ShardsParam | None = None ,
3531- filters : FiltersParam = "auto" ,
3531+ filters : FiltersParam | None = "auto" ,
35323532 compressors : CompressorsParam = "auto" ,
3533- array_bytes_codec : ArrayBytesCodecParam | None = "auto" ,
3534- fill_value : Any | None = 0 ,
3533+ array_bytes_codec : ArrayBytesCodecParam = "auto" ,
3534+ fill_value : Any | None = None ,
35353535 order : MemoryOrder | None = None ,
35363536 zarr_format : ZarrFormat | None = 3 ,
35373537 attributes : dict [str , JSON ] | None = None ,
@@ -3665,6 +3665,9 @@ async def create_array(
36653665 )
36663666
36673667 raise ValueError (msg )
3668+ if array_bytes_codec != "auto" :
3669+ raise ValueError ("Zarr v2 arrays do not support `array_bytes_codec`." )
3670+
36683671 filters_parsed , compressor_parsed = _parse_chunk_encoding_v2 (
36693672 compressor = compressors , filters = filters , dtype = np .dtype (dtype )
36703673 )
@@ -3825,7 +3828,7 @@ def _get_default_chunk_encoding_v2(
38253828def _parse_chunk_encoding_v2 (
38263829 * ,
38273830 compressor : CompressorsParam ,
3828- filters : FiltersParam ,
3831+ filters : FiltersParam | None ,
38293832 dtype : np .dtype [Any ],
38303833) -> tuple [tuple [numcodecs .abc .Codec , ...] | None , numcodecs .abc .Codec | None ]:
38313834 """
@@ -3839,11 +3842,7 @@ def _parse_chunk_encoding_v2(
38393842 if compressor == "auto" :
38403843 _compressor = default_compressor
38413844 else :
3842- if (
3843- isinstance (compressor , Iterable )
3844- and not isinstance (compressor , dict )
3845- and len (compressor ) > 1
3846- ):
3845+ if isinstance (compressor , Iterable ) and not isinstance (compressor , dict ):
38473846 msg = f"For Zarr v2 arrays, the `compressor` must be a single codec. Got an iterable with type { type (compressor )} instead."
38483847 raise TypeError (msg )
38493848 _compressor = parse_compressor (compressor )
@@ -3866,7 +3865,7 @@ def _parse_chunk_encoding_v3(
38663865 * ,
38673866 compressors : CompressorsParam | None ,
38683867 filters : FiltersParam | None ,
3869- array_bytes_codec : ArrayBytesCodecParam | None ,
3868+ array_bytes_codec : ArrayBytesCodecParam ,
38703869 dtype : np .dtype [Any ],
38713870) -> tuple [tuple [ArrayArrayCodec , ...], ArrayBytesCodec , tuple [BytesBytesCodec , ...]]:
38723871 """
0 commit comments