-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Description
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "zarr @ git+https://github.com/zarr-developers/zarr-python.git@27615fd",
# "numcodecs==0.16.1"
# ]
# ///
import zarr
import numpy as np
import numcodecs
arr = np.array([('19000101', 123), ('19021201', 321)], dtype=[('date', 'datetime64[D]'), ('num', 'i8')])
z = zarr.create_array(store={}, data=arr, compressors=numcodecs.Zstd(), zarr_format=2)
print(z)
# <zarr.core.Array (2,) [('date', '<M8[D]'), ('num', '<i8')]>
this errors with
File "/home/bennettd/dev/zarr-python/test.py", line 12, in <module>
z = zarr.create_array(store={}, data=arr, compressors=numcodecs.Zstd(), zarr_format=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/api/synchronous.py", line 894, in create_array
sync(
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/sync.py", line 163, in sync
raise return_result
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/sync.py", line 119, in _runner
return await coro
^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/array.py", line 4449, in create_array
return await from_array(
^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/array.py", line 4083, in from_array
await concurrent_map(
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 78, in concurrent_map
return await asyncio.gather(*[asyncio.ensure_future(run(item)) for item in items])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 76, in run
return await func(*item)
^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/array.py", line 4080, in _copy_arraylike_region
await result.setitem(chunk_coords, _data[chunk_coords])
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/array.py", line 1507, in setitem
return await self._set_selection(indexer, value, prototype=prototype)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/array.py", line 1446, in _set_selection
await self.codec_pipeline.write(
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/codec_pipeline.py", line 481, in write
await concurrent_map(
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 78, in concurrent_map
return await asyncio.gather(*[asyncio.ensure_future(run(item)) for item in items])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 76, in run
return await func(*item)
^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/codec_pipeline.py", line 416, in write_batch
chunk_bytes_batch = await self.encode_batch(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/codec_pipeline.py", line 223, in encode_batch
chunk_bytes_batch = await self.array_bytes_codec.encode(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/abc/codec.py", line 157, in encode
return await _batching_helper(self._encode_single, chunks_and_specs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/abc/codec.py", line 414, in _batching_helper
return await concurrent_map(
^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 78, in concurrent_map
return await asyncio.gather(*[asyncio.ensure_future(run(item)) for item in items])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/core/common.py", line 76, in run
return await func(*item)
^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/abc/codec.py", line 427, in wrap
return await func(chunk, chunk_spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/uv/archive-v0/Egb4S2utEbE0hxDA6XufL/lib/python3.11/site-packages/zarr/codecs/_v2.py", line 96, in _encode_single
cdata = await asyncio.to_thread(self.compressor.encode, chunk)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/pyapp/distributions/_11600656464259912759/python/lib/python3.11/asyncio/threads.py", line 25, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/bennettd/.cache/pyapp/distributions/_11600656464259912759/python/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "numcodecs/zstd.pyx", line 257, in numcodecs.zstd.Zstd.encode
File "numcodecs/zstd.pyx", line 106, in numcodecs.zstd.compress
File "numcodecs/compat_ext.pyx", line 16, in numcodecs.compat_ext.ensure_continguous_memoryview
ValueError: cannot include dtype 'M' in a buffer
older versions of numcodecs are OK, so this is likely a side effect of the recent memoryview changes
Metadata
Metadata
Assignees
Labels
No labels