Skip to content

Commit b16b743

Browse files
dstansbyd-v-b
andauthored
Un-pin numpy (#2552)
* Un-pin numpy * Fix doctests --------- Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com>
1 parent 10a4629 commit b16b743

File tree

3 files changed

+28
-25
lines changed

3 files changed

+28
-25
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ maintainers = [{ name = "Alistair Miles", email = "alimanfoo@googlemail.com" }]
1111
requires-python = ">=3.11"
1212
dependencies = [
1313
'asciitree',
14-
'numpy>=1.24,<2.2',
14+
'numpy>=1.24',
1515
'fasteners; sys_platform != "emscripten"',
1616
'numcodecs>=0.10.0,!=0.14.0,!=0.14.1',
1717
]

zarr/convenience.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131

3232
_builtin_open = open # builtin open is later shadowed by a local open function
3333

34+
__doctest_requires__ = {("*"): ["numpy>=2.2"]}
35+
3436

3537
def _check_and_update_path(store: BaseStore, path):
3638
if getattr(store, "_store_version", 2) > 2 and not path:
@@ -174,13 +176,13 @@ def save_array(store: StoreLike, arr, *, zarr_version=None, path=None, **kwargs)
174176
>>> arr = np.arange(10000)
175177
>>> zarr.save_array('data/example.zarr', arr)
176178
>>> zarr.load('data/example.zarr')
177-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
179+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
178180
179181
Save an array to a single file (uses a :class:`ZipStore`)::
180182
181183
>>> zarr.save_array('data/example.zip', arr)
182184
>>> zarr.load('data/example.zip')
183-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
185+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
184186
185187
"""
186188
may_need_closing = _might_close(store)
@@ -234,9 +236,9 @@ def save_group(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
234236
>>> loader
235237
<LazyLoader: arr_0, arr_1>
236238
>>> loader['arr_0']
237-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
239+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
238240
>>> loader['arr_1']
239-
array([10000, 9999, 9998, ..., 3, 2, 1])
241+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
240242
241243
Save several arrays using named keyword arguments::
242244
@@ -245,9 +247,9 @@ def save_group(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
245247
>>> loader
246248
<LazyLoader: bar, foo>
247249
>>> loader['foo']
248-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
250+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
249251
>>> loader['bar']
250-
array([10000, 9999, 9998, ..., 3, 2, 1])
252+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
251253
252254
Store several arrays in a single zip file (uses a :class:`ZipStore`)::
253255
@@ -256,9 +258,9 @@ def save_group(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
256258
>>> loader
257259
<LazyLoader: bar, foo>
258260
>>> loader['foo']
259-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
261+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
260262
>>> loader['bar']
261-
array([10000, 9999, 9998, ..., 3, 2, 1])
263+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
262264
263265
Notes
264266
-----
@@ -316,13 +318,13 @@ def save(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
316318
>>> arr = np.arange(10000)
317319
>>> zarr.save('data/example.zarr', arr)
318320
>>> zarr.load('data/example.zarr')
319-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
321+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
320322
321323
Save an array to a Zip file (uses a :class:`ZipStore`)::
322324
323325
>>> zarr.save('data/example.zip', arr)
324326
>>> zarr.load('data/example.zip')
325-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
327+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
326328
327329
Save several arrays to a directory on the file system (uses a
328330
:class:`DirectoryStore` and stores arrays in a group)::
@@ -336,9 +338,9 @@ def save(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
336338
>>> loader
337339
<LazyLoader: arr_0, arr_1>
338340
>>> loader['arr_0']
339-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
341+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
340342
>>> loader['arr_1']
341-
array([10000, 9999, 9998, ..., 3, 2, 1])
343+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
342344
343345
Save several arrays using named keyword arguments::
344346
@@ -347,9 +349,9 @@ def save(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
347349
>>> loader
348350
<LazyLoader: bar, foo>
349351
>>> loader['foo']
350-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
352+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
351353
>>> loader['bar']
352-
array([10000, 9999, 9998, ..., 3, 2, 1])
354+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
353355
354356
Store several arrays in a single zip file (uses a :class:`ZipStore`)::
355357
@@ -358,9 +360,9 @@ def save(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
358360
>>> loader
359361
<LazyLoader: bar, foo>
360362
>>> loader['foo']
361-
array([ 0, 1, 2, ..., 9997, 9998, 9999])
363+
array([ 0, 1, 2, ..., 9997, 9998, 9999], shape=(10000,))
362364
>>> loader['bar']
363-
array([10000, 9999, 9998, ..., 3, 2, 1])
365+
array([10000, 9999, 9998, ..., 3, 2, 1], shape=(10000,))
364366
365367
See Also
366368
--------

zarr/core.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
)
6262

6363
__all__ = ["Array"]
64+
__doctest_requires__ = {("*"): ["numpy>=2.2"]}
6465

6566

6667
# noinspection PyUnresolvedReferences
@@ -2793,33 +2794,33 @@ def view(
27932794
>>> a = zarr.array(data, chunks=1000, filters=filters)
27942795
>>> a[:]
27952796
array(['female', 'male', 'female', ..., 'male', 'male', 'female'],
2796-
dtype='<U6')
2797+
shape=(10000,), dtype='<U6')
27972798
>>> v = a.view(dtype='u1', filters=[])
27982799
>>> v.is_view
27992800
True
28002801
>>> v[:]
2801-
array([1, 2, 1, ..., 2, 2, 1], dtype=uint8)
2802+
array([1, 2, 1, ..., 2, 2, 1], shape=(10000,), dtype=uint8)
28022803
28032804
Views can be used to modify data:
28042805
28052806
>>> x = v[:]
28062807
>>> x.sort()
28072808
>>> v[:] = x
28082809
>>> v[:]
2809-
array([1, 1, 1, ..., 2, 2, 2], dtype=uint8)
2810+
array([1, 1, 1, ..., 2, 2, 2], shape=(10000,), dtype=uint8)
28102811
>>> a[:]
28112812
array(['female', 'female', 'female', ..., 'male', 'male', 'male'],
2812-
dtype='<U6')
2813+
shape=(10000,), dtype='<U6')
28132814
28142815
View as a different dtype with the same item size:
28152816
28162817
>>> data = np.random.randint(0, 2, size=10000, dtype='u1')
28172818
>>> a = zarr.array(data, chunks=1000)
28182819
>>> a[:]
2819-
array([0, 0, 1, ..., 1, 0, 0], dtype=uint8)
2820+
array([0, 0, 1, ..., 1, 0, 0], shape=(10000,), dtype=uint8)
28202821
>>> v = a.view(dtype=bool)
28212822
>>> v[:]
2822-
array([False, False, True, ..., True, False, False])
2823+
array([False, False, True, ..., True, False, False], shape=(10000,))
28232824
>>> np.all(a[:].view(dtype=bool) == v[:])
28242825
np.True_
28252826
@@ -2841,10 +2842,10 @@ def view(
28412842
28422843
>>> a = zarr.full(10000, chunks=1000, fill_value=-1, dtype='i1')
28432844
>>> a[:]
2844-
array([-1, -1, -1, ..., -1, -1, -1], dtype=int8)
2845+
array([-1, -1, -1, ..., -1, -1, -1], shape=(10000,), dtype=int8)
28452846
>>> v = a.view(fill_value=42)
28462847
>>> v[:]
2847-
array([42, 42, 42, ..., 42, 42, 42], dtype=int8)
2848+
array([42, 42, 42, ..., 42, 42, 42], shape=(10000,), dtype=int8)
28482849
28492850
Note that resizing or appending to views is not permitted:
28502851

0 commit comments

Comments
 (0)