[Git][debian-gis-team/eodag][master] 7 commits: Improve 0001-System-importlib.metadata.patch
Antonio Valentino (@antonio.valentino)
gitlab at salsa.debian.org
Thu Sep 4 00:32:49 BST 2025
Antonio Valentino pushed to branch master at Debian GIS Project / eodag
Commits:
609badc1 by Antonio Valentino at 2025-09-03T22:31:39+00:00
Improve 0001-System-importlib.metadata.patch
- - - - -
5e79d45e by Antonio Valentino at 2025-09-03T22:31:54+00:00
New upstream version 3.8.1+ds
- - - - -
8cae162a by Antonio Valentino at 2025-09-03T22:32:04+00:00
Update upstream source from tag 'upstream/3.8.1+ds'
Update to upstream version '3.8.1+ds'
with Debian dir ab4588953ac80a4d33414ae823968050fe1c2f7b
- - - - -
3541c904 by Antonio Valentino at 2025-09-03T22:32:54+00:00
New upstream release
- - - - -
48c12c6d by Antonio Valentino at 2025-09-03T22:34:46+00:00
Refresh all patches.
- - - - -
574678ac by Antonio Valentino at 2025-09-03T23:26:33+00:00
Merge 0001-System-importlib.metadata.patch and 0003-No-pkg_resources.patch
- - - - -
10923b91 by Antonio Valentino at 2025-09-03T23:26:43+00:00
Set distirbution to unstable
- - - - -
21 changed files:
- CHANGES.rst
- README.rst
- charts/eodag-server/Chart.yaml
- debian/changelog
- debian/copyright
- debian/patches/0002-No-setup.py.patch → debian/patches/0001-No-setup.py.patch
- − debian/patches/0001-System-importlib.metadata.patch
- debian/patches/0003-No-pkg_resources.patch → debian/patches/0002-System-importlib.metadata.patch
- debian/patches/0004-vendor-stream_zip.patch → debian/patches/0003-vendor-stream_zip.patch
- debian/patches/series
- docs/_static/params_mapping_offline_infos.json
- docs/stac_rest.rst
- eodag/api/core.py
- eodag/api/product/metadata_mapping.py
- eodag/plugins/authentication/sas_auth.py
- eodag/resources/ext_product_types.json
- eodag/resources/providers.yml
- eodag/resources/stac_provider.yml
- pyproject.toml
- tests/resources/ext_product_types_free_text_search.json
- tests/units/test_core.py
Changes:
=====================================
CHANGES.rst
=====================================
@@ -3,6 +3,30 @@ Release history
===============
+v3.8.1 (2025-09-02)
+===================
+
+Bug Fixes
+---------
+
+* **core**: Guess_product_type using alias (`#1800`_, `99e6ab8`_)
+
+* **plugins**: Filter using matching_url in SASAuth (`#1802`_, `c4e649c`_)
+
+* **providers**: Instrument format for STAC providers (`#1803`_, `e1a56fd`_)
+
+* **providers**: Ssl verify for fedeo_ceda (`#1801`_, `45b891a`_)
+
+.. _#1800: https://github.com/CS-SI/eodag/pull/1800
+.. _#1801: https://github.com/CS-SI/eodag/pull/1801
+.. _#1802: https://github.com/CS-SI/eodag/pull/1802
+.. _#1803: https://github.com/CS-SI/eodag/pull/1803
+.. _45b891a: https://github.com/CS-SI/eodag/commit/45b891a6a527e0143eb23cfa1a9576cd74a56758
+.. _99e6ab8: https://github.com/CS-SI/eodag/commit/99e6ab8fda3847bd8478bc8cc40688923ed13b49
+.. _c4e649c: https://github.com/CS-SI/eodag/commit/c4e649cdadda539be517797d2668638c19b486c8
+.. _e1a56fd: https://github.com/CS-SI/eodag/commit/e1a56fd0670d0aa4ee27cd5cc8a67b5fbea20be9
+
+
v3.8.0 (2025-08-27)
===================
=====================================
README.rst
=====================================
@@ -185,7 +185,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
.. code-block:: bash
- docker run -p 5000:5000 --rm csspace/eodag-server:3.8.0
+ docker run -p 5000:5000 --rm csspace/eodag-server:3.8.1
You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
Simply run:
=====================================
charts/eodag-server/Chart.yaml
=====================================
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: 3.8.0
+appVersion: 3.8.1
dependencies:
- name: common
repository: oci://registry-1.docker.io/bitnamicharts
@@ -15,4 +15,4 @@ name: eodag-server
sources:
- https://github.com/CS-SI/eodag
type: application
-version: 3.8.0
+version: 3.8.1
=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+eodag (3.8.1+ds-1) unstable; urgency=medium
+
+ * New upstream release.
+ * debian/patches:
+ - Improve 0001-System-importlib.metadata.patch.
+ Closes: #1113900.
+ - Merge 0001-System-importlib.metadata.patch and
+ 0003-No-pkg_resources.patch.
+ - Refresh and renumber remaining patches.
+
+ -- Antonio Valentino <antonio.valentino at tiscali.it> Wed, 03 Sep 2025 23:11:33 +0000
+
eodag (3.8.0+ds-1) unstable; urgency=medium
* New upstream release.
=====================================
debian/copyright
=====================================
@@ -24,7 +24,7 @@ Files: debian/*
Copyright: 2024-2025 Antonio Valentino <antonio.valentino at tiscali.it>
License: Apache-2.0
-Files: debian/patches/0004-vendor-stream_zip.patch
+Files: debian/patches/0003-vendor-stream_zip.patch
Copyright: 2021, Department for International Trade
License: Expat
=====================================
debian/patches/0002-No-setup.py.patch → debian/patches/0001-No-setup.py.patch
=====================================
=====================================
debian/patches/0001-System-importlib.metadata.patch deleted
=====================================
@@ -1,31 +0,0 @@
-From: Antonio Valentino <antonio.valentino at tiscali.it>
-Date: Sat, 10 Aug 2024 22:56:33 +0000
-Subject: System importlib.metadata
-
-Forwarded: not-needed
----
- tests/test_requirements.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/test_requirements.py b/tests/test_requirements.py
-index c89ba72..6d14c14 100644
---- a/tests/test_requirements.py
-+++ b/tests/test_requirements.py
-@@ -24,7 +24,7 @@ import sys
- import unittest
- from typing import Any, Iterator
-
--import importlib_metadata
-+import importlib.metadata
- from packaging.requirements import Requirement
- from stdlib_list import stdlib_list
-
-@@ -136,7 +136,7 @@ class TestRequirements(unittest.TestCase):
- project_imports = get_project_imports(project_path)
- setup_requires = get_setup_requires(setup_cfg_path)
- setup_requires.update(get_optional_dependencies(setup_cfg_path, "all"))
-- import_required_dict = importlib_metadata.packages_distributions()
-+ import_required_dict = importlib.metadata.packages_distributions()
- try:
- default_libs = stdlib_list()
- except FileNotFoundError:
=====================================
debian/patches/0003-No-pkg_resources.patch → debian/patches/0002-System-importlib.metadata.patch
=====================================
@@ -1,12 +1,14 @@
From: Antonio Valentino <antonio.valentino at tiscali.it>
-Date: Tue, 22 Apr 2025 20:45:37 +0000
-Subject: No pkg_resources
+Date: Sat, 10 Aug 2024 22:56:33 +0000
+Subject: System importlib.metadata
-Forwarded: https://github.com/CS-SI/eodag/pull/1631
+Forwarded: https://github.com/CS-SI/eodag/pull/1814
---
- eodag/plugins/manager.py | 4 ++--
- tests/units/test_core.py | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ eodag/plugins/manager.py | 4 ++--
+ setup.cfg | 1 -
+ tests/test_requirements.py | 4 ++--
+ tests/units/test_core.py | 2 +-
+ 4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/eodag/plugins/manager.py b/eodag/plugins/manager.py
index 794b77d..0969ba6 100644
@@ -30,8 +32,42 @@ index 794b77d..0969ba6 100644
group="eodag.plugins.{}".format(topic)
):
try:
+diff --git a/setup.cfg b/setup.cfg
+index 87265b4..44d0b8f 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -43,7 +43,6 @@ install_requires =
+ botocore
+ click
+ geojson
+- importlib_metadata >= 5.0
+ jsonpath-ng
+ lxml
+ orjson
+diff --git a/tests/test_requirements.py b/tests/test_requirements.py
+index c89ba72..6d14c14 100644
+--- a/tests/test_requirements.py
++++ b/tests/test_requirements.py
+@@ -24,7 +24,7 @@ import sys
+ import unittest
+ from typing import Any, Iterator
+
+-import importlib_metadata
++import importlib.metadata
+ from packaging.requirements import Requirement
+ from stdlib_list import stdlib_list
+
+@@ -136,7 +136,7 @@ class TestRequirements(unittest.TestCase):
+ project_imports = get_project_imports(project_path)
+ setup_requires = get_setup_requires(setup_cfg_path)
+ setup_requires.update(get_optional_dependencies(setup_cfg_path, "all"))
+- import_required_dict = importlib_metadata.packages_distributions()
++ import_required_dict = importlib.metadata.packages_distributions()
+ try:
+ default_libs = stdlib_list()
+ except FileNotFoundError:
diff --git a/tests/units/test_core.py b/tests/units/test_core.py
-index 1c2153b..edba6be 100644
+index 0b7e6bb..4788093 100644
--- a/tests/units/test_core.py
+++ b/tests/units/test_core.py
@@ -1220,7 +1220,7 @@ class TestCore(TestCoreBase):
=====================================
debian/patches/0004-vendor-stream_zip.patch → debian/patches/0003-vendor-stream_zip.patch
=====================================
@@ -975,7 +975,7 @@ index fd8b331..d04f917 100644
logger = logging.getLogger("eodag.utils.s3")
diff --git a/pyproject.toml b/pyproject.toml
-index 9651ff8..3005915 100644
+index dec2009..76d9078 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -29,7 +29,6 @@ module = [
@@ -987,10 +987,10 @@ index 9651ff8..3005915 100644
"usgs.*"
]
diff --git a/setup.cfg b/setup.cfg
-index 87265b4..95864f6 100644
+index 44d0b8f..72a018e 100644
--- a/setup.cfg
+++ b/setup.cfg
-@@ -57,7 +57,6 @@ install_requires =
+@@ -56,7 +56,6 @@ install_requires =
PyYAML
requests
shapely >= 2.0.6
=====================================
debian/patches/series
=====================================
@@ -1,4 +1,3 @@
-0001-System-importlib.metadata.patch
-0002-No-setup.py.patch
-0003-No-pkg_resources.patch
-0004-vendor-stream_zip.patch
+0001-No-setup.py.patch
+0002-System-importlib.metadata.patch
+0003-vendor-stream_zip.patch
=====================================
docs/_static/params_mapping_offline_infos.json
=====================================
@@ -1,471 +1 @@
-{
- "abstract": {
- "parameter": "abstract",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "Abstract.",
- "type": "String"
- },
- "accessConstraint": {
- "parameter": "accessConstraint",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "Applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations on obtaining the resource",
- "type": "String "
- },
- "acquisitionInformation": {
- "parameter": "acquisitionInformation",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "acquisitionStation": {
- "parameter": "acquisitionStation",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "acquisitionSubType": {
- "parameter": "acquisitionSubType",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "acquisitionType": {
- "parameter": "acquisitionType",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "assets": {
- "parameter": "assets",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "availabilityTime": {
- "parameter": "availabilityTime",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "awsProductId": {
- "parameter": "awsProductId",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "cloudCover": {
- "parameter": "cloudCover",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "collection": {
- "parameter": "collection",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "completionTimeFromAscendingNode": {
- "parameter": "completionTimeFromAscendingNode",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "creationDate": {
- "parameter": "creationDate",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "defaultGeometry": {
- "parameter": "defaultGeometry",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "doi": {
- "parameter": "doi",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "Digital Object Identifier identifying the product (see http://www.doi.org)",
- "type": "String"
- },
- "dopplerFrequency": {
- "parameter": "dopplerFrequency",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "downloadLink": {
- "parameter": "downloadLink",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "extraInformation": {
- "parameter": "extraInformation",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "geometry": {
- "parameter": "geometry",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "gridSquare": {
- "parameter": "gridSquare",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "id": {
- "parameter": "id",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "illuminationAzimuthAngle": {
- "parameter": "illuminationAzimuthAngle",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "illuminationElevationAngle": {
- "parameter": "illuminationElevationAngle",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "instrument": {
- "parameter": "instrument",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "A string identifying the instrument (e.g. MERIS, AATSR, ASAR, HRVIR. SAR).",
- "type": "String"
- },
- "keyword": {
- "parameter": "keyword",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.",
- "type": "String"
- },
- "latitudeBand": {
- "parameter": "latitudeBand",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "links": {
- "parameter": "links",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "modificationDate": {
- "parameter": "modificationDate",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "modifiedAfter": {
- "parameter": "modifiedAfter",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "modifiedBefore": {
- "parameter": "modifiedBefore",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "orbitDirection": {
- "parameter": "orbitDirection",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "orbitNumber": {
- "parameter": "orbitNumber",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "organisationName": {
- "parameter": "organisationName",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "A string identifying the name of the organization responsible for the resource",
- "type": "String"
- },
- "parentIdentifier": {
- "parameter": "parentIdentifier",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "platform": {
- "parameter": "platform",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "A string with the platform short name (e.g. Sentinel-1)",
- "type": "String"
- },
- "platformSerialIdentifier": {
- "parameter": "platformSerialIdentifier",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "A string with the Platform serial identifier",
- "type": "String"
- },
- "polarizationChannels": {
- "parameter": "polarizationChannels",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "polarizationMode": {
- "parameter": "polarizationMode",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "processingCenter": {
- "parameter": "processingCenter",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "processingLevel": {
- "parameter": "processingLevel",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "A string identifying the processing level applied to the entry",
- "type": "String"
- },
- "processorName": {
- "parameter": "processorName",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "productIdentifier": {
- "parameter": "productIdentifier",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "productInformation": {
- "parameter": "productInformation",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "productQualityStatus": {
- "parameter": "productQualityStatus",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "productType": {
- "parameter": "productType",
- "open-search": true,
- "class": "OpenSearch Parameters for Collection Search",
- "description": "A string identifying the entry type (e.g. ER02_SAR_IM__0P, MER_RR__1P, SM_SLC__1S, GES_DISC_AIRH3STD_V005)",
- "type": "String "
- },
- "productVersion": {
- "parameter": "productVersion",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "providerProductType": {
- "parameter": "providerProductType",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "publicationDate": {
- "parameter": "publicationDate",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "The date when the resource was issued",
- "type": "Date time"
- },
- "publishedAfter": {
- "parameter": "publishedAfter",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "publishedBefore": {
- "parameter": "publishedBefore",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "quicklook": {
- "parameter": "quicklook",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "relativeOrbitNumber": {
- "parameter": "relativeOrbitNumber",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "resolution": {
- "parameter": "resolution",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "sensorMode": {
- "parameter": "sensorMode",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "services": {
- "parameter": "services",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "size": {
- "parameter": "size",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "snowCover": {
- "parameter": "snowCover",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "startTimeFromAscendingNode": {
- "parameter": "startTimeFromAscendingNode",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "storageStatus": {
- "parameter": "storageStatus",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "swathIdentifier": {
- "parameter": "swathIdentifier",
- "open-search": true,
- "class": "",
- "description": "",
- "type": ""
- },
- "thumbnail": {
- "parameter": "thumbnail",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "tileIdentifier": {
- "parameter": "tileIdentifier",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "title": {
- "parameter": "title",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "A name given to the resource",
- "type": "String "
- },
- "topicCategory": {
- "parameter": "topicCategory",
- "open-search": true,
- "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search",
- "description": "Main theme(s) of the dataset",
- "type": "String "
- },
- "type": {
- "parameter": "type",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "uid": {
- "parameter": "uid",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- },
- "utmZone": {
- "parameter": "utmZone",
- "open-search": "",
- "class": "",
- "description": "",
- "type": ""
- }
-}
+{"abstract": {"parameter": "abstract", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "Abstract.", "type": "String"}, "accessConstraint": {"parameter": "accessConstraint", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "Applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations on obtaining the resource", "type": "String "}, "acquisitionInformation": {"parameter": "acquisitionInformation", "open-search": "", "class": "", "description": "", "type": ""}, "acquisitionStation": {"parameter": "acquisitionStation", "open-search": true, "class": "", "description": "", "type": ""}, "acquisitionSubType": {"parameter": "acquisitionSubType", "open-search": true, "class": "", "description": "", "type": ""}, "acquisitionType": {"parameter": "acquisitionType", "open-search": true, "class": "", "description": "", "type": ""}, "assets": {"parameter": "assets", "open-search": "", "class": "", "description": "", "type": ""}, "availabilityTime": {"parameter": "availabilityTime", "open-search": true, "class": "", "description": "", "type": ""}, "awsProductId": {"parameter": "awsProductId", "open-search": "", "class": "", "description": "", "type": ""}, "cloudCover": {"parameter": "cloudCover", "open-search": true, "class": "", "description": "", "type": ""}, "collection": {"parameter": "collection", "open-search": "", "class": "", "description": "", "type": ""}, "completionTimeFromAscendingNode": {"parameter": "completionTimeFromAscendingNode", "open-search": true, "class": "", "description": "", "type": ""}, "creationDate": {"parameter": "creationDate", "open-search": true, "class": "", "description": "", "type": ""}, "defaultGeometry": {"parameter": "defaultGeometry", "open-search": "", "class": "", "description": "", "type": ""}, "doi": {"parameter": "doi", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "Digital Object Identifier identifying the product (see http://www.doi.org)", "type": "String"}, "dopplerFrequency": {"parameter": "dopplerFrequency", "open-search": true, "class": "", "description": "", "type": ""}, "downloadLink": {"parameter": "downloadLink", "open-search": "", "class": "", "description": "", "type": ""}, "extraInformation": {"parameter": "extraInformation", "open-search": "", "class": "", "description": "", "type": ""}, "geometry": {"parameter": "geometry", "open-search": "", "class": "", "description": "", "type": ""}, "gridSquare": {"parameter": "gridSquare", "open-search": "", "class": "", "description": "", "type": ""}, "id": {"parameter": "id", "open-search": "", "class": "", "description": "", "type": ""}, "illuminationAzimuthAngle": {"parameter": "illuminationAzimuthAngle", "open-search": true, "class": "", "description": "", "type": ""}, "illuminationElevationAngle": {"parameter": "illuminationElevationAngle", "open-search": true, "class": "", "description": "", "type": ""}, "instrument": {"parameter": "instrument", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "A string identifying the instrument (e.g. MERIS, AATSR, ASAR, HRVIR. SAR).", "type": "String"}, "keyword": {"parameter": "keyword", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.", "type": "String"}, "latitudeBand": {"parameter": "latitudeBand", "open-search": "", "class": "", "description": "", "type": ""}, "links": {"parameter": "links", "open-search": "", "class": "", "description": "", "type": ""}, "modificationDate": {"parameter": "modificationDate", "open-search": true, "class": "", "description": "", "type": ""}, "modifiedAfter": {"parameter": "modifiedAfter", "open-search": "", "class": "", "description": "", "type": ""}, "modifiedBefore": {"parameter": "modifiedBefore", "open-search": "", "class": "", "description": "", "type": ""}, "orbitDirection": {"parameter": "orbitDirection", "open-search": true, "class": "", "description": "", "type": ""}, "orbitNumber": {"parameter": "orbitNumber", "open-search": true, "class": "", "description": "", "type": ""}, "organisationName": {"parameter": "organisationName", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "A string identifying the name of the organization responsible for the resource", "type": "String"}, "parentIdentifier": {"parameter": "parentIdentifier", "open-search": true, "class": "", "description": "", "type": ""}, "platform": {"parameter": "platform", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "A string with the platform short name (e.g. Sentinel-1)", "type": "String"}, "platformSerialIdentifier": {"parameter": "platformSerialIdentifier", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "A string with the Platform serial identifier", "type": "String"}, "polarizationChannels": {"parameter": "polarizationChannels", "open-search": "", "class": "", "description": "", "type": ""}, "polarizationMode": {"parameter": "polarizationMode", "open-search": "", "class": "", "description": "", "type": ""}, "processingCenter": {"parameter": "processingCenter", "open-search": true, "class": "", "description": "", "type": ""}, "processingLevel": {"parameter": "processingLevel", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "A string identifying the processing level applied to the entry", "type": "String"}, "processorName": {"parameter": "processorName", "open-search": true, "class": "", "description": "", "type": ""}, "productIdentifier": {"parameter": "productIdentifier", "open-search": "", "class": "", "description": "", "type": ""}, "productInformation": {"parameter": "productInformation", "open-search": "", "class": "", "description": "", "type": ""}, "productQualityStatus": {"parameter": "productQualityStatus", "open-search": true, "class": "", "description": "", "type": ""}, "productType": {"parameter": "productType", "open-search": true, "class": "OpenSearch Parameters for Collection Search", "description": "A string identifying the entry type (e.g. ER02_SAR_IM__0P, MER_RR__1P, SM_SLC__1S, GES_DISC_AIRH3STD_V005)", "type": "String "}, "productVersion": {"parameter": "productVersion", "open-search": true, "class": "", "description": "", "type": ""}, "providerProductType": {"parameter": "providerProductType", "open-search": "", "class": "", "description": "", "type": ""}, "publicationDate": {"parameter": "publicationDate", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "The date when the resource was issued", "type": "Date time"}, "publishedAfter": {"parameter": "publishedAfter", "open-search": "", "class": "", "description": "", "type": ""}, "publishedBefore": {"parameter": "publishedBefore", "open-search": "", "class": "", "description": "", "type": ""}, "quicklook": {"parameter": "quicklook", "open-search": "", "class": "", "description": "", "type": ""}, "relativeOrbitNumber": {"parameter": "relativeOrbitNumber", "open-search": "", "class": "", "description": "", "type": ""}, "resolution": {"parameter": "resolution", "open-search": true, "class": "", "description": "", "type": ""}, "sensorMode": {"parameter": "sensorMode", "open-search": true, "class": "", "description": "", "type": ""}, "services": {"parameter": "services", "open-search": "", "class": "", "description": "", "type": ""}, "size": {"parameter": "size", "open-search": "", "class": "", "description": "", "type": ""}, "snowCover": {"parameter": "snowCover", "open-search": true, "class": "", "description": "", "type": ""}, "startTimeFromAscendingNode": {"parameter": "startTimeFromAscendingNode", "open-search": true, "class": "", "description": "", "type": ""}, "storageStatus": {"parameter": "storageStatus", "open-search": "", "class": "", "description": "", "type": ""}, "swathIdentifier": {"parameter": "swathIdentifier", "open-search": true, "class": "", "description": "", "type": ""}, "thumbnail": {"parameter": "thumbnail", "open-search": "", "class": "", "description": "", "type": ""}, "tileIdentifier": {"parameter": "tileIdentifier", "open-search": "", "class": "", "description": "", "type": ""}, "title": {"parameter": "title", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "A name given to the resource", "type": "String "}, "topicCategory": {"parameter": "topicCategory", "open-search": true, "class": "Additional INSPIRE obligated OpenSearch Parameters for Collection Search", "description": "Main theme(s) of the dataset", "type": "String "}, "type": {"parameter": "type", "open-search": "", "class": "", "description": "", "type": ""}, "uid": {"parameter": "uid", "open-search": "", "class": "", "description": "", "type": ""}, "utmZone": {"parameter": "utmZone", "open-search": "", "class": "", "description": "", "type": ""}}
=====================================
docs/stac_rest.rst
=====================================
@@ -93,7 +93,7 @@ available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.
.. code-block:: bash
- $ docker run -p 5000:5000 --rm csspace/eodag-server:3.8.0
+ $ docker run -p 5000:5000 --rm csspace/eodag-server:3.8.1
Example
-------
=====================================
eodag/api/core.py
=====================================
@@ -1117,7 +1117,8 @@ class EODataAccessGateway:
if not (max_start <= min_end):
continue
- guesses_with_score.append((pt_id, score))
+ pt_alias = pt_dict.get("alias", pt_id)
+ guesses_with_score.append((pt_alias, score))
if guesses_with_score:
# sort by score descending, then pt_id for stability
=====================================
eodag/api/product/metadata_mapping.py
=====================================
@@ -523,7 +523,7 @@ def format_metadata(search_param: str, *args: Any, **kwargs: Any) -> str:
value = MetadataFormatter.convert_to_geojson(value)
elif not isinstance(value, str):
raise TypeError(
- f"convert_replace_str expects a string or a dict (apply to_geojson). Got {type(value)}"
+ f"convert_replace_str expects a string or a dict (apply to_geojson). Got {type(value)}: {value}"
)
old, new = ast.literal_eval(args)
=====================================
eodag/plugins/authentication/sas_auth.py
=====================================
@@ -18,6 +18,7 @@
from __future__ import annotations
import logging
+import re
from json import JSONDecodeError
from typing import TYPE_CHECKING, Optional
@@ -29,6 +30,8 @@ from eodag.utils import HTTP_REQ_TIMEOUT, USER_AGENT, deepcopy, format_dict_item
from eodag.utils.exceptions import AuthenticationError, TimeOutError
if TYPE_CHECKING:
+ from typing import Pattern
+
from requests import PreparedRequest
@@ -44,15 +47,24 @@ class RequestsSASAuth(AuthBase):
signed_url_key: str,
headers: Optional[dict[str, str]] = None,
ssl_verify: bool = True,
+ matching_url: Optional[Pattern[str]] = None,
) -> None:
self.auth_uri = auth_uri
self.signed_url_key = signed_url_key
self.headers = headers
self.signed_urls: dict[str, str] = {}
self.ssl_verify = ssl_verify
+ self.matching_url = matching_url
def __call__(self, request: PreparedRequest) -> PreparedRequest:
"""Perform the actual authentication"""
+ # if matching_url is set, check if request.url matches
+ if (
+ self.matching_url
+ and request.url
+ and not self.matching_url.match(request.url)
+ ):
+ return request
# update headers
if self.headers and isinstance(self.headers, dict):
@@ -118,6 +130,8 @@ class SASAuth(Authentication):
# update headers with subscription key if exists
apikey = getattr(self.config, "credentials", {}).get("apikey")
ssl_verify = getattr(self.config, "ssl_verify", True)
+ if matching_url := getattr(self.config, "matching_url", None):
+ matching_url = re.compile(matching_url)
if apikey:
headers_update = format_dict_items(self.config.headers, apikey=apikey)
headers.update(headers_update)
@@ -127,4 +141,5 @@ class SASAuth(Authentication):
signed_url_key=self.config.signed_url_key,
headers=headers,
ssl_verify=ssl_verify,
+ matching_url=matching_url,
)
=====================================
eodag/resources/ext_product_types.json
=====================================
The diff for this file was not included because it is too large.
=====================================
eodag/resources/providers.yml
=====================================
@@ -5939,7 +5939,7 @@
search: !plugin
type: StacSearch
api_endpoint: 'https://fedeo.ceos.org/search'
- ssl_verify: false
+ ssl_verify: true
timeout: 20
discover_product_types:
fetch_url: 'https://fedeo.ceos.org/series/eo:organisationName/CEDA/'
=====================================
eodag/resources/stac_provider.yml
=====================================
@@ -83,7 +83,7 @@ search:
instrument:
# to test
- '{{"query":{{"instruments":{{"eq":"{instrument}"}}}}}}'
- - '$.properties.instruments'
+ - '{$.properties.instruments#csv_list}'
# INSPIRE obligated OpenSearch Parameters for Collection Search (Table 4)
title: '$.id'
abstract: '$.properties.description'
=====================================
pyproject.toml
=====================================
@@ -3,7 +3,7 @@ requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
-fallback_version = "3.8.1.dev0"
+fallback_version = "3.8.2.dev0"
[tool.coverage.report]
exclude_lines = [
=====================================
tests/resources/ext_product_types_free_text_search.json
=====================================
@@ -63,6 +63,7 @@
},
"foobar": {
"abstract": "abstract FOOBAR - This is FOOBAR",
+ "alias": "foobar_alias",
"instrument": "Not Available",
"platform": "Not Available",
"platformSerialIdentifier": "Not Available",
=====================================
tests/units/test_core.py
=====================================
@@ -741,17 +741,17 @@ class TestCore(TestCoreBase):
# Free text search: match the phrase in title
filter = '"FOOBAR COLLECTION"'
product_types_ids = self.dag.guess_product_type(filter)
- self.assertListEqual(product_types_ids, ["foobar"])
+ self.assertListEqual(product_types_ids, ["foobar_alias"])
# Free text search: Using OR term match
filter = "FOOBAR OR BAR"
product_types_ids = self.dag.guess_product_type(filter)
- self.assertListEqual(sorted(product_types_ids), ["bar", "foobar"])
+ self.assertListEqual(sorted(product_types_ids), ["bar", "foobar_alias"])
# Free text search: using OR term match with additional filter UNION
filter = "FOOBAR OR BAR"
product_types_ids = self.dag.guess_product_type(filter, title="FOO")
- self.assertListEqual(sorted(product_types_ids), ["bar", "foo", "foobar"])
+ self.assertListEqual(sorted(product_types_ids), ["bar", "foo", "foobar_alias"])
# Free text search: Using AND term match
filter = "suspendisse AND FOO"
@@ -761,14 +761,14 @@ class TestCore(TestCoreBase):
# Free text search: Parentheses can be used to group terms
filter = "(FOOBAR OR BAR) AND titleFOOBAR"
product_types_ids = self.dag.guess_product_type(filter)
- self.assertListEqual(product_types_ids, ["foobar"])
+ self.assertListEqual(product_types_ids, ["foobar_alias"])
# Free text search: multiple terms joined with param search (INTERSECT)
filter = "FOOBAR OR BAR"
product_types_ids = self.dag.guess_product_type(
filter, intersect=True, title="titleFOO*"
)
- self.assertListEqual(product_types_ids, ["foobar"])
+ self.assertListEqual(product_types_ids, ["foobar_alias"])
def test_guess_product_type_with_mission_dates(self):
"""Testing the datetime interval"""
@@ -2481,6 +2481,7 @@ class TestCoreSearch(TestCoreBase):
self.assertEqual(search_plugins[0].provider, "peps")
finally:
self.dag.set_preferred_provider(prev_fav_provider)
+ products["S2_MSI_L1C"].pop("alias")
def test__prepare_search_no_plugins_when_search_by_id(self):
"""_prepare_search must not return the search and auth plugins for a search by id"""
View it on GitLab: https://salsa.debian.org/debian-gis-team/eodag/-/compare/5e38020597c4c72c2ec19da064ba9986912f3d1f...10923b916fd5196b7a6083baa46569a3866ad9dd
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/eodag/-/compare/5e38020597c4c72c2ec19da064ba9986912f3d1f...10923b916fd5196b7a6083baa46569a3866ad9dd
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250903/5e0f62ce/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list