xarray-spatial 0.10.14__tar.gz → 0.10.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/CHANGELOG.md +6 -0
- {xarray_spatial-0.10.14/xarray_spatial.egg-info → xarray_spatial-0.10.15}/PKG-INFO +1 -1
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15/xarray_spatial.egg-info}/PKG-INFO +1 -1
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/scm_version.json +2 -2
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/_version.py +3 -3
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/terrain.py +16 -5
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_terrain.py +57 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-accuracy-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-api-consistency-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-documentation-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-metadata-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-performance-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-security-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-style-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.claude/sweep-test-coverage-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-accuracy-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-api-consistency-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-metadata-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-performance-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-security-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-style-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.codex/sweep-test-coverage-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.efficiency-audit-baseline.json +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.efficiency-audit-baseline.prev.json +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.gitattributes +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/ISSUE_TEMPLATE/feature-proposal.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/ISSUE_TEMPLATE/new-contributor.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/labeler.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/pull_request_template.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/benchmarks.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/copilot-review.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/docs.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/labeler.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/pypi-publish.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/test-cog-validator.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/test-geotiff-corpus.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/test.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/workflows/welcome-contributor.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.gitignore +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-accuracy-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-api-consistency-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-metadata-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-performance-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-security-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-style-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.kilo/sweep-test-coverage-state.csv +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.readthedocs.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/AI_POLICY.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/CLAUDE.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/CODE_OF_CONDUCT.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/CONTRIBUTING.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/Citation-styles.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/LICENSE.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/MANIFEST.in +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/README.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/RELEASE.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/codecov.yml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/pyproject.toml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/setup.cfg +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/setup.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/SOURCES.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/dependency_links.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/entry_points.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/not-zip-safe +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/requires.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/scm_file_list.json +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/top_level.txt +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/__main__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/_template_data.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/accessor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/analytics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/aspect.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/balanced_allocation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/bilateral.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/bump.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/classify.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/contour.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/convolution.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/corridor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/cost_distance.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/curvature.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/dasymetric.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/dataset_support.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/blue_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/green_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/nir_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/red_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/swir1_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/swir2_band.nc +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/diagnostics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/diffusion.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/edge_detection.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/emerging_hotspots.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/erosion.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/experimental/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/experimental/min_observable_height.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/fire.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/flood.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/focal.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geodesic.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_attrs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/_gpu_helpers.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/dask.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/gpu.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/vrt.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_cog_http.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_compression.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_coords.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_crs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_decode.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_dtypes.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_encode.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_errors.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_geotags.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_gpu_decode.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_header.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_layout.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_nodata.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_overview.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_overview_kernels.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_pam.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_reader.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_runtime.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_safe_xml.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_sidecar.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_sources.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_symbology.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_vrt.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_vrt_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_write_layout.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_writer.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_writers/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_writers/eager.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_writers/gpu.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_writers/vrt.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_xarray_backend.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_geotiff_fixtures.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/markers.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/tiff_builders.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/tiff_surgery.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/attrs/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/attrs/test_contract.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/bench_vs_rioxarray.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/conftest.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/README.md +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/_marks.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/_oracle.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/cog_internal_overview_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_deflate_predictor2_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_deflate_predictor3_float32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_jpeg_uint8_ycbcr.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_lerc_float32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_lzw_predictor2_int16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/compression_none_uint8.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/crs_citation_only.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/crs_epsg_3857.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/crs_wkt_utm10n.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_float32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_float64.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_int16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_int32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_int8.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_uint32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/dtype_uint8.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/extra_tags_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/gdal_metadata_namespaced_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/nodata_int_sentinel_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/nodata_miniswhite_uint8.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/nodata_nan_float32.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/overview_external_ovr_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/overview_external_ovr_uint16.tif.ovr +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/overview_internal_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/planar_separate_uint8_rgb.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/sparse_tiled_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/stripped_be_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/stripped_le_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/tiled_be_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/fixtures/tiled_le_uint16.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/generate.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/manifest.yaml +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_compression.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_corpus_determinism.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_dask_gpu.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_dask_numpy.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_dtype_variants.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_eager_numpy.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_fsspec.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_gpu.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_http.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_layout_endian.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_manifest.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_metadata_tags.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_nodata_sentinels.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_oracle.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_overview_cog.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/test_vrt.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/gpu/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/gpu/test_codec.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/gpu/test_kernels_and_kwargs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/gpu/test_reader.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/gpu/test_writer.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/integration/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/integration/test_dask_pipeline.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/integration/test_gpu_pipeline.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/integration/test_http_sources.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/integration/test_sidecar.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_api_consolidation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_backend_matrix.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_finalization.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_pixel_equality.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_reference.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/parity/test_signature_contract.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_basic.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_bbox_2555.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_bbox_vrt_2668.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_cloud_source_concurrency_3361.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_compression.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_coords.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_crs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_degenerate_shapes.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_dtypes.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_endianness.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_georef.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_mask_and_scale_dtype_parity_3066.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_nodata.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_overview.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_rioxarray_compat_2961.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_scale_zero_3104.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_streaming.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_tiling.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/read/test_unpack_noop_doc_3263.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/release_gates/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/release_gates/test_features.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/release_gates/test_stable_features.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_edge_cases.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_fuzz_hypothesis.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_polish.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_round_trip.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_security.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_shutdown_cleanup_2486.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_stable_only_bbox_ordering_2869.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_stable_only_remote_2821.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_xarray_backend_3365.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_xarray_backend_coregister_3376.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/test_xarray_backend_coregister_target_3379.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_codec_roundtrip.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_compression.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_degenerate_pixel_size_3331.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_exception_exports_3265.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_geotags.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_header.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_ifd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_input_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_metadata.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_photometric.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_predictor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_safe_xml.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/unit/test_signatures.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_dtype_conversion.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_metadata.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_missing_sources.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_non_georef_placement_3116.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_parity.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_source_opt_ins_2672.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/vrt/test_window.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_basic.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_bigtiff.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_category_sidecar_backends_3483.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_cog.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_crs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_nodata.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_overview.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_3064.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_64bit_sentinel_3264.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_band_subset_3161.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_float_width_3080.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_lazy_nan_guard_3235.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_nodata_kwarg_3168.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_pack_range_guard_3260.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_streaming.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_symbology_sidecar_3537.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/write/test_vrt_atomic.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/glcm.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/_memory.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/cuda_utils.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/hillshade.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/mesh_utils.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/gpu_rtx/viewshed.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hillshade.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/_boundary_store.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/basin_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/fill_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_accumulation_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_accumulation_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_accumulation_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_direction_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_direction_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_direction_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_length_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_length_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_length_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_path_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_path_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/flow_path_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/hand_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/hand_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/hand_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/sink_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/snap_pour_point_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_link_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_link_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_link_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_order_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_order_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/stream_order_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/conftest.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_basin_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_fill_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_accumulation_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_accumulation_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_accumulation_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_direction_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_direction_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_direction_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_length_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_length_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_length_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_path_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_path_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_flow_path_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_hand_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_hand_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_hand_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_routing_public_api.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_sink_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_snap_pour_point_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_link_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_link_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_link_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_order_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_order_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_stream_order_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_twi_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_validate_cellsize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_validate_mfd_companion_shape.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_validate_mfd_fractions.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_validate_scalar_params.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_validate_secondary_args.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_watershed_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_watershed_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/tests/test_watershed_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/twi_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/watershed_d8.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/watershed_dinf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/hydro/watershed_mfd.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/_idw.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/_kriging.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/_spline.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/interpolate/_vector.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/kde.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mahalanobis.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/combine.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/constrain.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/sensitivity.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/standardize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/mcda/weights.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/morphology.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/multispectral.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/normalize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/pathfinding.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/perlin.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/polygon_clip.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/polygonize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/preview.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/proximity.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/rasterize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_crs_utils.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_grid.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_interpolate.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_itrf.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_lite_crs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_merge.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_projections.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_projections_cuda.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_transform.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/_vertical.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/reproject/grids/us_nga_egm96_15.tif +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/resample.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/sieve.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/sky_view_factor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/slope.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/surface_distance.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/templates.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/terrain_metrics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/__init__.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/bench_reproject_vs_rioxarray.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/conftest.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/general_checks.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_accessor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_analytics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_aspect.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_balanced_allocation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_bilateral.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_bump.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_classify.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_contour.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_contract_validate.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_convolution.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_corridor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_cost_distance.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_curvature.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_dask_cupy_gaps.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_dask_laziness.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_dask_task_names.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_dasymetric.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_dataset_support.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_datasets.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_diagnostics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_diffusion.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_edge_detection.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_emerging_hotspots.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_erosion.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_fire.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_flood.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_focal.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_fused_overlap.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_geodesic_aspect.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_geodesic_slope.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_glcm.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_glcm_metric_order.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_gpu_rtx_has_rtx.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_gpu_rtx_memory.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_gpu_rtx_mesh.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_hillshade.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_hypsometric_integral.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_interpolate_vector.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_interpolation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_kde.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_lite_crs.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_mahalanobis.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_mcda.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_min_observable_height.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_morphology.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_morphology_derived.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_multi_overlap.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_multispectral.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_normalize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_northness_eastness.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_open_geotiff_coregister.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_open_geotiff_resampling.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_optional_shapely.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_pathfinding.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_perlin.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygon_clip.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_atol_rtol_backend_coverage_2026_05_27.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_coverage_2026_05_19.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_dask_row_batch_2608.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_2172.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_2583.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_2606.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_2666.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_2677.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_3292.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_issue_3303.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_mask_chunk_mismatch_3299.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_polygonize_mask_dtype_coverage_2026_05_29.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_preview.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_proximity.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_accuracy.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_all_touched_dask_grid_line_3384.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_all_touched_supercover_2169.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_alloc_3107.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_categorical_3482.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coregister_3492.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coverage_2026_05_17.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coverage_2026_05_21.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coverage_2026_05_27.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coverage_2026_05_29.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_coverage_2026_06_09.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_crs_mismatch_3058.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_descending_x_2568.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_dtype_annot_3291.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_fill_dtype_3054.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_geom_crs_3087.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_gpu_alias_3089.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_gpu_callable_warn_3057.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_gpu_race_2167.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_int_precision_3056.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_linearring_3055.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_lines_all_touched_3102.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_merge_dedup_3304.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_mixed_type_ordered_merge_3296.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_nan_int_fill_2504.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_nan_propagation_2255.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_nonfinite_burn_3085.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_nonfinite_burn_3088.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_nonfinite_coords_3295.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_partial_dims_2569.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_props_hoist_2506.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_resolution_exact_2573.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_resolution_validation_2576.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_signature_annot_2250.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_signed_step_2566.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rasterize_tile_props_slice_2020.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_rechunk_no_shuffle.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_coverage_2026_05_27.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_cupy_gate_2564.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_cupy_promotion_3281.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_inverse_kernels_3274.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_itrf_scale_3276.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_parallel_kernels_3141.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_pyproj_warning_3242.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_sphere_ellipsoid_guard_3275.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_reproject_streaming_3101.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_coverage_2026_05_27.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_cupy_agg_fallback_2615.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_input_validation_2574.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_irregular_coords_2663.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_nodata_dask_parity_3073.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_resample_signature_annot_2544.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_sieve.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_sieve_gdal_parity.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_sky_view_factor.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_slope.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_surface_distance.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_sweep_state_csv_merge_2754.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_templates.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_terrain_metrics.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_utils.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_validation.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_viewshed.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_visibility.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_zonal.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/tests/test_zonal_backend_coverage_2026_05_27.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/utils.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/validate.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/viewshed.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/visibility.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/worley.py +0 -0
- {xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/zonal.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
-----------
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
### Version 0.10.15 - 2026-06-29
|
|
6
|
+
|
|
7
|
+
#### Bug fixes and improvements
|
|
8
|
+
- terrain: map the generate_terrain dask backends over an empty skeleton so from_template grids no longer drop out of the task graph (#3575)
|
|
9
|
+
|
|
10
|
+
|
|
5
11
|
### Version 0.10.14 - 2026-06-28
|
|
6
12
|
|
|
7
13
|
#### New features
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.10.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 10,
|
|
21
|
+
__version__ = version = '0.10.15'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 10, 15)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g76ebd7e2b'
|
|
@@ -378,6 +378,13 @@ def _terrain_dask_numpy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
378
378
|
"""
|
|
379
379
|
height, width = data.shape
|
|
380
380
|
|
|
381
|
+
# The chunk functions below regenerate every cell from coordinates and
|
|
382
|
+
# never read the incoming block values. Map over an uninitialised
|
|
383
|
+
# skeleton with the same shape/chunking so the (NaN-filled) template the
|
|
384
|
+
# caller passed in — e.g. from_template()'s da.full — drops out of the
|
|
385
|
+
# graph instead of being memset and then thrown away.
|
|
386
|
+
skeleton = da.empty_like(data, dtype=np.float32)
|
|
387
|
+
|
|
381
388
|
# --- worley pre-pass: get global min/max to avoid per-chunk seams ---
|
|
382
389
|
w_norm_range = None
|
|
383
390
|
if worley_blend > 0:
|
|
@@ -417,7 +424,7 @@ def _terrain_dask_numpy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
417
424
|
return _worley_numpy_xy(w_p, x_arr, y_arr)
|
|
418
425
|
|
|
419
426
|
raw_worley = da.map_blocks(
|
|
420
|
-
_chunk_worley_raw,
|
|
427
|
+
_chunk_worley_raw, skeleton, dtype=np.float32,
|
|
421
428
|
meta=np.array((), dtype=np.float32),
|
|
422
429
|
)
|
|
423
430
|
(raw_worley,) = dask.persist(raw_worley)
|
|
@@ -452,7 +459,7 @@ def _terrain_dask_numpy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
452
459
|
out *= zfactor
|
|
453
460
|
return out
|
|
454
461
|
|
|
455
|
-
return da.map_blocks(_chunk_terrain,
|
|
462
|
+
return da.map_blocks(_chunk_terrain, skeleton, dtype=np.float32,
|
|
456
463
|
meta=np.array((), dtype=np.float32),
|
|
457
464
|
**_dask_task_name_kwargs('xrspatial.terrain'))
|
|
458
465
|
|
|
@@ -634,9 +641,13 @@ def _terrain_dask_cupy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
634
641
|
computes global worley noise range so normalization is consistent across
|
|
635
642
|
chunk boundaries.
|
|
636
643
|
"""
|
|
637
|
-
data = data * 0
|
|
638
644
|
height, width = data.shape
|
|
639
645
|
|
|
646
|
+
# See _terrain_dask_numpy: the chunk functions regenerate every cell from
|
|
647
|
+
# coordinates and never read block values, so map over an uninitialised
|
|
648
|
+
# skeleton instead of materialising (and discarding) the template's fill.
|
|
649
|
+
skeleton = da.empty_like(data, dtype=cupy.float32)
|
|
650
|
+
|
|
640
651
|
# --- worley pre-pass: get global min/max to avoid per-chunk seams ---
|
|
641
652
|
w_norm_range = None
|
|
642
653
|
if worley_blend > 0:
|
|
@@ -691,7 +702,7 @@ def _terrain_dask_cupy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
691
702
|
return w_noise
|
|
692
703
|
|
|
693
704
|
raw_worley = da.map_blocks(
|
|
694
|
-
_chunk_worley_raw,
|
|
705
|
+
_chunk_worley_raw, skeleton, dtype=cupy.float32,
|
|
695
706
|
meta=cupy.array((), dtype=cupy.float32),
|
|
696
707
|
)
|
|
697
708
|
(raw_worley,) = dask.persist(raw_worley)
|
|
@@ -719,7 +730,7 @@ def _terrain_dask_cupy(data, seed, x_range_scaled, y_range_scaled, zfactor,
|
|
|
719
730
|
)
|
|
720
731
|
return out
|
|
721
732
|
|
|
722
|
-
data = da.map_blocks(_chunk_terrain,
|
|
733
|
+
data = da.map_blocks(_chunk_terrain, skeleton, dtype=cupy.float32,
|
|
723
734
|
meta=cupy.array((), dtype=cupy.float32),
|
|
724
735
|
**_dask_task_name_kwargs('xrspatial.terrain'))
|
|
725
736
|
|
|
@@ -530,6 +530,63 @@ def test_terrain_all_nan_template_dask_cupy_matches_numpy():
|
|
|
530
530
|
rtol=1e-4, atol=1e-4)
|
|
531
531
|
|
|
532
532
|
|
|
533
|
+
# =====================================================================
|
|
534
|
+
# Issue #3574: the dask backends regenerate every cell from coordinates
|
|
535
|
+
# and must not materialize the template's values. Mapping over a
|
|
536
|
+
# da.empty_like skeleton drops the template (e.g. from_template's
|
|
537
|
+
# da.full(nan)) out of the graph entirely.
|
|
538
|
+
# =====================================================================
|
|
539
|
+
|
|
540
|
+
def _poisoned_template(backend='dask'):
|
|
541
|
+
"""A dask template whose blocks raise if they are ever computed.
|
|
542
|
+
|
|
543
|
+
generate_terrain regenerates terrain from coordinates and never reads
|
|
544
|
+
these values, so its result must compute without tripping the poison.
|
|
545
|
+
"""
|
|
546
|
+
def _boom(block):
|
|
547
|
+
raise AssertionError("template values were materialized")
|
|
548
|
+
|
|
549
|
+
if has_cuda_and_cupy() and 'cupy' in backend:
|
|
550
|
+
import cupy
|
|
551
|
+
base = da.zeros((50, 50), chunks=(10, 10), dtype=cupy.float32,
|
|
552
|
+
meta=cupy.array((), dtype=cupy.float32))
|
|
553
|
+
poisoned = da.map_blocks(_boom, base, dtype=cupy.float32,
|
|
554
|
+
meta=cupy.array((), dtype=cupy.float32))
|
|
555
|
+
else:
|
|
556
|
+
base = da.zeros((50, 50), chunks=(10, 10), dtype=np.float32)
|
|
557
|
+
poisoned = da.map_blocks(_boom, base, dtype=np.float32,
|
|
558
|
+
meta=np.array((), dtype=np.float32))
|
|
559
|
+
return xr.DataArray(poisoned, dims=['y', 'x'])
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
@dask_array_available
|
|
563
|
+
@pytest.mark.parametrize("worley_blend", [0.0, 0.2])
|
|
564
|
+
def test_terrain_dask_does_not_materialize_template(worley_blend):
|
|
565
|
+
"""The template's values must never be read; mapping over an empty
|
|
566
|
+
skeleton keeps them out of the graph (both map_blocks call sites)."""
|
|
567
|
+
terrain = generate_terrain(_poisoned_template(), worley_blend=worley_blend)
|
|
568
|
+
result = terrain.compute() # raises if the template were materialized
|
|
569
|
+
assert np.isfinite(result.data).all()
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
@dask_array_available
|
|
573
|
+
def test_terrain_dask_skeleton_matches_numpy():
|
|
574
|
+
"""Swapping the template for an empty skeleton must not change output."""
|
|
575
|
+
expected = generate_terrain(create_test_arr()).data
|
|
576
|
+
actual = generate_terrain(_poisoned_template()).compute().data
|
|
577
|
+
np.testing.assert_allclose(actual, expected, rtol=1e-5, atol=1e-7)
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
@cuda_and_cupy_available
|
|
581
|
+
@dask_array_available
|
|
582
|
+
@pytest.mark.parametrize("worley_blend", [0.0, 0.2])
|
|
583
|
+
def test_terrain_dask_cupy_does_not_materialize_template(worley_blend):
|
|
584
|
+
terrain = generate_terrain(_poisoned_template(backend='dask+cupy'),
|
|
585
|
+
worley_blend=worley_blend)
|
|
586
|
+
result = terrain.compute()
|
|
587
|
+
assert np.isfinite(result.data.get()).all()
|
|
588
|
+
|
|
589
|
+
|
|
533
590
|
# ---------------------------------------------------------------------------
|
|
534
591
|
# Fused numpy fast path (worley off) -- independent correctness anchor
|
|
535
592
|
# ---------------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/.github/ISSUE_TEMPLATE/feature-proposal.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xarray_spatial.egg-info/scm_file_list.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/blue_band.nc
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/green_band.nc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/swir1_band.nc
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/datasets/sentinel-2/swir2_band.nc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/experimental/min_observable_height.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/_backends/_gpu_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_geotiff_fixtures.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/__init__.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/markers.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/tiff_builders.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/_helpers/tiff_surgery.py
RENAMED
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/attrs/test_contract.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/bench_vs_rioxarray.py
RENAMED
|
File without changes
|
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/README.md
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/__init__.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/_marks.py
RENAMED
|
File without changes
|
{xarray_spatial-0.10.14 → xarray_spatial-0.10.15}/xrspatial/geotiff/tests/golden_corpus/_oracle.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|