Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable ruff/isort rules (I) and fix issues #1704

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bench/compress_normal.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import sys
import timeit

import line_profiler
import numpy as np

import line_profiler
import zarr
from zarr import blosc

Expand Down
3 changes: 3 additions & 0 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ Unreleased
Enhancements
~~~~~~~~~~~~

* Enable ruff/isort rules (I) and fix issues.
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1704`.

Docs
~~~~

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ exclude = [

[tool.ruff.lint]
extend-select = [
"B"
"B",
"I"
]

[tool.black]
Expand Down
11 changes: 6 additions & 5 deletions zarr/_storage/absstore.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
"""This module contains storage classes related to Azure Blob Storage (ABS)"""

from typing import Optional
import warnings
from typing import Optional

from numcodecs.compat import ensure_bytes
from zarr.util import normalize_storage_path

from zarr._storage.store import (
V3_DEPRECATION_MESSAGE,
Store,
StoreV3,
_get_metadata_suffix,
data_root,
meta_root,
Store,
StoreV3,
V3_DEPRECATION_MESSAGE,
)
from zarr.types import DIMENSION_SEPARATOR
from zarr.util import normalize_storage_path

__doctest_requires__ = {
("ABSStore", "ABSStore.*"): ["azure.storage.blob"],
Expand Down
4 changes: 2 additions & 2 deletions zarr/_storage/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
from string import ascii_letters, digits
from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple, Union

from zarr.meta import Metadata2, Metadata3
from zarr.util import normalize_storage_path
from zarr.context import Context
from zarr.meta import Metadata2, Metadata3
from zarr.types import ZARR_VERSION
from zarr.util import normalize_storage_path

# v2 store keys
array_meta_key = ".zarray"
Expand Down
29 changes: 14 additions & 15 deletions zarr/_storage/v3.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,36 @@
from collections import OrderedDict
from collections.abc import MutableMapping
from threading import Lock
from typing import Union, Dict, Any, Optional

from zarr.errors import (
MetadataError,
ReadOnlyError,
)
from zarr.util import buffer_size, json_loads, normalize_storage_path
from zarr.types import DIMENSION_SEPARATOR
from typing import Any, Dict, Optional, Union

from zarr._storage.absstore import ABSStoreV3 # noqa: F401
from zarr._storage.store import ( # noqa: F401
BaseStore,
Store,
StoreV3,
_get_hierarchy_metadata,
_get_metadata_suffix,
_listdir_from_keys,
_path_to_prefix,
_prefix_to_array_key,
_prefix_to_group_key,
_rename_from_keys,
_rename_metadata_v3,
_rmdir_from_keys,
_rmdir_from_keys_v3,
_path_to_prefix,
_prefix_to_array_key,
_prefix_to_group_key,
array_meta_key,
attrs_key,
data_root,
group_meta_key,
meta_root,
BaseStore,
Store,
StoreV3,
)
from zarr.errors import (
MetadataError,
ReadOnlyError,
)
from zarr.storage import (
DBMStore,
ConsolidatedMetadataStore,
DBMStore,
DirectoryStore,
FSStore,
KVStore,
Expand All @@ -48,6 +45,8 @@
ZipStore,
_getsize,
)
from zarr.types import DIMENSION_SEPARATOR
from zarr.util import buffer_size, json_loads, normalize_storage_path

__doctest_requires__ = {
("RedisStore", "RedisStore.*"): ["redis"],
Expand Down
7 changes: 3 additions & 4 deletions zarr/_storage/v3_storage_transformers.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import functools
import itertools
import os
from typing import NamedTuple, Tuple, Optional, Union, Iterator
from typing import Iterator, NamedTuple, Optional, Tuple, Union

from numcodecs.compat import ensure_bytes
import numpy as np
from numcodecs.compat import ensure_bytes

from zarr._storage.store import StorageTransformer, StoreV3, _rmdir_from_keys_v3
from zarr.util import normalize_storage_path
from zarr.types import DIMENSION_SEPARATOR

from zarr.util import normalize_storage_path

MAX_UINT_64 = 2**64 - 1

Expand Down
14 changes: 6 additions & 8 deletions zarr/convenience.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,27 @@
import os
import re
from collections.abc import Mapping, MutableMapping
from typing import Union

from zarr._storage.store import data_root, meta_root, assert_zarr_v3_api_available
from zarr._storage.store import assert_zarr_v3_api_available, data_root, meta_root
from zarr._storage.v3 import ConsolidatedMetadataStoreV3
from zarr.core import Array
from zarr.creation import array as _create_array
from zarr.creation import open_array
from zarr.errors import CopyError, PathNotFoundError
from zarr.hierarchy import Group
from zarr.hierarchy import Group, open_group
from zarr.hierarchy import group as _create_group
from zarr.hierarchy import open_group
from zarr.meta import json_dumps, json_loads
from zarr.storage import (
BaseStore,
ConsolidatedMetadataStore,
_get_metadata_suffix,
contains_array,
contains_group,
normalize_store_arg,
BaseStore,
ConsolidatedMetadataStore,
)
from zarr._storage.v3 import ConsolidatedMetadataStoreV3
from zarr.util import TreeViewer, buffer_size, normalize_storage_path

from typing import Union

StoreLike = Union[BaseStore, MutableMapping, str, None]

_builtin_open = open # builtin open is later shadowed by a local open function
Expand Down
18 changes: 9 additions & 9 deletions zarr/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
from zarr.attrs import Attributes
from zarr.codecs import AsType, get_codec
from zarr.context import Context
from zarr.errors import ArrayNotFoundError, ReadOnlyError, ArrayIndexError
from zarr.errors import ArrayIndexError, ArrayNotFoundError, ReadOnlyError
from zarr.indexing import (
BasicIndexer,
BlockIndex,
BlockIndexer,
CoordinateIndexer,
MaskIndexer,
OIndex,
OrthogonalIndexer,
VIndex,
BlockIndex,
BlockIndexer,
PartialChunkIterator,
VIndex,
check_fields,
check_no_multi_fields,
ensure_tuple,
Expand All @@ -36,28 +36,28 @@
pop_fields,
)
from zarr.storage import (
KVStore,
_get_hierarchy_metadata,
_prefix_to_array_key,
KVStore,
getsize,
listdir,
normalize_store_arg,
)
from zarr.util import (
ConstantMap,
all_equal,
InfoReporter,
PartialReadBuffer,
UncompressedPartialReadBufferV3,
all_equal,
check_array_shape,
ensure_ndarray_like,
human_readable_size,
is_total_slice,
nolock,
normalize_chunks,
normalize_resize_args,
normalize_shape,
normalize_storage_path,
PartialReadBuffer,
UncompressedPartialReadBufferV3,
ensure_ndarray_like,
)

__all__ = ["Array"]
Expand Down
7 changes: 3 additions & 4 deletions zarr/creation.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from collections.abc import MutableMapping
from typing import Optional, Tuple, Union, Sequence
from typing import Optional, Sequence, Tuple, Union
from warnings import warn

import numpy as np
import numpy.typing as npt
from numcodecs.abc import Codec
from numcodecs.registry import codec_registry

from zarr._storage.store import DEFAULT_ZARR_VERSION
from zarr._storage.store import DEFAULT_ZARR_VERSION, StorageTransformer
from zarr.core import Array
from zarr.errors import (
ArrayNotFoundError,
Expand All @@ -22,9 +22,8 @@
normalize_storage_path,
normalize_store_arg,
)
from zarr._storage.store import StorageTransformer
from zarr.sync import Synchronizer
from zarr.types import ZARR_VERSION, DIMENSION_SEPARATOR, MEMORY_ORDER, MetaArray, PathLike
from zarr.types import DIMENSION_SEPARATOR, MEMORY_ORDER, ZARR_VERSION, MetaArray, PathLike
from zarr.util import normalize_dimension_separator


Expand Down
12 changes: 6 additions & 6 deletions zarr/hierarchy.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
import numpy as np

from zarr._storage.store import (
DEFAULT_ZARR_VERSION,
_get_metadata_suffix,
assert_zarr_v3_api_available,
data_root,
meta_root,
DEFAULT_ZARR_VERSION,
assert_zarr_v3_api_available,
)
from zarr._storage.v3 import MemoryStoreV3
from zarr.attrs import Attributes
from zarr.core import Array
from zarr.creation import (
Expand All @@ -25,17 +26,17 @@
zeros_like,
)
from zarr.errors import (
ArrayNotFoundError,
ContainsArrayError,
ContainsGroupError,
ArrayNotFoundError,
GroupNotFoundError,
ReadOnlyError,
)
from zarr.storage import (
_get_hierarchy_metadata,
_prefix_to_group_key,
BaseStore,
MemoryStore,
_get_hierarchy_metadata,
_prefix_to_group_key,
attrs_key,
contains_array,
contains_group,
Expand All @@ -46,7 +47,6 @@
rename,
rmdir,
)
from zarr._storage.v3 import MemoryStoreV3
from zarr.util import (
InfoReporter,
TreeViewer,
Expand Down
5 changes: 2 additions & 3 deletions zarr/indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@

import numpy as np


from zarr.errors import (
ArrayIndexError,
BoundsCheckError,
NegativeStepError,
err_too_many_indices,
VindexInvalidSelectionError,
BoundsCheckError,
err_too_many_indices,
)


Expand Down
6 changes: 3 additions & 3 deletions zarr/meta.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import base64
import itertools
from collections.abc import Mapping
from typing import TYPE_CHECKING, Any, List, Optional, Union, cast
from typing import Mapping as MappingType

import numcodecs
import numpy as np
Expand All @@ -9,8 +11,6 @@
from zarr.errors import MetadataError
from zarr.util import json_dumps, json_loads

from typing import cast, Union, Any, List, Mapping as MappingType, Optional, TYPE_CHECKING

if TYPE_CHECKING: # pragma: no cover
from zarr._storage.store import StorageTransformer

Expand Down Expand Up @@ -458,8 +458,8 @@ def _encode_storage_transformer_metadata(

@classmethod
def _decode_storage_transformer_metadata(cls, meta: Mapping) -> "StorageTransformer":
from zarr.tests.test_storage_v3 import DummyStorageTransfomer
from zarr._storage.v3_storage_transformers import ShardingStorageTransformer
from zarr.tests.test_storage_v3 import DummyStorageTransfomer

# This might be changed to a proper registry in the future
KNOWN_STORAGE_TRANSFORMERS = [DummyStorageTransfomer, ShardingStorageTransformer]
Expand Down
5 changes: 2 additions & 3 deletions zarr/n5.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@
import os
import struct
import sys
from typing import Any, Dict, Optional, cast
import warnings
from typing import Any, Dict, Optional, cast

import numpy as np
from numcodecs.abc import Codec
from numcodecs.compat import ndarray_copy
from numcodecs.registry import get_codec, register_codec

from .meta import ZARR_FORMAT, json_dumps, json_loads
from .storage import FSStore
from .storage import NestedDirectoryStore, _prog_ckey, _prog_number, normalize_storage_path
from .storage import FSStore, NestedDirectoryStore, _prog_ckey, _prog_number, normalize_storage_path
from .storage import array_meta_key as zarr_array_meta_key
from .storage import attrs_key as zarr_attrs_key
from .storage import group_meta_key as zarr_group_meta_key
Expand Down
Loading