From 466152fe9911b04c08bb648b6dda21943a763280 Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Fri, 31 Jan 2025 22:42:32 +0100 Subject: [PATCH] Fix up tests by signing all planetary computer urls (#39) Also pin testing env under zarr 3 and pystac 1.12: * pystac 1.12 migrates to projection extension v2 which is not supported by stackstac (gjoseph92/stackstac#262) * zarr 3 has as-yet unresolved issues with fsspec --- .github/workflows/tests.yml | 4 +- README.md | 2 +- environment.yaml | 7 +- .../fixtures/simple_reference_file.yaml | 322 ------------------ tests/cassettes/fixtures/simple_search.yaml | 53 --- tests/cassettes/fixtures/simple_zarr.yaml | 299 ---------------- tests/conftest.py | 45 +-- tests/test_core.py | 45 ++- tests/utils.py | 39 +++ 9 files changed, 91 insertions(+), 725 deletions(-) delete mode 100644 tests/cassettes/fixtures/simple_reference_file.yaml delete mode 100644 tests/cassettes/fixtures/simple_search.yaml delete mode 100644 tests/cassettes/fixtures/simple_zarr.yaml create mode 100644 tests/utils.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0d5c78c..678afdd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] environment-file: ["environment.yaml"] defaults: run: @@ -46,4 +46,4 @@ jobs: - name: run tests id: status - run: pytest -v --cov xpystac --cov-report term-missing --vcr-record=none . + run: pytest -v --cov xpystac --cov-report term-missing . diff --git a/README.md b/README.md index dbb94c1..df774e1 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ ref: https://planetarycomputer.microsoft.com/docs/quickstarts/reading-zarr-data/ ## Install ```bash -pip install git+https://github.com/stac-utils/xpystac +pip install xpystac ``` ## How it works diff --git a/environment.yaml b/environment.yaml index e4988d1..565a838 100644 --- a/environment.yaml +++ b/environment.yaml @@ -5,7 +5,7 @@ channels: dependencies: - python # required - - pystac + - pystac<1.12 - xarray # optional - adlfs @@ -17,9 +17,8 @@ dependencies: - requests - rioxarray - stackstac - - urllib3<2 # temporary pin https://github.com/stac-utils/pystac-client/issues/509 - - zarr + - urllib3 + - zarr<3 # testing - pytest - pytest-cov - - pytest-vcr diff --git a/tests/cassettes/fixtures/simple_reference_file.yaml b/tests/cassettes/fixtures/simple_reference_file.yaml deleted file mode 100644 index e81e807..0000000 --- a/tests/cassettes/fixtures/simple_reference_file.yaml +++ /dev/null @@ -1,322 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1 - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '3289' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:31:59 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163159Z-td37ukup294gh5c8sryx58rtfc0000000czg00000000cee6 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1/ - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '3289' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:31:59 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163159Z-td37ukup294gh5c8sryx58rtfc0000000czg00000000ceev - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1/collections/nasa-nex-gddp-cmip6 - response: - body: - string: !!binary | - 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 - UbrKQBNkNgW0GLgu1V/ds0Qegu8ZTw== - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '4069' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:31:59 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163159Z-td37ukup294gh5c8sryx58rtfc0000000czg00000000cef2 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/fixtures/simple_search.yaml b/tests/cassettes/fixtures/simple_search.yaml deleted file mode 100644 index 6cf0ef7..0000000 --- a/tests/cassettes/fixtures/simple_search.yaml +++ /dev/null @@ -1,53 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://earth-search.aws.element84.com/v1 - response: - body: - string: '{"stac_version":"1.0.0","type":"Catalog","id":"earth-search-aws","title":"Earth-Search - AWS","description":"A STAC API of public datasets on AWS","links":[{"rel":"self","type":"application/json","href":"https://earth-search.aws.element84.com/v1"},{"rel":"root","type":"application/json","href":"https://earth-search.aws.element84.com/v1"},{"rel":"conformance","type":"application/json","href":"https://earth-search.aws.element84.com/v1/conformance"},{"rel":"data","type":"application/json","href":"https://earth-search.aws.element84.com/v1/collections"},{"rel":"search","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/search","method":"GET"},{"rel":"search","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/search","method":"POST"},{"rel":"aggregate","type":"application/json","href":"https://earth-search.aws.element84.com/v1/aggregate","method":"GET"},{"rel":"aggregations","type":"application/json","href":"https://earth-search.aws.element84.com/v1/aggregations"},{"rel":"service-desc","type":"application/vnd.oai.openapi","href":"https://earth-search.aws.element84.com/v1/api"},{"rel":"service-doc","type":"text/html","href":"https://earth-search.aws.element84.com/v1/api.html"},{"rel":"http://www.opengis.net/def/rel/ogc/1.0/queryables","type":"application/schema+json","href":"https://earth-search.aws.element84.com/v1/queryables"},{"rel":"server","type":"text/html","href":"https://stac-utils.github.io/stac-server/"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/naip"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/landsat-c2-l2"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-90"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-1-grd"}],"conformsTo":["https://api.stacspec.org/v1.0.0/core","https://api.stacspec.org/v1.0.0/collections","https://api.stacspec.org/v1.0.0/ogcapi-features","https://api.stacspec.org/v1.0.0/item-search","https://api.stacspec.org/v1.0.0-rc.3/ogcapi-features#fields","https://api.stacspec.org/v1.0.0-rc.2/ogcapi-features#sort","https://api.stacspec.org/v1.0.0-rc.2/ogcapi-features#query","https://api.stacspec.org/v1.0.0-rc.3/item-search#fields","https://api.stacspec.org/v1.0.0-rc.2/item-search#sort","https://api.stacspec.org/v1.0.0-rc.2/item-search#query","https://api.stacspec.org/v0.3.0/aggregation","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"]}' - headers: - Connection: - - keep-alive - Content-Length: - - '3131' - Content-Type: - - application/json; charset=utf-8 - Date: - - Wed, 14 Jun 2023 16:31:57 GMT - Via: - - 1.1 0d3bc0372b2119705524079214a98b3e.cloudfront.net (CloudFront) - X-Amz-Cf-Id: - - DQbi7xc6BgAPe9SM3zebAv-aYtRAak_8QRJrWQKGB9G-PqCro0cWWA== - X-Amz-Cf-Pop: - - EWR52-C2 - X-Amzn-Trace-Id: - - Root=1-6489eb7d-0ab1c2021e3f6bce4f294a5c;Sampled=0;lineage=9e2884e9:0 - X-Cache: - - Miss from cloudfront - access-control-allow-origin: - - '*' - etag: - - W/"c3b-v7CpzZWq4m5R7IzejcSaa8UIyAI" - x-amz-apigw-id: - - GhG7tH0pPHcF3uA= - x-amzn-Remapped-content-length: - - '3131' - x-amzn-RequestId: - - 6e1291ed-cb44-429d-91d1-cbc60c070ab7 - x-powered-by: - - Express - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/fixtures/simple_zarr.yaml b/tests/cassettes/fixtures/simple_zarr.yaml deleted file mode 100644 index 60c5758..0000000 --- a/tests/cassettes/fixtures/simple_zarr.yaml +++ /dev/null @@ -1,299 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1 - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '3289' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:32:07 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163207Z-9khwnpca1h4qb8vkkchd1eunes00000002bg00000000q7mz - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1/ - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '3289' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:32:07 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163207Z-9khwnpca1h4qb8vkkchd1eunes00000002bg00000000q7pq - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 - method: GET - uri: https://planetarycomputer.microsoft.com/api/stac/v1/collections/daymet-daily-hi - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Length: - - '2771' - Content-Type: - - application/json - Date: - - Wed, 14 Jun 2023 16:32:07 GMT - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - X-Cache: - - CONFIG_NOCACHE - content-encoding: - - br - vary: - - Accept-Encoding - x-azure-ref: - - 20230614T163207Z-9khwnpca1h4qb8vkkchd1eunes00000002bg00000000q7q5 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/conftest.py b/tests/conftest.py index c32568d..ecf58cf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,8 @@ import pystac import pystac_client import pytest -import vcr # type: ignore -# copied from https://github.com/stac-utils/pystac-client/blob/v0.6.0/tests/helpers.py#L7-L11 -STAC_URLS = { - "PLANETARY-COMPUTER": "https://planetarycomputer.microsoft.com/api/stac/v1", - "EARTH-SEARCH": "https://earth-search.aws.element84.com/v1", - "MLHUB": "https://api.radiant.earth/mlhub/v1", -} +from tests.utils import STAC_URLS @pytest.fixture(scope="module") @@ -26,34 +20,9 @@ def simple_cog(simple_item) -> pystac.Asset: @pytest.fixture(scope="module") def simple_search() -> pystac_client.ItemSearch: - with vcr.use_cassette("tests/cassettes/fixtures/simple_search.yaml"): - client = pystac_client.Client.open(STAC_URLS["EARTH-SEARCH"]) - return client.search( - intersects=dict(type="Point", coordinates=[-105.78, 35.79]), - collections=["sentinel-2-l2a"], - datetime="2020-05-01", - ) - - -@pytest.fixture(scope="module") -def simple_reference_file() -> pystac.Asset: - with vcr.use_cassette("tests/cassettes/fixtures/simple_reference_file.yaml"): - client = pystac_client.Client.open(STAC_URLS["PLANETARY-COMPUTER"]) - collection = client.get_collection("nasa-nex-gddp-cmip6") - assert collection is not None - return collection.assets["ACCESS-CM2.historical"] - - -@pytest.fixture(scope="module") -def simple_zarr() -> pystac.Asset: - with vcr.use_cassette("tests/cassettes/fixtures/simple_zarr.yaml"): - catalog = pystac_client.Client.open(STAC_URLS["PLANETARY-COMPUTER"]) - collection = catalog.get_collection("daymet-daily-hi") - assert collection is not None - return collection.assets["zarr-abfs"] - - -@pytest.fixture(scope="module") -def complex_zarr(simple_zarr) -> pystac.Asset: - simple_zarr.extra_fields["xarray:open_kwargs"]["engine"] = "zarr" - return simple_zarr + client = pystac_client.Client.open(STAC_URLS["EARTH-SEARCH"]) + return client.search( + intersects=dict(type="Point", coordinates=[-105.78, 35.79]), + collections=["sentinel-2-l2a"], + datetime="2020-05-01", + ) diff --git a/tests/test_core.py b/tests/test_core.py index e1425ff..e052ef0 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -1,7 +1,9 @@ import dask.array +import pystac_client import pytest import xarray as xr +from tests.utils import STAC_URLS, requires_planetary_computer from xpystac.core import to_xarray @@ -44,21 +46,52 @@ def test_to_xarray_with_bad_type(): to_xarray("foo") -def test_to_xarray_reference_file(simple_reference_file): - ds = to_xarray(simple_reference_file) +@requires_planetary_computer +def test_to_xarray_reference_file(): + import planetary_computer + + client = pystac_client.Client.open( + STAC_URLS["PLANETARY-COMPUTER"], modifier=planetary_computer.sign_inplace + ) + collection = client.get_collection("nasa-nex-gddp-cmip6") + assert collection is not None + kerchunk_asset = collection.assets["ACCESS-CM2.historical"] + + ds = to_xarray(kerchunk_asset) assert ds for da in ds.data_vars.values(): if da.ndim >= 2: assert hasattr(da.data, "dask") -def test_to_xarray_zarr(simple_zarr): - ds = to_xarray(simple_zarr) +@requires_planetary_computer +def test_to_xarray_zarr(): + import planetary_computer + + catalog = pystac_client.Client.open( + STAC_URLS["PLANETARY-COMPUTER"], modifier=planetary_computer.sign_inplace + ) + collection = catalog.get_collection("daymet-daily-hi") + assert collection is not None + zarr_asset = collection.assets["zarr-abfs"] + + ds = to_xarray(zarr_asset) for da in ds.data_vars.values(): if da.ndim >= 2: assert hasattr(da.data, "dask"), da.name -def test_to_xarray_zarr_with_open_kwargs_engine(complex_zarr): - ds = to_xarray(complex_zarr) +@requires_planetary_computer +def test_to_xarray_zarr_with_open_kwargs_engine(): + import planetary_computer + + catalog = pystac_client.Client.open( + STAC_URLS["PLANETARY-COMPUTER"], modifier=planetary_computer.sign_inplace + ) + collection = catalog.get_collection("daymet-daily-hi") + assert collection is not None + zarr_asset = collection.assets["zarr-abfs"] + zarr_asset.extra_fields["xarray:open_kwargs"]["engine"] = "zarr" + + ds = to_xarray(zarr_asset) assert ds diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 0000000..13fce99 --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,39 @@ +import importlib +from typing import Optional + +import pytest +from packaging.version import Version + + +# Copied from https://github.com/zarr-developers/VirtualiZarr/blob/9c3d0f90cc79fa20fe33833e244ae28a1ee91f17/virtualizarr/tests/__init__.py#L17-L34 +def _importorskip( + modname: str, minversion: Optional[str] = None +) -> tuple[bool, pytest.MarkDecorator]: + try: + mod = importlib.import_module(modname) + has = True + if minversion is not None: + v = getattr(mod, "__version__", "999") + if Version(v) < Version(minversion): + raise ImportError("Minimum version not satisfied") + except ImportError: + has = False + + reason = f"requires {modname}" + if minversion is not None: + reason += f">={minversion}" + func = pytest.mark.skipif(not has, reason=reason) + return has, func + + +has_planetary_computer, requires_planetary_computer = _importorskip( + "planetary_computer" +) + + +# copied from https://github.com/stac-utils/pystac-client/blob/v0.6.0/tests/helpers.py#L7-L11 +STAC_URLS = { + "PLANETARY-COMPUTER": "https://planetarycomputer.microsoft.com/api/stac/v1", + "EARTH-SEARCH": "https://earth-search.aws.element84.com/v1", + "MLHUB": "https://api.radiant.earth/mlhub/v1", +}