From bfa73ed56d214f3162d5aa85f7bd0a96f0eb978f Mon Sep 17 00:00:00 2001 From: Seher Karakuzu Date: Tue, 9 Apr 2024 10:44:23 -0400 Subject: [PATCH] some more improvement --- tiled/adapters/awkward.py | 4 ++-- tiled/adapters/awkward_buffers.py | 7 ++++--- tiled/adapters/hdf5.py | 2 +- tiled/adapters/type_alliases.py | 5 ++++- tiled/adapters/zarr.py | 8 ++++---- tiled/structures/array.py | 4 ++-- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/tiled/adapters/awkward.py b/tiled/adapters/awkward.py index 68c6471a0..301b4eab0 100644 --- a/tiled/adapters/awkward.py +++ b/tiled/adapters/awkward.py @@ -78,7 +78,7 @@ def metadata(self) -> JSON: """ return self._metadata - def read_buffers(self, form_keys: Optional[list[str]] = None) -> dict[Any, JSON]: + def read_buffers(self, form_keys: Optional[list[str]] = None) -> dict[str, Any]: """ Parameters @@ -101,7 +101,7 @@ def read_buffers(self, form_keys: Optional[list[str]] = None) -> dict[Any, JSON] buffers[key] = self.container[key] return buffers - def read(self) -> JSON: + def read(self) -> dict[str, Any]: """ Returns diff --git a/tiled/adapters/awkward_buffers.py b/tiled/adapters/awkward_buffers.py index 3585fba51..d75c73e43 100644 --- a/tiled/adapters/awkward_buffers.py +++ b/tiled/adapters/awkward_buffers.py @@ -2,6 +2,7 @@ A directory containing awkward buffers, one file per form key. """ import collections.abc +from collections.abc import Buffer from pathlib import Path from typing import Any, Iterator, List, Optional, Union @@ -15,7 +16,7 @@ from .type_alliases import JSON -class DirectoryContainer(collections.abc.MutableMapping[str, JSON]): +class DirectoryContainer(collections.abc.MutableMapping[str, Buffer]): """ """ def __init__(self, directory: Path, form: Any): @@ -29,7 +30,7 @@ def __init__(self, directory: Path, form: Any): self.directory = directory self.form = form - def __getitem__(self, form_key: str) -> JSON: + def __getitem__(self, form_key: str) -> Buffer: """ Parameters @@ -43,7 +44,7 @@ def __getitem__(self, form_key: str) -> JSON: with open(self.directory / form_key, "rb") as file: return file.read() - def __setitem__(self, form_key: str, value: JSON) -> None: + def __setitem__(self, form_key: str, value: Buffer) -> None: """ Parameters diff --git a/tiled/adapters/hdf5.py b/tiled/adapters/hdf5.py index 7972d3ee2..3ab8c6549 100644 --- a/tiled/adapters/hdf5.py +++ b/tiled/adapters/hdf5.py @@ -100,7 +100,7 @@ def from_file( file: Any, *, structure: Optional[TableStructure] = None, - metadata: JSON = None, + metadata: Optional[JSON] = None, swmr: bool = SWMR_DEFAULT, libver: str = "latest", specs: Optional[list[Spec]] = None, diff --git a/tiled/adapters/type_alliases.py b/tiled/adapters/type_alliases.py index e1d11f0c1..9be83a37b 100644 --- a/tiled/adapters/type_alliases.py +++ b/tiled/adapters/type_alliases.py @@ -1,4 +1,7 @@ # JSON = dict[str, "JSON"] | list["JSON"] | str | int | float | bool | None # from typing import Any +from typing import Any, Dict, List, Union -JSON = dict[str, "JSON"] | list["JSON"] +# JSON = dict[str, "JSON"] | list["JSON"] +JSONValue = Union[str, int, float, bool, None, Dict[str, Any], List[Any]] +JSON = Union[Dict[str, JSONValue], List[JSONValue]] diff --git a/tiled/adapters/zarr.py b/tiled/adapters/zarr.py index f1849f39f..d1a3f5b04 100644 --- a/tiled/adapters/zarr.py +++ b/tiled/adapters/zarr.py @@ -26,7 +26,7 @@ def read_zarr( data_uri: Union[str, list[str]], structure: Optional[NodeStructure], **kwargs: Any -) -> Union["ZarrGroupAdapter", "ZarrArrayAdapter"]: +) -> Union["ZarrGroupAdapter", ArrayAdapter]: """ Parameters @@ -41,7 +41,7 @@ def read_zarr( """ filepath = path_from_uri(data_uri) zarr_obj = zarr.open(filepath) # Group or Array - adapter: Union[ZarrGroupAdapter, ZarrArrayAdapter] + adapter: Union[ZarrGroupAdapter, ArrayAdapter] if isinstance(zarr_obj, zarr.hierarchy.Group): adapter = ZarrGroupAdapter(zarr_obj, **kwargs) else: @@ -182,7 +182,7 @@ async def write_block( class ZarrGroupAdapter( - collections.abc.Mapping[str, Union["ZarrArrayAdapter", "ZarrGroupAdapter"]], + collections.abc.Mapping[str, Union["ArrayAdapter", "ZarrGroupAdapter"]], IndexersMixin, ): """ """ @@ -264,7 +264,7 @@ def __iter__(self) -> Iterator[Any]: """ yield from self._node - def __getitem__(self, key: str) -> Union[ZarrArrayAdapter, "ZarrGroupAdapter"]: + def __getitem__(self, key: str) -> Union[ArrayAdapter, "ZarrGroupAdapter"]: """ Parameters diff --git a/tiled/structures/array.py b/tiled/structures/array.py index 27e7c9234..9581763b1 100644 --- a/tiled/structures/array.py +++ b/tiled/structures/array.py @@ -2,7 +2,7 @@ import os import sys from dataclasses import dataclass -from typing import List, Optional, Self, Tuple, Union +from typing import List, Optional, Tuple, Union import numpy @@ -236,7 +236,7 @@ def from_json(cls, structure): ) @classmethod - def from_array(cls, array, shape=None, chunks=None, dims=None) -> Self: + def from_array(cls, array, shape=None, chunks=None, dims=None) -> "ArrayStructure": from dask.array.core import normalize_chunks if not hasattr(array, "__array__"):