numcodecs 0.15.1__cp313-cp313-win_amd64.whl → 0.16.0__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of numcodecs might be problematic. Click here for more details.

numcodecs/__init__.py CHANGED
@@ -51,7 +51,7 @@ except OSError: # pragma: no cover
51
51
  ncores = 1
52
52
  blosc._init()
53
53
  blosc.set_nthreads(min(8, ncores))
54
- atexit.register(blosc.destroy)
54
+ atexit.register(blosc._destroy)
55
55
 
56
56
  from numcodecs import zstd as zstd
57
57
  from numcodecs.zstd import Zstd
Binary file
Binary file
numcodecs/checksum32.py CHANGED
@@ -1,11 +1,12 @@
1
+ import abc
1
2
  import struct
2
3
  import zlib
3
- from collections.abc import Callable
4
4
  from contextlib import suppress
5
5
  from types import ModuleType
6
- from typing import TYPE_CHECKING, Literal, Optional
6
+ from typing import Literal, Optional
7
7
 
8
8
  import numpy as np
9
+ from typing_extensions import Buffer
9
10
 
10
11
  from .abc import Codec
11
12
  from .compat import ensure_contiguous_ndarray, ndarray_copy
@@ -15,15 +16,11 @@ _crc32c: Optional[ModuleType] = None
15
16
  with suppress(ImportError):
16
17
  import crc32c as _crc32c # type: ignore[no-redef, unused-ignore]
17
18
 
18
- if TYPE_CHECKING: # pragma: no cover
19
- from typing_extensions import Buffer
20
-
21
19
  CHECKSUM_LOCATION = Literal['start', 'end']
22
20
 
23
21
 
24
- class Checksum32(Codec):
22
+ class Checksum32(Codec, abc.ABC):
25
23
  # override in sub-class
26
- checksum: Callable[["Buffer", int], int] | None = None
27
24
  location: CHECKSUM_LOCATION = 'start'
28
25
 
29
26
  def __init__(self, location: CHECKSUM_LOCATION | None = None):
@@ -67,6 +64,10 @@ class Checksum32(Codec):
67
64
  )
68
65
  return ndarray_copy(payload_view, out)
69
66
 
67
+ @staticmethod
68
+ @abc.abstractmethod
69
+ def checksum(data: Buffer, value: int) -> int: ...
70
+
70
71
 
71
72
  class CRC32(Checksum32):
72
73
  """Codec add a crc32 checksum to the buffer.
@@ -78,9 +79,15 @@ class CRC32(Checksum32):
78
79
  """
79
80
 
80
81
  codec_id = 'crc32'
81
- checksum = zlib.crc32
82
82
  location = 'start'
83
83
 
84
+ @staticmethod
85
+ def checksum(data: Buffer, value: int = 0) -> int:
86
+ """
87
+ Thin wrapper around ``zlib.crc32``.
88
+ """
89
+ return zlib.crc32(data, value)
90
+
84
91
 
85
92
  class Adler32(Checksum32):
86
93
  """Codec add a adler32 checksum to the buffer.
@@ -92,9 +99,15 @@ class Adler32(Checksum32):
92
99
  """
93
100
 
94
101
  codec_id = 'adler32'
95
- checksum = zlib.adler32
96
102
  location = 'start'
97
103
 
104
+ @staticmethod
105
+ def checksum(data: Buffer, value: int = 1) -> int:
106
+ """
107
+ Thin wrapper around ``zlib.adler32``.
108
+ """
109
+ return zlib.adler32(data, value)
110
+
98
111
 
99
112
  class JenkinsLookup3(Checksum32):
100
113
  """Bob Jenkin's lookup3 checksum with 32-bit output
Binary file
Binary file
Binary file
Binary file
numcodecs/tests/common.py CHANGED
@@ -115,74 +115,6 @@ def check_encode_decode(arr, codec, precision=None):
115
115
  compare_arrays(arr, out, precision=precision)
116
116
 
117
117
 
118
- def check_encode_decode_partial(arr, codec, precision=None):
119
- # N.B., watch out here with blosc compressor, if the itemsize of
120
- # the source buffer is different then the results of encoding
121
- # (i.e., compression) may be different. Hence we *do not* require that
122
- # the results of encoding be identical for all possible inputs, rather
123
- # we just require that the results of the encode/decode round-trip can
124
- # be compared to the original array.
125
-
126
- itemsize = arr.itemsize
127
- start, nitems = 5, 10
128
- compare_arr = arr[start : start + nitems]
129
- # test encoding of numpy array
130
- enc = codec.encode(arr)
131
- dec = codec.decode_partial(enc, start, nitems)
132
- compare_arrays(compare_arr, dec, precision=precision)
133
-
134
- # out = np.empty_like(compare_arr)
135
- out = np.empty_like(compare_arr)
136
- print(len(out))
137
-
138
- # test partial decode of encoded bytes
139
- buf = arr.tobytes(order='A')
140
- enc = codec.encode(buf)
141
- dec = codec.decode_partial(enc, start * itemsize, nitems * itemsize, out=out)
142
- compare_arrays(compare_arr, dec, precision=precision)
143
-
144
- # test partial decode of encoded bytearray
145
- buf = bytearray(arr.tobytes(order='A'))
146
- enc = codec.encode(buf)
147
- dec = codec.decode_partial(enc, start * itemsize, nitems * itemsize, out=out)
148
- compare_arrays(compare_arr, dec, precision=precision)
149
-
150
- # test partial decode of encoded array.array
151
- buf = array.array('b', arr.tobytes(order='A'))
152
- enc = codec.encode(buf)
153
- dec = codec.decode_partial(enc, start * itemsize, nitems * itemsize, out=out)
154
- compare_arrays(compare_arr, dec, precision=precision)
155
-
156
- # # decoding should support any object exporting the buffer protocol,
157
-
158
- # # setup
159
- enc_bytes = ensure_bytes(enc)
160
-
161
- # test decoding of raw bytes into numpy array
162
- dec = codec.decode_partial(enc_bytes, start * itemsize, nitems * itemsize, out=out)
163
- compare_arrays(compare_arr, dec, precision=precision)
164
-
165
- # test partial decoding of bytearray
166
- dec = codec.decode_partial(bytearray(enc_bytes), start * itemsize, nitems * itemsize, out=out)
167
- compare_arrays(compare_arr, dec, precision=precision)
168
-
169
- # test partial decoding of array.array
170
- buf = array.array('b', enc_bytes)
171
- dec = codec.decode_partial(buf, start * itemsize, nitems * itemsize, out=out)
172
- compare_arrays(compare_arr, dec, precision=precision)
173
-
174
- # test decoding of numpy array into numpy array
175
- buf = np.frombuffer(enc_bytes, dtype='u1')
176
- dec = codec.decode_partial(buf, start * itemsize, nitems * itemsize, out=out)
177
- compare_arrays(compare_arr, dec, precision=precision)
178
-
179
- # test decoding directly into bytearray
180
- out = bytearray(compare_arr.nbytes)
181
- codec.decode_partial(enc_bytes, start * itemsize, nitems * itemsize, out=out)
182
- # noinspection PyTypeChecker
183
- compare_arrays(compare_arr, out, precision=precision)
184
-
185
-
186
118
  def assert_array_items_equal(res, arr):
187
119
  assert isinstance(res, np.ndarray)
188
120
  res = res.reshape(-1, order='A')
@@ -15,7 +15,6 @@ from numcodecs.tests.common import (
15
15
  check_backwards_compatibility,
16
16
  check_config,
17
17
  check_encode_decode,
18
- check_encode_decode_partial,
19
18
  check_err_decode_object_buffer,
20
19
  check_err_encode_object_buffer,
21
20
  check_max_buffer_size,
@@ -75,19 +74,6 @@ def test_encode_decode(array, codec):
75
74
  check_encode_decode(array, codec)
76
75
 
77
76
 
78
- @pytest.mark.parametrize('codec', codecs)
79
- @pytest.mark.parametrize(
80
- 'array',
81
- [
82
- pytest.param(x) if len(x.shape) == 1 else pytest.param(x, marks=[pytest.mark.xfail])
83
- for x in arrays
84
- ],
85
- )
86
- def test_partial_decode(codec, array):
87
- _skip_null(codec)
88
- check_encode_decode_partial(array, codec)
89
-
90
-
91
77
  def test_config():
92
78
  codec = Blosc(cname='zstd', clevel=3, shuffle=1)
93
79
  check_config(codec)
@@ -273,3 +259,26 @@ def test_max_buffer_size():
273
259
  _skip_null(codec)
274
260
  assert codec.max_buffer_size == 2**31 - 1
275
261
  check_max_buffer_size(codec)
262
+
263
+
264
+ def test_typesize_explicit():
265
+ arr = np.arange(100).astype("int64")
266
+ itemsize = arr.itemsize
267
+ codec_no_type_size = Blosc(shuffle=Blosc.SHUFFLE)
268
+ codec_itemsize = Blosc(shuffle=Blosc.SHUFFLE, typesize=itemsize)
269
+ encoded_without_itemsize = codec_no_type_size.encode(arr.tobytes())
270
+ encoded_with_itemsize = codec_itemsize.encode(arr.tobytes())
271
+ # third byte encodes the `typesize`
272
+ assert encoded_without_itemsize[3] == 1 # inferred from bytes i.e., 1
273
+ assert encoded_with_itemsize[3] == itemsize # given as a constructor argument
274
+
275
+
276
+ def test_typesize_less_than_1():
277
+ with pytest.raises(ValueError, match=r"Cannot use typesize"):
278
+ Blosc(shuffle=Blosc.SHUFFLE, typesize=0)
279
+ compressor = Blosc(shuffle=Blosc.SHUFFLE)
280
+ # not really something that should be done in practice, but good for testing.
281
+ compressor.typesize = 0
282
+ arr = np.arange(100)
283
+ with pytest.raises(ValueError, match=r"Cannot use typesize"):
284
+ compressor.encode(arr.tobytes())
@@ -1,3 +1,4 @@
1
+ import sys
1
2
  import unittest
2
3
 
3
4
  import numpy as np
@@ -86,7 +87,7 @@ def test_decode_errors():
86
87
 
87
88
  # TODO: fix this test on GitHub actions somehow...
88
89
  # See https://github.com/zarr-developers/numcodecs/issues/683
89
- @pytest.mark.skip("Test is failing on GitHub actions.")
90
+ @pytest.mark.skipif(sys.platform == "darwin", reason="Test is failing on macOS on GitHub actions.")
90
91
  def test_encode_none():
91
92
  a = np.array([b'foo', None, b'bar'], dtype=object)
92
93
  codec = VLenBytes()
numcodecs/version.py CHANGED
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '0.15.1'
16
- __version_tuple__ = version_tuple = (0, 15, 1)
20
+ __version__ = version = '0.16.0'
21
+ __version_tuple__ = version_tuple = (0, 16, 0)
Binary file
numcodecs/zarr3.py CHANGED
@@ -286,7 +286,7 @@ class Delta(_NumcodecsArrayArrayCodec):
286
286
 
287
287
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
288
288
  if astype := self.codec_config.get("astype"):
289
- return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[arg-type]
289
+ return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[call-overload]
290
290
  return chunk_spec
291
291
 
292
292
 
@@ -304,7 +304,7 @@ class FixedScaleOffset(_NumcodecsArrayArrayCodec):
304
304
 
305
305
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
306
306
  if astype := self.codec_config.get("astype"):
307
- return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[arg-type]
307
+ return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[call-overload]
308
308
  return chunk_spec
309
309
 
310
310
  def evolve_from_array_spec(self, array_spec: ArraySpec) -> FixedScaleOffset:
Binary file
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: numcodecs
3
- Version: 0.15.1
3
+ Version: 0.16.0
4
4
  Summary: A Python package providing buffer compression and transformation codecs for use in data storage and communication applications.
5
5
  Maintainer-email: Alistair Miles <alimanfoo@googlemail.com>
6
6
  License: MIT
@@ -22,7 +22,7 @@ Requires-Python: >=3.11
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: LICENSE.txt
24
24
  Requires-Dist: numpy>=1.24
25
- Requires-Dist: deprecated
25
+ Requires-Dist: typing_extensions
26
26
  Provides-Extra: docs
27
27
  Requires-Dist: sphinx; extra == "docs"
28
28
  Requires-Dist: sphinx-issues; extra == "docs"
@@ -42,6 +42,7 @@ Provides-Extra: pcodec
42
42
  Requires-Dist: pcodec<0.4,>=0.3; extra == "pcodec"
43
43
  Provides-Extra: crc32c
44
44
  Requires-Dist: crc32c>=2.7; extra == "crc32c"
45
+ Dynamic: license-file
45
46
 
46
47
  Numcodecs
47
48
  =========
@@ -1,23 +1,23 @@
1
- numcodecs/__init__.py,sha256=IdxAMSfHMK0HLqtxa_vUKy2nUHXxCgojJJRsCzXc6SQ,3249
2
- numcodecs/_shuffle.cp313-win_amd64.pyd,sha256=gwyMdCxES6UQoaDbbXXTjXelISLeB8l1ZXj3kkmBrBc,136704
1
+ numcodecs/__init__.py,sha256=zcO3_tRbWzdbtZQniKvnleQ8U6wZcLtNLRXvzYjESAg,3250
2
+ numcodecs/_shuffle.cp313-win_amd64.pyd,sha256=EkJpQ6_XjLzWCHmUdblP_fPhWzk1KRtZjXrkvPIlV4Q,136704
3
3
  numcodecs/abc.py,sha256=WWOjzavsAAcAxu-POPfiojYFfl94u9xE4RWAcRdRCbw,4631
4
4
  numcodecs/astype.py,sha256=ZoI9ev-r2Q5Xw7NZN1xoZ9tYhq80XoeL-F15KfJhDIA,2171
5
5
  numcodecs/base64.py,sha256=Da-KRfgXZ5j5Dn5AjidclQp9BXcAdx_ZR_a60FzFPWQ,778
6
6
  numcodecs/bitround.py,sha256=m9gysWTzZH_MA0H7oI3dfBIZh66yxHM4gik8aq6xA_0,2925
7
- numcodecs/blosc.cp313-win_amd64.pyd,sha256=bJrWcyQnwzB-YOrtfo-F58u6MSGvM4LV6uG61TSjmgI,610816
7
+ numcodecs/blosc.cp313-win_amd64.pyd,sha256=ck1nL2Xg3NwrI8PzbplFJydFtBAxxCYIL7LxdrTjPYU,577536
8
8
  numcodecs/bz2.py,sha256=bS0L4XqzJDw6pU4MUuEF8UgFOHw6mErnqCXZVg8TEiI,1219
9
9
  numcodecs/categorize.py,sha256=jwx8H_EXMEY3CSSWjYt5wzoduFwv-44v_Kjqxe-jo4Q,3046
10
- numcodecs/checksum32.py,sha256=ZIYm_eAMLZEw2Nj87Y3dckuy8Vtm69ZoRMq_NgiVfTU,5620
10
+ numcodecs/checksum32.py,sha256=FAA1N6agDIxE8OMcyusjqGLFy5vyxzsxnARsfhOXeTQ,5909
11
11
  numcodecs/compat.py,sha256=ghz0-UpxV0q_mAaiZLZv6BBhJNNLeLTDGirO4Oda_ZM,6711
12
- numcodecs/compat_ext.cp313-win_amd64.pyd,sha256=WoqFXvedkizG_g1_-R_KlEGqddD47vuz4bjRnYP_3bU,33280
12
+ numcodecs/compat_ext.cp313-win_amd64.pyd,sha256=ZK1WFNpJPfeHFGnfg9wGHHJmqs_DwTBqSPiNLkKCUpg,22016
13
13
  numcodecs/delta.py,sha256=cSU6M1hT6q_ZNdyW3zkbcPsyviZsc9OJ5nZLBOpnwxc,2885
14
14
  numcodecs/errors.py,sha256=Acfi3-rFKs93QM3-fcS7vo2qGvocLXwWnA0HhuOwGqk,689
15
15
  numcodecs/fixedscaleoffset.py,sha256=mjIakyHT5cY38o7gE-9f99SjPJRVAxYkyOJ0h9OnyKE,4318
16
- numcodecs/fletcher32.cp313-win_amd64.pyd,sha256=AQjSY75ZV04BXsfcVk_yHeUTbNDSITTVbzfTRLSOzqA,157696
16
+ numcodecs/fletcher32.cp313-win_amd64.pyd,sha256=gI72oyVMxdkHQmdjha4ld6ireFP0E6JMc2il5uRsR4o,158208
17
17
  numcodecs/gzip.py,sha256=w7TpS4sorX36J7L4Izs8BszU7ZH-Mks455Ai-QHWZrs,1486
18
- numcodecs/jenkins.cp313-win_amd64.pyd,sha256=1pr-u8uc_l50pTgMeaxyFl2EvHLpEsqDWe9ecYFavX4,147456
18
+ numcodecs/jenkins.cp313-win_amd64.pyd,sha256=gqcaDLo4fL8SpoF3KN_ZQxWYXTCXPppQ96pIR__HEkM,147456
19
19
  numcodecs/json.py,sha256=dFoZcpBSY3fU-4p4x1DjI3mtr-reRlsMSJ7Aiwy_sgI,3500
20
- numcodecs/lz4.cp313-win_amd64.pyd,sha256=_2LnI9FgZoqDFV9NqPf5hQNRkKayu_uiWH12HQmTXnE,70656
20
+ numcodecs/lz4.cp313-win_amd64.pyd,sha256=0kmXyNBDIQdX7yVJq4EMufnS2CoFpH_SlNUHCcEJHxs,70144
21
21
  numcodecs/lzma.py,sha256=N01IBcCZKiMS0fPB75157inIhuZkVNFcW3Xf96mmWJ8,2329
22
22
  numcodecs/msgpacks.py,sha256=a6do5fvFqnSXOadxajtw-uq7UdcUsWUY-hTDv8HCx08,2705
23
23
  numcodecs/ndarray_like.py,sha256=M6n00SC1h_SgN0enXClkKMFeE4z-AewLAYVbq56Vl2A,1948
@@ -27,18 +27,18 @@ numcodecs/pickles.py,sha256=Yh8hCg-ETdLWM5MjCy5vPW8E8_3DCjyvOPoKtvbr1ZU,1345
27
27
  numcodecs/quantize.py,sha256=hHzsMgFtJGDHrYRjdFqNBJ2wit9I45y59Uqc5pUjIWQ,3114
28
28
  numcodecs/registry.py,sha256=IlPYY8RlVZgRid2j-S7SxnhCMq4y9cxQwQMGCy7lgbI,1938
29
29
  numcodecs/shuffle.py,sha256=ty-NJ1bIgsErwmTyJtspSgrrJ4PspQjp6Hb-U2M17hY,1636
30
- numcodecs/version.py,sha256=N9lUWBZ0Ree-hUkAarPhWZOx0C9_k2y1HZaFAacE5Zg,429
31
- numcodecs/vlen.cp313-win_amd64.pyd,sha256=JCryunig8ImkjmNITUT_3iZCm01r3awNZzWMOZL87FM,201216
32
- numcodecs/zarr3.py,sha256=JX_LrNQFp26nlOEcS2nnxau5t8HYBV28ckVC8008ojA,15066
30
+ numcodecs/version.py,sha256=UI27vZYI4Odzb3grW5XGmxsuhe_RRgOAIP6TwGte-30,534
31
+ numcodecs/vlen.cp313-win_amd64.pyd,sha256=HoJEftHtOw3zISFY6wi1ZrVwro-7kBAncqumRcz-CYM,201216
32
+ numcodecs/zarr3.py,sha256=elEXBPv7uKWp-jSJadsEQtMGOy9Gk9Pu2JpQ-Qgo6eY,15076
33
33
  numcodecs/zfpy.py,sha256=SP6zPdXwSrZzu_iuudoSZGBuE6IvXWdvJri1fgz-4nY,4013
34
34
  numcodecs/zlib.py,sha256=C5TO2qRPyG6SY25lmB9qeFh6yr4IRAqHz0v4RaPvygE,1091
35
- numcodecs/zstd.cp313-win_amd64.pyd,sha256=E9jwmQwt8Csut3ZEdClB1hESbPJhBpsWKnB1EIC0mbk,447488
35
+ numcodecs/zstd.cp313-win_amd64.pyd,sha256=G576dvkB-VeMkVqVGuFYM7OkFBSG1MIeGBsDipLeJ3s,446976
36
36
  numcodecs/tests/__init__.py,sha256=W7MDbDAXcjl7fVmolo3U_30rFkOCb6mWQ8vcByUpu8g,75
37
- numcodecs/tests/common.py,sha256=jxox32_wMnqwiBi6Ibz32-5lDXtlOaMVq5B-CUgtAbc,12537
37
+ numcodecs/tests/common.py,sha256=GzKQpkEaK9jzgDzPR6pEv440BnI2y55e3QggLIOVZ_c,9621
38
38
  numcodecs/tests/test_astype.py,sha256=m-l8k4q8jSZrIqviASKxYsaPzzuBG_Y4tUNlIigYbco,2441
39
39
  numcodecs/tests/test_base64.py,sha256=znf-cMk2JBW3vjcZu7CpC2b9wIiIzBPwfmHX_WlkZ1o,2396
40
40
  numcodecs/tests/test_bitround.py,sha256=idosc7MlWLWoA93jFFPgfKk1WzazmaLqH3gzCsVV0F0,2430
41
- numcodecs/tests/test_blosc.py,sha256=PwvxL1d0bI8VY5KFUKuwyL5A2QqpwUbhJSma4V_w5KY,9129
41
+ numcodecs/tests/test_blosc.py,sha256=8erufKBh4_qHgxGubWimzSy8Yt-IalrH0a1yp-BuDDc,9780
42
42
  numcodecs/tests/test_bz2.py,sha256=iH9BPZ8wtXCEfq52RXOqQ9bmQsTMiy3uujIKNpi2Mqs,1955
43
43
  numcodecs/tests/test_categorize.py,sha256=wug4Im375r3nM1oTIrDVW5woZiZDCsp5uE1Fz6qwIkI,2843
44
44
  numcodecs/tests/test_checksum32.py,sha256=1ZbJrUXPFAPZdmKYso0u0lHBUBtdyA-mfiQdmXRqdqs,4755
@@ -62,7 +62,7 @@ numcodecs/tests/test_quantize.py,sha256=muD4zwQSa4XM4jPO3qXu8rMdoU4eHCpVfQ8z0G7Z
62
62
  numcodecs/tests/test_registry.py,sha256=Ar_Op6MIEm8MTxzBPgjtMrWXA5EhYm7JnM-Yab79zrY,1159
63
63
  numcodecs/tests/test_shuffle.py,sha256=25AOv67ip0EroQyufgWZXPYueA4p4HZcctwTTFeT5Q0,4825
64
64
  numcodecs/tests/test_vlen_array.py,sha256=sUwLaza31Yo0IMnmKCGykRPaB3ha7i0ImiCY9yvHS9o,2574
65
- numcodecs/tests/test_vlen_bytes.py,sha256=--iq7kzkb-ynZQHRAbIInaezjBNW2H26v3kLmGnzyeM,2738
65
+ numcodecs/tests/test_vlen_bytes.py,sha256=ni0Qv0A_lx8-dAzEJXrnUJyfLNXp7B2G274nKjpIY44,2794
66
66
  numcodecs/tests/test_vlen_utf8.py,sha256=X0nBvLv1hVDHGz3pIRMP4rVs75lAkXGUb0cRcfZM1Ss,2565
67
67
  numcodecs/tests/test_zarr3.py,sha256=awcNOFFUmTZ0wer2G8gOIXl9kETWwkByRonH54XodJo,8762
68
68
  numcodecs/tests/test_zarr3_import.py,sha256=enI8IqSnTynihEQ2mh95UdTZ5Gb8m9Wock6gbg3iLYs,345
@@ -70,10 +70,10 @@ numcodecs/tests/test_zfpy.py,sha256=lSkKcpGg437poMRQ88EDYdbQVIqKmF0Il-ASdlYkkIY,
70
70
  numcodecs/tests/test_zlib.py,sha256=SxgYIyH2bH_eIX7k-9kgPUOXCHEllGPoLSUSn0Qk5rg,2633
71
71
  numcodecs/tests/test_zstd.py,sha256=P-wHnm0wOuclHOoX7danVEvufxKNM3GwYBgHBchzILE,2702
72
72
  numcodecs/tests/package_with_entrypoint/__init__.py,sha256=j0h1AHePXH8ONfd-TMGwKsMW4gBqbgiGOuGP25S9hLE,223
73
- numcodecs-0.15.1.dist-info/LICENSE.txt,sha256=IxxTq7WTy9_G9AbShWjbBcg6x2G3pDlJEIBJN2o95ks,1145
74
- numcodecs-0.15.1.dist-info/METADATA,sha256=xoqk8sTreJch_h6C4tpGFq29FClsATveg19MweR8xDo,2999
75
- numcodecs-0.15.1.dist-info/WHEEL,sha256=6bXTkCllrWLYPW3gCPkeRA91N4604g9hqNhQqZWsUzQ,101
76
- numcodecs-0.15.1.dist-info/entry_points.txt,sha256=3W3FHKrwE52X3fLq8KdioOtf93lh5KaoGV5t2D10DBI,919
77
- numcodecs-0.15.1.dist-info/top_level.txt,sha256=JkHllzt6IuVudg4Tk--wF-yfPPsdVOiMTag1tjGIihw,10
73
+ numcodecs-0.16.0.dist-info/licenses/LICENSE.txt,sha256=IxxTq7WTy9_G9AbShWjbBcg6x2G3pDlJEIBJN2o95ks,1145
74
+ numcodecs-0.16.0.dist-info/METADATA,sha256=EwKFqWblhMctILiyevUlFyBxyVVIl4pvnYIiSMKoT4c,3029
75
+ numcodecs-0.16.0.dist-info/WHEEL,sha256=6WoW_bHwIgUwfRGomr3tsp2x5B1WboZF1vodYe1_93Y,101
76
+ numcodecs-0.16.0.dist-info/entry_points.txt,sha256=3W3FHKrwE52X3fLq8KdioOtf93lh5KaoGV5t2D10DBI,919
77
+ numcodecs-0.16.0.dist-info/top_level.txt,sha256=JkHllzt6IuVudg4Tk--wF-yfPPsdVOiMTag1tjGIihw,10
78
78
  numcodecs/tests/package_with_entrypoint-0.1.dist-info/entry_points.txt,sha256=COk3sfJsTt3T00bA2bcUMCuWEhwkQvf4lPHcBDk34qA,62
79
- numcodecs-0.15.1.dist-info/RECORD,,
79
+ numcodecs-0.16.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-win_amd64
5
5