1
1
from __future__ import annotations
2
- from typing import TYPE_CHECKING
2
+ from typing import TYPE_CHECKING , Iterator
3
3
from dataclasses import asdict , dataclass , field , replace
4
4
5
5
import asyncio
@@ -256,7 +256,7 @@ async def _save_metadata(self) -> None:
256
256
await asyncio .gather (* awaitables )
257
257
258
258
@property
259
- def attrs (self ):
259
+ def attrs (self ) -> dict [ str , Any ] :
260
260
return self .metadata .attributes
261
261
262
262
@property
@@ -301,7 +301,7 @@ async def create_array(
301
301
zarr_format = self .metadata .zarr_format ,
302
302
)
303
303
304
- async def update_attributes (self , new_attributes : dict [str , Any ]):
304
+ async def update_attributes (self , new_attributes : dict [str , Any ]) -> "AsyncGroup" :
305
305
# metadata.attributes is "frozen" so we simply clear and update the dict
306
306
self .metadata .attributes .clear ()
307
307
self .metadata .attributes .update (new_attributes )
@@ -319,7 +319,7 @@ async def update_attributes(self, new_attributes: dict[str, Any]):
319
319
320
320
return self
321
321
322
- def __repr__ (self ):
322
+ def __repr__ (self ) -> str :
323
323
return f"<AsyncGroup { self .store_path } >"
324
324
325
325
async def nmembers (self ) -> int :
@@ -394,31 +394,31 @@ async def arrays(self) -> AsyncGenerator[AsyncArray, None]:
394
394
if isinstance (value , AsyncArray ):
395
395
yield value
396
396
397
- async def tree (self , expand = False , level = None ) -> Any :
397
+ async def tree (self , expand : bool = False , level : int | None = None ) -> Any :
398
398
raise NotImplementedError
399
399
400
- async def empty (self , ** kwargs ) -> AsyncArray :
400
+ async def empty (self , ** kwargs : Any ) -> AsyncArray :
401
401
raise NotImplementedError
402
402
403
- async def zeros (self , ** kwargs ) -> AsyncArray :
403
+ async def zeros (self , ** kwargs : Any ) -> AsyncArray :
404
404
raise NotImplementedError
405
405
406
- async def ones (self , ** kwargs ) -> AsyncArray :
406
+ async def ones (self , ** kwargs : Any ) -> AsyncArray :
407
407
raise NotImplementedError
408
408
409
- async def full (self , ** kwargs ) -> AsyncArray :
409
+ async def full (self , ** kwargs : Any ) -> AsyncArray :
410
410
raise NotImplementedError
411
411
412
- async def empty_like (self , prototype : AsyncArray , ** kwargs ) -> AsyncArray :
412
+ async def empty_like (self , prototype : AsyncArray , ** kwargs : Any ) -> AsyncArray :
413
413
raise NotImplementedError
414
414
415
- async def zeros_like (self , prototype : AsyncArray , ** kwargs ) -> AsyncArray :
415
+ async def zeros_like (self , prototype : AsyncArray , ** kwargs : Any ) -> AsyncArray :
416
416
raise NotImplementedError
417
417
418
- async def ones_like (self , prototype : AsyncArray , ** kwargs ) -> AsyncArray :
418
+ async def ones_like (self , prototype : AsyncArray , ** kwargs : Any ) -> AsyncArray :
419
419
raise NotImplementedError
420
420
421
- async def full_like (self , prototype : AsyncArray , ** kwargs ) -> AsyncArray :
421
+ async def full_like (self , prototype : AsyncArray , ** kwargs : Any ) -> AsyncArray :
422
422
raise NotImplementedError
423
423
424
424
async def move (self , source : str , dest : str ) -> None :
@@ -462,16 +462,16 @@ def __getitem__(self, path: str) -> Array | Group:
462
462
else :
463
463
return Group (obj )
464
464
465
- def __delitem__ (self , key ) -> None :
465
+ def __delitem__ (self , key : str ) -> None :
466
466
self ._sync (self ._async_group .delitem (key ))
467
467
468
- def __iter__ (self ):
468
+ def __iter__ (self ) -> Iterator [ str ] :
469
469
raise NotImplementedError
470
470
471
- def __len__ (self ):
471
+ def __len__ (self ) -> int :
472
472
raise NotImplementedError
473
473
474
- def __setitem__ (self , key , value ) :
474
+ def __setitem__ (self , key : str , value : Any ) -> None :
475
475
"""__setitem__ is not supported in v3"""
476
476
raise NotImplementedError
477
477
@@ -502,7 +502,7 @@ def attrs(self) -> Attributes:
502
502
def info (self ):
503
503
return self ._async_group .info
504
504
505
- def update_attributes (self , new_attributes : dict [str , Any ]):
505
+ def update_attributes (self , new_attributes : dict [str , Any ]) -> "Group" :
506
506
self ._sync (self ._async_group .update_attributes (new_attributes ))
507
507
return self
508
508
@@ -521,7 +521,7 @@ def members(self) -> tuple[tuple[str, Array | Group], ...]:
521
521
result = tuple (map (lambda kv : (kv [0 ], _parse_async_node (kv [1 ])), _members ))
522
522
return result
523
523
524
- def __contains__ (self , member ) -> bool :
524
+ def __contains__ (self , member : str ) -> bool :
525
525
return self ._sync (self ._async_group .contains (member ))
526
526
527
527
def group_keys (self ) -> tuple [str , ...]:
@@ -537,37 +537,37 @@ def array_keys(self) -> tuple[str, ...]:
537
537
def arrays (self ) -> tuple [Array , ...]:
538
538
return tuple (Array (obj ) for obj in self ._sync_iter (self ._async_group .arrays ()))
539
539
540
- def tree (self , expand = False , level = None ) -> Any :
540
+ def tree (self , expand : bool = False , level : int | None = None ) -> Any :
541
541
return self ._sync (self ._async_group .tree (expand = expand , level = level ))
542
542
543
- def create_group (self , name : str , ** kwargs ) -> Group :
543
+ def create_group (self , name : str , ** kwargs : Any ) -> Group :
544
544
return Group (self ._sync (self ._async_group .create_group (name , ** kwargs )))
545
545
546
- def create_array (self , name : str , ** kwargs ) -> Array :
546
+ def create_array (self , name : str , ** kwargs : Any ) -> Array :
547
547
return Array (self ._sync (self ._async_group .create_array (name , ** kwargs )))
548
548
549
- def empty (self , ** kwargs ) -> Array :
549
+ def empty (self , ** kwargs : Any ) -> Array :
550
550
return Array (self ._sync (self ._async_group .empty (** kwargs )))
551
551
552
- def zeros (self , ** kwargs ) -> Array :
552
+ def zeros (self , ** kwargs : Any ) -> Array :
553
553
return Array (self ._sync (self ._async_group .zeros (** kwargs )))
554
554
555
- def ones (self , ** kwargs ) -> Array :
555
+ def ones (self , ** kwargs : Any ) -> Array :
556
556
return Array (self ._sync (self ._async_group .ones (** kwargs )))
557
557
558
- def full (self , ** kwargs ) -> Array :
558
+ def full (self , ** kwargs : Any ) -> Array :
559
559
return Array (self ._sync (self ._async_group .full (** kwargs )))
560
560
561
- def empty_like (self , prototype : AsyncArray , ** kwargs ) -> Array :
561
+ def empty_like (self , prototype : AsyncArray , ** kwargs : Any ) -> Array :
562
562
return Array (self ._sync (self ._async_group .empty_like (prototype , ** kwargs )))
563
563
564
- def zeros_like (self , prototype : AsyncArray , ** kwargs ) -> Array :
564
+ def zeros_like (self , prototype : AsyncArray , ** kwargs : Any ) -> Array :
565
565
return Array (self ._sync (self ._async_group .zeros_like (prototype , ** kwargs )))
566
566
567
- def ones_like (self , prototype : AsyncArray , ** kwargs ) -> Array :
567
+ def ones_like (self , prototype : AsyncArray , ** kwargs : Any ) -> Array :
568
568
return Array (self ._sync (self ._async_group .ones_like (prototype , ** kwargs )))
569
569
570
- def full_like (self , prototype : AsyncArray , ** kwargs ) -> Array :
570
+ def full_like (self , prototype : AsyncArray , ** kwargs : Any ) -> Array :
571
571
return Array (self ._sync (self ._async_group .full_like (prototype , ** kwargs )))
572
572
573
573
def move (self , source : str , dest : str ) -> None :
0 commit comments