diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index d2d6c52..8dcd70e 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -17,14 +17,14 @@ jobs: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] - environment-file: [ci/312.yaml] + environment-file: [ci/313.yaml] include: - - environment-file: ci/39.yaml - os: ubuntu-latest - environment-file: ci/310.yaml os: ubuntu-latest - environment-file: ci/311.yaml os: ubuntu-latest + - environment-file: ci/312.yaml + os: ubuntu-latest - environment-file: ci/dev.yaml os: ubuntu-latest defaults: diff --git a/ci/312.yaml b/ci/312.yaml index 189ae72..36200f2 100644 --- a/ci/312.yaml +++ b/ci/312.yaml @@ -9,6 +9,7 @@ dependencies: - rioxarray - joblib - rasterio + - exactextract - tqdm - pyproj # testing @@ -20,8 +21,5 @@ dependencies: - geodatasets - pyogrio - mypy - - pip - - pip: - - exactextract diff --git a/ci/39.yaml b/ci/313.yaml similarity index 80% rename from ci/39.yaml rename to ci/313.yaml index 836fcee..885550d 100644 --- a/ci/39.yaml +++ b/ci/313.yaml @@ -2,14 +2,13 @@ name: xvec channels: - conda-forge dependencies: - - python=3.9 + - python=3.13 # required - shapely >=2 - xarray - rioxarray - joblib - rasterio - - exactextract - tqdm - pyproj # testing @@ -19,4 +18,7 @@ dependencies: - pytest-reportlog - geopandas-base - geodatasets - - pyogrio \ No newline at end of file + - pyogrio + - pip + - pip: + - exactextract \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index a80baea..186f6b0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: GIS", ] -requires-python = ">=3.9" +requires-python = ">=3.10" dependencies = [ "xarray >= 2022.12.0", "pyproj >= 3.0.0", diff --git a/xvec/accessor.py b/xvec/accessor.py index 734cf0a..2bfbd8d 100644 --- a/xvec/accessor.py +++ b/xvec/accessor.py @@ -1,8 +1,8 @@ from __future__ import annotations import warnings -from collections.abc import Hashable, Mapping, Sequence -from typing import TYPE_CHECKING, Any, Callable, cast +from collections.abc import Callable, Hashable, Mapping, Sequence +from typing import TYPE_CHECKING, Any, cast import numpy as np import pandas as pd diff --git a/xvec/zonal.py b/xvec/zonal.py index 2de04ca..3e7fcf3 100644 --- a/xvec/zonal.py +++ b/xvec/zonal.py @@ -1,8 +1,8 @@ from __future__ import annotations import gc -from collections.abc import Hashable, Iterable, Sequence -from typing import Any, Callable +from collections.abc import Callable, Hashable, Iterable, Sequence +from typing import Any import numpy as np import pandas as pd @@ -52,7 +52,7 @@ def _zonal_stats_rasterize( transform = acc._obj.rio.transform() labels = features.rasterize( - zip(geometry, range(len(geometry))), + zip(geometry, range(len(geometry)), strict=False), out_shape=( acc._obj[y_coords].shape[0], acc._obj[x_coords].shape[0],