[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