Skip to content
Open
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
1 change: 1 addition & 0 deletions changelog/7203.internal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
:user:`bouweandela` enabled [Ruff type checking (TC) rules](https://docs.astral.sh/ruff/rules/#flake8-type-checking-tc).
6 changes: 4 additions & 2 deletions lib/iris/_lazy_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
"""

from functools import lru_cache, partial, wraps
from types import ModuleType
from typing import Sequence
from typing import TYPE_CHECKING, Sequence

import dask
import dask.array as da
Expand All @@ -21,6 +20,9 @@

import iris.exceptions

if TYPE_CHECKING:
from types import ModuleType

MAX_CACHE_SIZE = 100
"""Maximum number of Dask arrays to cache."""

Expand Down
6 changes: 4 additions & 2 deletions lib/iris/analysis/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@
from functools import wraps
from inspect import getfullargspec
import itertools
from numbers import Number
from typing import Optional, Protocol, Union
from typing import TYPE_CHECKING, Optional, Protocol, Union
import warnings

from cf_units import Unit
Expand All @@ -65,6 +64,9 @@
from iris.exceptions import LazyAggregatorError
import iris.util

if TYPE_CHECKING:
from numbers import Number

__all__ = (
"Aggregator",
"AreaWeighted",
Expand Down
3 changes: 2 additions & 1 deletion lib/iris/common/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
import re
from typing import TYPE_CHECKING, Any

import cf_units
import numpy as np
import numpy.ma as ma
from xxhash import xxh64_hexdigest

if TYPE_CHECKING:
import cf_units

from iris.common.mixin import CFVariableMixin
from iris.coords import CellMethod
from iris.util import Axis
Expand Down
6 changes: 2 additions & 4 deletions lib/iris/cube.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
from xml.dom.minidom import Document

from cf_units import Unit
import dask.array as da
import numpy as np
import numpy.ma as ma
from packaging.version import Version
Expand All @@ -45,7 +44,6 @@
from iris.analysis.cartography import wrap_lons
import iris.analysis.maths
import iris.aux_factory
from iris.aux_factory import AuxCoordFactory
from iris.common import CFVariableMixin, CubeMetadata, metadata_manager_factory
from iris.common.metadata import BaseMetadata, CoordMetadata, metadata_filter
from iris.common.mixin import LimitedAttributeDict
Expand All @@ -61,10 +59,10 @@
)

if TYPE_CHECKING:
from typing import TYPE_CHECKING

import dask.array as da
from numpy.typing import ArrayLike

from iris.aux_factory import AuxCoordFactory
import iris.mesh
from iris.mesh import MeshCoord
import iris.exceptions
Expand Down
14 changes: 6 additions & 8 deletions lib/iris/fileformats/netcdf/saver.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@

if TYPE_CHECKING:
from iris.cube import Cube
from iris.mesh.components import MeshXY
from iris.mesh.components import (
MeshEdgeCoords,
MeshFaceCoords,
MeshNodeCoords,
MeshXY,
)
# Get the logger : shared logger for all in 'iris.fileformats.netcdf'.
from . import logger

Expand Down Expand Up @@ -990,13 +995,6 @@ def _add_aux_coords(
NetCDF data compression keyword arguments.

"""
from iris.mesh.components import (
MeshEdgeCoords,
MeshFaceCoords,
MeshNodeCoords,
MeshXY,
)

# Exclude any mesh coords, which are bundled in with the aux-coords.
coords_to_add = [
coord for coord in cube.aux_coords if not hasattr(coord, "mesh")
Expand Down
6 changes: 4 additions & 2 deletions lib/iris/mesh/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,16 @@
"""

from collections.abc import Sequence
from typing import Union
from typing import TYPE_CHECKING, Union

import dask.array as da
import numpy as np

from iris.common.metadata import CoordMetadata
from iris.cube import Cube

if TYPE_CHECKING:
from iris.common.metadata import CoordMetadata


def recombine_submeshes(
mesh_cube: Cube,
Expand Down
6 changes: 4 additions & 2 deletions lib/iris/tests/stock/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@

from datetime import datetime
from pathlib import Path
from typing import NamedTuple
from typing import TYPE_CHECKING, NamedTuple

from cartopy.crs import CRS
from cf_units import Unit
import numpy as np
import numpy.ma as ma
Expand All @@ -30,6 +29,9 @@
sample_2d_latlons,
)

if TYPE_CHECKING:
from cartopy.crs import CRS


def lat_lon_cube():
"""Returns a cube with a latitude and longitude suitable for testing
Expand Down
4 changes: 0 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -329,10 +329,6 @@ ignore = [
# https://docs.astral.sh/ruff/rules/#flake8-tidy-imports-tid
"TID",

# flake8-type-checking (TCH)
# https://docs.astral.sh/ruff/rules/#flake8-type-checking-tch
"TCH",

# flake8-unused-arguments (ARG)
# https://docs.astral.sh/ruff/rules/#flake8-unused-arguments-arg
"ARG",
Expand Down
Loading