From e0545d1127151db8f637b644928920c95bbcb447 Mon Sep 17 00:00:00 2001 From: Hannes Neuschmidt Date: Tue, 15 Sep 2026 10:25:54 +0200 Subject: [PATCH 1/3] Add regression test: Generated STAC not valid --- test/test_util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_util.py b/test/test_util.py index 349db62..ea967fe 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -84,6 +84,7 @@ def test_write_stac(tmp_path, dataset, write_datasets, pre_existing_catalog): ], "ds2": [str((tmp_path / "ds2" / "ds2.nc").resolve(strict=False))], } + catalog.validate_all() def test_write_stac_no_pystac(tmp_path, dataset): From ff29b010634afd433a87a95a6233532309663b90 Mon Sep 17 00:00:00 2001 From: Hannes Neuschmidt Date: Tue, 15 Sep 2026 10:26:21 +0200 Subject: [PATCH 2/3] Fix: STAC geometry not valid --- xcengine/util.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/xcengine/util.py b/xcengine/util.py index 7463d6a..b8cfc1f 100644 --- a/xcengine/util.py +++ b/xcengine/util.py @@ -84,11 +84,13 @@ class Bounds(NamedTuple): geometry={ "type": "Polygon", "coordinates": [ - [bb.left, bb.bottom], - [bb.left, bb.top], - [bb.right, bb.top], - [bb.right, bb.bottom], - [bb.left, bb.bottom], + [ + [bb.left, bb.bottom], + [bb.left, bb.top], + [bb.right, bb.top], + [bb.right, bb.bottom], + [bb.left, bb.bottom], + ] ], }, bbox=[bb.left, bb.bottom, bb.right, bb.top], From 77c97c000e30562011d04fab61db0bf1a2654194 Mon Sep 17 00:00:00 2001 From: Pontus Lurcock Date: Tue, 15 Sep 2026 16:13:45 +0200 Subject: [PATCH 3/3] Update changelog --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 65d129b..e11478a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ * Allow creation of EOAP-only and xcube-server-only images, omitting unnecessary dependencies (#56) * Add support for notebook-assisted stage-in (#23, #91, #95) +* Make stage-out catalogue geometry field GeoJSON-compliant (#101) ## Changes in 0.1.2