diff --git a/stubs/rasterio/@tests/stubtest_allowlist.txt b/stubs/rasterio/@tests/stubtest_allowlist.txt index ce1edb64708e..4b4577f911be 100644 --- a/stubs/rasterio/@tests/stubtest_allowlist.txt +++ b/stubs/rasterio/@tests/stubtest_allowlist.txt @@ -1,6 +1,5 @@ # Stubs-only helper modules with no runtime counterpart. rasterio\._typing -rasterio\._affine_types # Stubs-only type aliases referenced in signatures only. rasterio\.merge\.MethodFunction diff --git a/stubs/rasterio/METADATA.toml b/stubs/rasterio/METADATA.toml index 1b0fd1d39342..fbf479b461eb 100644 --- a/stubs/rasterio/METADATA.toml +++ b/stubs/rasterio/METADATA.toml @@ -1,4 +1,7 @@ -version = "1.5.0" +version = "1.5.1" upstream-repository = "https://github.com/rasterio/rasterio" requires-python = ">=3.12" -dependencies = ["numpy>=2", "click>=8"] +dependencies = ["numpy>=2", "click>=8", "affine>=3"] + +[tool.stubtest] +stubtest-dependencies = ["affine"] diff --git a/stubs/rasterio/rasterio/_affine_types.pyi b/stubs/rasterio/rasterio/_affine_types.pyi deleted file mode 100644 index bf462c70813f..000000000000 --- a/stubs/rasterio/rasterio/_affine_types.pyi +++ /dev/null @@ -1,4 +0,0 @@ -# Swap to `from affine import Affine as Affine` once affine ships `py.typed` (v3). -from typing import Any, TypeAlias - -Affine: TypeAlias = Any diff --git a/stubs/rasterio/rasterio/_base.pyi b/stubs/rasterio/rasterio/_base.pyi index 8a7b76903797..f5b6d7a75cea 100644 --- a/stubs/rasterio/rasterio/_base.pyi +++ b/stubs/rasterio/rasterio/_base.pyi @@ -5,7 +5,7 @@ from types import TracebackType from typing import Any, Final from typing_extensions import Self, deprecated -from rasterio._affine_types import Affine +from affine import Affine as Affine from rasterio._path import _ParsedPath, _UnparsedPath from rasterio._typing import Colormap, CRSInput, _OpenOption from rasterio.control import GroundControlPoint diff --git a/stubs/rasterio/rasterio/_io.pyi b/stubs/rasterio/rasterio/_io.pyi index 671d0067b07f..bd0ce16ba759 100644 --- a/stubs/rasterio/rasterio/_io.pyi +++ b/stubs/rasterio/rasterio/_io.pyi @@ -4,8 +4,8 @@ from typing import Any, BinaryIO, Final from typing_extensions import Self, deprecated import numpy as np +from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._affine_types import Affine from rasterio._base import DatasetBase from rasterio._path import _ParsedPath, _UnparsedPath from rasterio._typing import Colormap, CRSInput, Indexes, NumType, ShapeND, WindowInput, _GDALOption, _OpenOption diff --git a/stubs/rasterio/rasterio/_warp.pyi b/stubs/rasterio/rasterio/_warp.pyi index b98484b6fd62..f757cfe5a747 100644 --- a/stubs/rasterio/rasterio/_warp.pyi +++ b/stubs/rasterio/rasterio/_warp.pyi @@ -1,8 +1,8 @@ from collections.abc import Sequence from typing import Any, Final +from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._affine_types import Affine from rasterio._io import DatasetReaderBase from rasterio._typing import CRSInput, Geometry, Indexes, ShapeND, WindowInput, _GDALOption, _NestedScalar from rasterio.control import GroundControlPoint @@ -14,6 +14,8 @@ from rasterio.rpc import RPC SUPPORTED_RESAMPLING: Final[list[Resampling]] DEFAULT_NODATA_FLAG: Final[object] +dtype_ranges: dict[str, tuple[float, float]] + def recursive_round(val: _NestedScalar, precision: int) -> _NestedScalar: ... def _transform_geom( src_crs: CRSInput, dst_crs: CRSInput, geom: Geometry | Sequence[Geometry], precision: int diff --git a/stubs/rasterio/rasterio/errors.pyi b/stubs/rasterio/rasterio/errors.pyi index c883864c3f86..6e7425eb4fa7 100644 --- a/stubs/rasterio/rasterio/errors.pyi +++ b/stubs/rasterio/rasterio/errors.pyi @@ -16,6 +16,7 @@ class NodataShadowWarning(UserWarning): ... class NotGeoreferencedWarning(UserWarning): ... class TransformWarning(UserWarning): ... class RPCError(ValueError): ... +class InvalidShapeError(RasterioError, ValueError): ... class ShapeSkipWarning(UserWarning): ... class GDALBehaviorChangeException(RuntimeError): ... class GDALOptionNotImplementedError(RasterioError): ... diff --git a/stubs/rasterio/rasterio/features.pyi b/stubs/rasterio/rasterio/features.pyi index d3689801f08e..303ca1f3de5e 100644 --- a/stubs/rasterio/rasterio/features.pyi +++ b/stubs/rasterio/rasterio/features.pyi @@ -5,8 +5,8 @@ from typing import Any, Final, overload from typing_extensions import deprecated import numpy as np +from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._affine_types import Affine from rasterio._typing import Geometry as Geometry from rasterio.enums import MergeAlg as MergeAlg from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/io.pyi b/stubs/rasterio/rasterio/io.pyi index ad52b80ed0a7..c4308f98628a 100644 --- a/stubs/rasterio/rasterio/io.pyi +++ b/stubs/rasterio/rasterio/io.pyi @@ -3,8 +3,8 @@ from types import TracebackType from typing import Any, Final from typing_extensions import Self, deprecated +from affine import Affine as Affine from numpy.typing import DTypeLike -from rasterio._affine_types import Affine from rasterio._filepath import FilePathBase as FilePathBase from rasterio._io import ( BufferedDatasetWriterBase as BufferedDatasetWriterBase, diff --git a/stubs/rasterio/rasterio/mask.pyi b/stubs/rasterio/rasterio/mask.pyi index 016f621c567f..e0259b0c1d42 100644 --- a/stubs/rasterio/rasterio/mask.pyi +++ b/stubs/rasterio/rasterio/mask.pyi @@ -2,8 +2,8 @@ import logging from collections.abc import Iterable from typing import Any, Final +from affine import Affine as Affine from numpy.typing import NDArray -from rasterio._affine_types import Affine from rasterio._typing import Geometry from rasterio.errors import WindowError as WindowError from rasterio.features import geometry_mask as geometry_mask, geometry_window as geometry_window diff --git a/stubs/rasterio/rasterio/merge.pyi b/stubs/rasterio/rasterio/merge.pyi index d9d767d53c2e..e9713eb21dcb 100644 --- a/stubs/rasterio/rasterio/merge.pyi +++ b/stubs/rasterio/rasterio/merge.pyi @@ -4,8 +4,8 @@ from collections.abc import Callable, Sequence from typing import Any, Final, Literal, TypeAlias, overload from typing_extensions import deprecated +from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._affine_types import Affine from rasterio.enums import Resampling from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/plot.pyi b/stubs/rasterio/rasterio/plot.pyi index 80815180dac1..a407bb686479 100644 --- a/stubs/rasterio/rasterio/plot.pyi +++ b/stubs/rasterio/rasterio/plot.pyi @@ -2,8 +2,8 @@ import logging from collections.abc import Mapping, Sequence from typing import Any, Final, Literal +from affine import Affine as Affine from numpy.typing import NDArray -from rasterio._affine_types import Affine from rasterio.io import DatasetReader as DatasetReader from rasterio.transform import guard_transform as guard_transform @@ -25,7 +25,7 @@ def show( title: str | None = None, transform: Affine | None = None, percent_range: tuple[float, float] | None = None, - adjust: bool = True, + adjust: bool = False, **kwargs: Any, ) -> Any: ... def plotting_extent( diff --git a/stubs/rasterio/rasterio/serde.pyi b/stubs/rasterio/rasterio/serde.pyi new file mode 100644 index 000000000000..fa06f4908611 --- /dev/null +++ b/stubs/rasterio/rasterio/serde.pyi @@ -0,0 +1,4 @@ +from functools import singledispatch + +@singledispatch +def to_json(obj: object) -> object: ... diff --git a/stubs/rasterio/rasterio/stack.pyi b/stubs/rasterio/rasterio/stack.pyi index 68680ffe9b1e..307ffa1a5b64 100644 --- a/stubs/rasterio/rasterio/stack.pyi +++ b/stubs/rasterio/rasterio/stack.pyi @@ -3,8 +3,8 @@ import os from collections.abc import Sequence from typing import Any, Final +from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._affine_types import Affine from rasterio.enums import Resampling from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/transform.pyi b/stubs/rasterio/rasterio/transform.pyi index f6aae2f7f098..7a365f1a66d5 100644 --- a/stubs/rasterio/rasterio/transform.pyi +++ b/stubs/rasterio/rasterio/transform.pyi @@ -2,7 +2,7 @@ from collections.abc import Callable, Sequence from typing import Final, Literal, TypeAlias, overload from typing_extensions import Self, deprecated -from rasterio._affine_types import Affine as Affine +from affine import Affine as Affine from rasterio._transform import GCPTransformerBase, RPCTransformerBase from rasterio._typing import _GDALOption from rasterio.control import GroundControlPoint diff --git a/stubs/rasterio/rasterio/warp.pyi b/stubs/rasterio/rasterio/warp.pyi index 09e4a86ca08d..ffd58099a02f 100644 --- a/stubs/rasterio/rasterio/warp.pyi +++ b/stubs/rasterio/rasterio/warp.pyi @@ -3,8 +3,8 @@ from collections.abc import Mapping, Sequence from typing import Any, Final, TypeAlias, overload from typing_extensions import deprecated +from affine import Affine as Affine from numpy.typing import ArrayLike, NDArray -from rasterio._affine_types import Affine from rasterio._typing import CRSInput, Geometry, _GDALOption from rasterio.control import GroundControlPoint from rasterio.enums import Resampling @@ -60,6 +60,7 @@ def reproject( resampling: Resampling = ..., num_threads: int = 1, init_dest_nodata: bool = True, + tolerance: float = 0.125, warp_mem_limit: int = 0, src_geoloc_array: NDArray[Any] | None = None, **kwargs: _GDALOption, diff --git a/stubs/rasterio/rasterio/windows.pyi b/stubs/rasterio/rasterio/windows.pyi index bead643d3f08..c5c80b9861f9 100644 --- a/stubs/rasterio/rasterio/windows.pyi +++ b/stubs/rasterio/rasterio/windows.pyi @@ -2,8 +2,8 @@ from collections.abc import Callable, Sequence from typing import Any, TypeAlias, overload from typing_extensions import Self, deprecated +from affine import Affine as Affine from numpy.typing import NDArray -from rasterio._affine_types import Affine from rasterio.errors import RasterioDeprecationWarning as RasterioDeprecationWarning, WindowError as WindowError _Bounds: TypeAlias = tuple[float, float, float, float]