eodag 3.9.1__tar.gz → 3.10.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. eodag-3.10.1/.github/workflows/package.yml +57 -0
  2. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/test.yml +5 -5
  3. {eodag-3.9.1 → eodag-3.10.1}/CHANGES.rst +101 -0
  4. {eodag-3.9.1 → eodag-3.10.1}/CONTRIBUTING.rst +1 -1
  5. eodag-3.10.1/Dockerfile +41 -0
  6. {eodag-3.9.1/eodag.egg-info → eodag-3.10.1}/PKG-INFO +13 -2
  7. {eodag-3.9.1 → eodag-3.10.1}/README.rst +10 -1
  8. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/Chart.yaml +2 -2
  9. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/product_types_information.csv +5 -2
  10. {eodag-3.9.1 → eodag-3.10.1}/docs/cli_user_guide.rst +9 -0
  11. {eodag-3.9.1 → eodag-3.10.1}/docs/conf.py +1 -0
  12. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins.rst +2 -1
  13. {eodag-3.9.1 → eodag-3.10.1}/docs/stac_rest.rst +1 -1
  14. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/core.py +8 -2
  15. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/_product.py +9 -13
  16. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/metadata_mapping.py +7 -4
  17. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/aws_auth.py +36 -1
  18. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/base.py +17 -0
  19. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/sas_auth.py +15 -0
  20. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/filter_latest_intersect.py +1 -0
  21. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/filter_overlap.py +3 -7
  22. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/aws.py +1 -1
  23. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/creodias_s3.py +7 -0
  24. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/build_search_result.py +41 -14
  25. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/cop_marine.py +6 -0
  26. eodag-3.10.1/eodag/resources/ext_collections.json +1 -0
  27. eodag-3.10.1/eodag/resources/ext_product_types.json +1 -0
  28. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/product_types.yml +81 -36
  29. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/providers.yml +50 -33
  30. {eodag-3.9.1 → eodag-3.10.1}/eodag/types/queryables.py +1 -0
  31. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/__init__.py +44 -2
  32. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/dates.py +12 -0
  33. {eodag-3.9.1 → eodag-3.10.1/eodag.egg-info}/PKG-INFO +13 -2
  34. {eodag-3.9.1 → eodag-3.10.1}/eodag.egg-info/SOURCES.txt +3 -0
  35. {eodag-3.9.1 → eodag-3.10.1}/eodag.egg-info/requires.txt +1 -0
  36. {eodag-3.9.1 → eodag-3.10.1}/pyproject.toml +2 -4
  37. {eodag-3.9.1 → eodag-3.10.1}/setup.cfg +2 -0
  38. {eodag-3.9.1 → eodag-3.10.1}/tox.ini +3 -2
  39. eodag-3.9.1/eodag/resources/ext_product_types.json +0 -1
  40. {eodag-3.9.1 → eodag-3.10.1}/.dockerignore +0 -0
  41. {eodag-3.9.1 → eodag-3.10.1}/.editorconfig +0 -0
  42. {eodag-3.9.1 → eodag-3.10.1}/.gitattributes +0 -0
  43. {eodag-3.9.1 → eodag-3.10.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  44. {eodag-3.9.1 → eodag-3.10.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  45. {eodag-3.9.1 → eodag-3.10.1}/.github/pull_request_template.md +0 -0
  46. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/changelog.yml +0 -0
  47. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/deploy.yml +0 -0
  48. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/fetch.yml +0 -0
  49. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/github-pages.yml +0 -0
  50. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/lint-pr-title.yml +0 -0
  51. {eodag-3.9.1 → eodag-3.10.1}/.github/workflows/publish.yml +0 -0
  52. {eodag-3.9.1 → eodag-3.10.1}/.gitignore +0 -0
  53. {eodag-3.9.1 → eodag-3.10.1}/.pre-commit-config.yaml +0 -0
  54. {eodag-3.9.1 → eodag-3.10.1}/BREAKING_CHANGES.rst +0 -0
  55. {eodag-3.9.1 → eodag-3.10.1}/CODE_OF_CONDUCT.md +0 -0
  56. {eodag-3.9.1 → eodag-3.10.1}/LICENSE +0 -0
  57. {eodag-3.9.1 → eodag-3.10.1}/MANIFEST.in +0 -0
  58. {eodag-3.9.1 → eodag-3.10.1}/NOTICE +0 -0
  59. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/Chart.lock +0 -0
  60. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/README.md +0 -0
  61. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/NOTES.txt +0 -0
  62. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/_helpers.tpl +0 -0
  63. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/configmap.yaml +0 -0
  64. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/deployment.yaml +0 -0
  65. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/extra-list.yaml +0 -0
  66. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/hpa.yaml +0 -0
  67. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/ingress.yaml +0 -0
  68. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/pv.yaml +0 -0
  69. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/pvc.yaml +0 -0
  70. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/secret.yaml +0 -0
  71. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/service.yaml +0 -0
  72. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/templates/serviceaccount.yaml +0 -0
  73. {eodag-3.9.1 → eodag-3.10.1}/charts/eodag-server/values.yaml +0 -0
  74. {eodag-3.9.1 → eodag-3.10.1}/docker/run-stac-server.sh +0 -0
  75. {eodag-3.9.1 → eodag-3.10.1}/docker/stac-browser.dockerfile +0 -0
  76. {eodag-3.9.1 → eodag-3.10.1}/docker/stac-server.dockerfile +0 -0
  77. {eodag-3.9.1 → eodag-3.10.1}/docker-compose.yml +0 -0
  78. {eodag-3.9.1 → eodag-3.10.1}/docs/Makefile +0 -0
  79. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/custom.css +0 -0
  80. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/download_methods.png +0 -0
  81. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_advanced_calls_graph.svg +0 -0
  82. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_bycs.png +0 -0
  83. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_fetch_product_types.png +0 -0
  84. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_logo_160.png +0 -0
  85. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_logo_160r.png +0 -0
  86. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_main_calls_graph.svg +0 -0
  87. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_overview.png +0 -0
  88. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/eodag_stac_server.png +0 -0
  89. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/favicon-32x32.png +0 -0
  90. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/params_mapping_extra.csv +0 -0
  91. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/params_mapping_offline_infos.json +0 -0
  92. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/params_mapping_opensearch.csv +0 -0
  93. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/progress_1.png +0 -0
  94. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/progress_1_none.png +0 -0
  95. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/progress_2.png +0 -0
  96. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/progress_2_none.png +0 -0
  97. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/stac_browser_example.png +0 -0
  98. {eodag-3.9.1 → eodag-3.10.1}/docs/_static/stac_browser_example_600.png +0 -0
  99. {eodag-3.9.1 → eodag-3.10.1}/docs/add_product_type.rst +0 -0
  100. {eodag-3.9.1 → eodag-3.10.1}/docs/add_provider.rst +0 -0
  101. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/assets.rst +0 -0
  102. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/call_graphs.rst +0 -0
  103. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/core.rst +0 -0
  104. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/eoproduct.rst +0 -0
  105. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/exceptions.rst +0 -0
  106. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/index.rst +0 -0
  107. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/searchresult.rst +0 -0
  108. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/types.rst +0 -0
  109. {eodag-3.9.1 → eodag-3.10.1}/docs/api_reference/utils.rst +0 -0
  110. {eodag-3.9.1 → eodag-3.10.1}/docs/api_user_guide.rst +0 -0
  111. {eodag-3.9.1 → eodag-3.10.1}/docs/breaking_changes.rst +0 -0
  112. {eodag-3.9.1 → eodag-3.10.1}/docs/changelog.rst +0 -0
  113. {eodag-3.9.1 → eodag-3.10.1}/docs/contribute.rst +0 -0
  114. {eodag-3.9.1 → eodag-3.10.1}/docs/drivers.rst +0 -0
  115. {eodag-3.9.1 → eodag-3.10.1}/docs/ecosystem.rst +0 -0
  116. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/configure.rst +0 -0
  117. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/features_overview.ipynb +0 -0
  118. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/index.rst +0 -0
  119. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/install.rst +0 -0
  120. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/overview.rst +0 -0
  121. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/product_storage_status.rst +0 -0
  122. {eodag-3.9.1 → eodag-3.10.1}/docs/getting_started_guide/product_types.rst +0 -0
  123. {eodag-3.9.1 → eodag-3.10.1}/docs/index.rst +0 -0
  124. {eodag-3.9.1 → eodag-3.10.1}/docs/make.bat +0 -0
  125. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/1_providers_products_available.ipynb +0 -0
  126. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/2_configuration.ipynb +0 -0
  127. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/3_search.ipynb +0 -0
  128. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/4_queryables.ipynb +0 -0
  129. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/5_serialize_deserialize.ipynb +0 -0
  130. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/6_crunch.ipynb +0 -0
  131. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/7_download.ipynb +0 -0
  132. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/8_post_process.ipynb +0 -0
  133. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/data/crunch_search_results.geojson +0 -0
  134. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/api_user_guide/data/download_search_results.geojson +0 -0
  135. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/intro_notebooks.ipynb +0 -0
  136. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.cpg +0 -0
  137. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.dbf +0 -0
  138. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.prj +0 -0
  139. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qix +0 -0
  140. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qpj +0 -0
  141. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shp +0 -0
  142. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shx +0 -0
  143. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/auxdata/sentinel2_tiling_grid_centroids.zip +0 -0
  144. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_burnt_areas_snappy.ipynb +0 -0
  145. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_cds.ipynb +0 -0
  146. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_cop_dem.ipynb +0 -0
  147. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_dedt_lumi_roi.ipynb +0 -0
  148. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_ecmwf.ipynb +0 -0
  149. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_fedeo_ceda.ipynb +0 -0
  150. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_meteoblue.ipynb +0 -0
  151. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_search_location_tile.ipynb +0 -0
  152. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_ship_detection.ipynb +0 -0
  153. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_stac_client.ipynb +0 -0
  154. {eodag-3.9.1 → eodag-3.10.1}/docs/notebooks/tutos/tuto_wekeo.ipynb +0 -0
  155. {eodag-3.9.1 → eodag-3.10.1}/docs/params_mapping.rst +0 -0
  156. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins_reference/api.rst +0 -0
  157. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins_reference/auth.rst +0 -0
  158. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins_reference/crunch.rst +0 -0
  159. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins_reference/download.rst +0 -0
  160. {eodag-3.9.1 → eodag-3.10.1}/docs/plugins_reference/search.rst +0 -0
  161. {eodag-3.9.1 → eodag-3.10.1}/docs/providers.rst +0 -0
  162. {eodag-3.9.1 → eodag-3.10.1}/docs/tutos.rst +0 -0
  163. {eodag-3.9.1 → eodag-3.10.1}/eodag/__init__.py +0 -0
  164. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/__init__.py +0 -0
  165. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/__init__.py +0 -0
  166. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/_assets.py +0 -0
  167. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/drivers/__init__.py +0 -0
  168. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/drivers/base.py +0 -0
  169. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/drivers/generic.py +0 -0
  170. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/drivers/sentinel1.py +0 -0
  171. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/product/drivers/sentinel2.py +0 -0
  172. {eodag-3.9.1 → eodag-3.10.1}/eodag/api/search_result.py +0 -0
  173. {eodag-3.9.1 → eodag-3.10.1}/eodag/cli.py +0 -0
  174. {eodag-3.9.1 → eodag-3.10.1}/eodag/config.py +0 -0
  175. {eodag-3.9.1 → eodag-3.10.1}/eodag/crunch.py +0 -0
  176. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/__init__.py +0 -0
  177. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/apis/__init__.py +0 -0
  178. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/apis/base.py +0 -0
  179. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/apis/ecmwf.py +0 -0
  180. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/apis/usgs.py +0 -0
  181. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/__init__.py +0 -0
  182. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/generic.py +0 -0
  183. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/header.py +0 -0
  184. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/keycloak.py +0 -0
  185. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/oauth.py +0 -0
  186. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/openid_connect.py +0 -0
  187. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/qsauth.py +0 -0
  188. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/token.py +0 -0
  189. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/authentication/token_exchange.py +0 -0
  190. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/base.py +0 -0
  191. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/__init__.py +0 -0
  192. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/base.py +0 -0
  193. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/filter_date.py +0 -0
  194. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/filter_latest_tpl_name.py +0 -0
  195. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/crunch/filter_property.py +0 -0
  196. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/__init__.py +0 -0
  197. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/base.py +0 -0
  198. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/http.py +0 -0
  199. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/download/s3rest.py +0 -0
  200. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/manager.py +0 -0
  201. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/__init__.py +0 -0
  202. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/base.py +0 -0
  203. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/creodias_s3.py +0 -0
  204. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/csw.py +0 -0
  205. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/data_request_search.py +0 -0
  206. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/qssearch.py +0 -0
  207. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/stac_list_assets.py +0 -0
  208. {eodag-3.9.1 → eodag-3.10.1}/eodag/plugins/search/static_stac_search.py +0 -0
  209. {eodag-3.9.1 → eodag-3.10.1}/eodag/py.typed +0 -0
  210. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/locations_conf_template.yml +0 -0
  211. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt +0 -0
  212. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.cpg +0 -0
  213. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.dbf +0 -0
  214. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.prj +0 -0
  215. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.shp +0 -0
  216. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/shp/ne_110m_admin_0_map_units.shx +0 -0
  217. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/stac.yml +0 -0
  218. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/stac_api.yml +0 -0
  219. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/stac_provider.yml +0 -0
  220. {eodag-3.9.1 → eodag-3.10.1}/eodag/resources/user_conf_template.yml +0 -0
  221. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/__init__.py +0 -0
  222. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/cache.py +0 -0
  223. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/config.py +0 -0
  224. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/constants.py +0 -0
  225. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/core.py +0 -0
  226. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/errors.py +0 -0
  227. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/server.py +0 -0
  228. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/server.wsgi +0 -0
  229. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/stac.py +0 -0
  230. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/templates/README +0 -0
  231. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/types/__init__.py +0 -0
  232. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/types/collections_search.py +0 -0
  233. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/types/eodag_search.py +0 -0
  234. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/types/queryables.py +0 -0
  235. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/types/stac_search.py +0 -0
  236. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/utils/__init__.py +0 -0
  237. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/utils/cql_evaluate.py +0 -0
  238. {eodag-3.9.1 → eodag-3.10.1}/eodag/rest/utils/rfc3339.py +0 -0
  239. {eodag-3.9.1 → eodag-3.10.1}/eodag/types/__init__.py +0 -0
  240. {eodag-3.9.1 → eodag-3.10.1}/eodag/types/bbox.py +0 -0
  241. {eodag-3.9.1 → eodag-3.10.1}/eodag/types/download_args.py +0 -0
  242. {eodag-3.9.1 → eodag-3.10.1}/eodag/types/search_args.py +0 -0
  243. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/cache.py +0 -0
  244. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/env.py +0 -0
  245. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/exceptions.py +0 -0
  246. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/free_text_search.py +0 -0
  247. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/import_system.py +0 -0
  248. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/logging.py +0 -0
  249. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/notebook.py +0 -0
  250. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/repr.py +0 -0
  251. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/requests.py +0 -0
  252. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/s3.py +0 -0
  253. {eodag-3.9.1 → eodag-3.10.1}/eodag/utils/stac_reader.py +0 -0
  254. {eodag-3.9.1 → eodag-3.10.1}/eodag.egg-info/dependency_links.txt +0 -0
  255. {eodag-3.9.1 → eodag-3.10.1}/eodag.egg-info/entry_points.txt +0 -0
  256. {eodag-3.9.1 → eodag-3.10.1}/eodag.egg-info/top_level.txt +0 -0
  257. {eodag-3.9.1 → eodag-3.10.1}/get_pypi_latest_version.sh +0 -0
  258. {eodag-3.9.1 → eodag-3.10.1}/pytest.ini +0 -0
  259. {eodag-3.9.1 → eodag-3.10.1}/readthedocs.yml +0 -0
  260. {eodag-3.9.1 → eodag-3.10.1}/requirements-dev.txt +0 -0
  261. {eodag-3.9.1 → eodag-3.10.1}/requirements-docs.txt +0 -0
  262. {eodag-3.9.1 → eodag-3.10.1}/requirements-tutorials.txt +0 -0
  263. {eodag-3.9.1 → eodag-3.10.1}/requirements.txt +0 -0
  264. {eodag-3.9.1 → eodag-3.10.1}/setup.py +0 -0
  265. {eodag-3.9.1 → eodag-3.10.1}/utils/params_mapping_to_csv.py +0 -0
  266. {eodag-3.9.1 → eodag-3.10.1}/utils/product_types_information_to_csv.py +0 -0
@@ -0,0 +1,57 @@
1
+ name: Build and publish a container image
2
+
3
+ on:
4
+ push:
5
+ branches: ['master']
6
+ tags: ['v*']
7
+ workflow_dispatch:
8
+ repository_dispatch:
9
+ types: [release]
10
+
11
+ env:
12
+ REGISTRY: ghcr.io
13
+ IMAGE_NAME: ${{ github.repository }}
14
+
15
+ jobs:
16
+ build-and-push-image:
17
+ runs-on: ubuntu-latest
18
+ permissions:
19
+ contents: read
20
+ packages: write
21
+ id-token: write
22
+
23
+ steps:
24
+ - name: Checkout repository
25
+ uses: actions/checkout@v6
26
+
27
+ - name: Set up Docker Buildx
28
+ uses: docker/setup-buildx-action@v3
29
+
30
+ - name: Log in to the container registry
31
+ uses: docker/login-action@v3
32
+ with:
33
+ registry: ${{ env.REGISTRY }}
34
+ username: ${{ github.actor }}
35
+ password: ${{ secrets.GITHUB_TOKEN }}
36
+
37
+ - name: Extract container metadata
38
+ id: meta
39
+ uses: docker/metadata-action@v5
40
+ with:
41
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
42
+ labels: |
43
+ org.opencontainers.image.title=eodag
44
+ org.opencontainers.image.description=Earth Observation Data Access Gateway
45
+ org.opencontainers.image.url=https://github.com/{{ github.repository }}
46
+ org.opencontainers.image.source=https://github.com/{{ github.repository }}.git
47
+ org.opencontainers.image.licenses=Apache-2.0
48
+ org.opencontainers.image.authors=CS GROUP - France (CSSI) <eodag@csgroup.space>
49
+
50
+ - name: Build and push container image
51
+ id: push
52
+ uses: docker/build-push-action@v6
53
+ with:
54
+ context: .
55
+ push: true
56
+ tags: ${{ steps.meta.outputs.tags }}
57
+ labels: ${{ steps.meta.outputs.labels }}
@@ -2,9 +2,9 @@ name: Run Tests
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [master, develop]
5
+ branches: [master, develop, v3.10.x]
6
6
  pull_request:
7
- branches: [master, develop]
7
+ branches: [master, develop, v3.10.x]
8
8
  schedule:
9
9
  - cron: "0 7 * * 1"
10
10
  workflow_dispatch:
@@ -33,7 +33,7 @@ jobs:
33
33
  runs-on: ${{ matrix.os }}
34
34
  strategy:
35
35
  matrix:
36
- python-version: [3.9, "3.13"]
36
+ python-version: [3.9, "3.14"]
37
37
  os: [ubuntu-latest, windows-latest]
38
38
  steps:
39
39
  - name: Checkout the repo
@@ -80,7 +80,7 @@ jobs:
80
80
  uses: insightsengineering/coverage-action@v2
81
81
  with:
82
82
  # Path to the Cobertura XML report.
83
- path: artifacts/unit-test-results-python3.13-ubuntu-latest/coverage.xml
83
+ path: artifacts/unit-test-results-python3.14-ubuntu-latest/coverage.xml
84
84
  # Minimum total coverage, if you want to the
85
85
  # workflow to enforce it as a standard.
86
86
  # This has no effect if the `fail` arg is set to `false`.
@@ -112,7 +112,7 @@ jobs:
112
112
  uses: insightsengineering/coverage-action@v2
113
113
  with:
114
114
  # Path to the Cobertura XML report.
115
- path: artifacts/unit-test-results-python3.13-windows-latest/coverage.xml
115
+ path: artifacts/unit-test-results-python3.14-windows-latest/coverage.xml
116
116
  # Minimum total coverage, if you want to the
117
117
  # workflow to enforce it as a standard.
118
118
  # This has no effect if the `fail` arg is set to `false`.
@@ -2,6 +2,107 @@
2
2
  Release history
3
3
  ===============
4
4
 
5
+ .. _changelog-unreleased:
6
+
7
+ v3.10.1 (2025-12-11)
8
+ ====================
9
+
10
+ Bug Fixes
11
+ ---------
12
+
13
+ * **core**: Queryables alias usage (`#1893`_, `fd00403`_)
14
+
15
+ * **core**: Skip None EOProduct.properties (`9264e54`_)
16
+
17
+ * **plugins**: Add temporal resolution to ecmwf properties (`6c82a1e`_)
18
+
19
+ * **plugins**: Cop_marine search by id (`a10d509`_)
20
+
21
+ * **plugins**: Dates formatting and missing param in ECMWFSearch queryables (`b36db01`_)
22
+
23
+ * **plugins**: Ecmwf geometries support (`8a14151`_)
24
+
25
+ * **providers**: Geodes max_items_per_page down to 80 (`0bb913b`_)
26
+
27
+ * **providers**: Renamed THEIA collections on geodes (`cba02fc`_)
28
+
29
+ Build System
30
+ ------------
31
+
32
+ * Add docker image (`52e6088`_)
33
+
34
+ * Add python3.14 support (`57b7260`_)
35
+
36
+ Chores
37
+ ------
38
+
39
+ * Allow pydantic >= 2.12.0 by buiding docs with python3.13 (`6be0eb7`_)
40
+
41
+ Documentation
42
+ -------------
43
+
44
+ * Docker image (`352607c`_)
45
+
46
+ Refactoring
47
+ -----------
48
+
49
+ * **collections**: CLMS and MetOp updates (`8808c5f`_)
50
+
51
+ * **core**: Whole world as default product geometry and shapely stubs (`c49e26d`_)
52
+
53
+ * **plugins**: Boto3 ServiceResource type check (`6b78dae`_)
54
+
55
+ .. _#1893: https://github.com/CS-SI/eodag/pull/1893
56
+ .. _0bb913b: https://github.com/CS-SI/eodag/commit/0bb913b7582fee5dad1d1d22961906e336f81719
57
+ .. _352607c: https://github.com/CS-SI/eodag/commit/352607cc751a7dd45d6bd905a8f92723f00ae5bd
58
+ .. _52e6088: https://github.com/CS-SI/eodag/commit/52e60885e72608f9b215f4f8a5b4f4ae177e8f87
59
+ .. _57b7260: https://github.com/CS-SI/eodag/commit/57b72600d5cd9b99427a758ad058dac3a298f26e
60
+ .. _6b78dae: https://github.com/CS-SI/eodag/commit/6b78dae5e76847887ca2823d36507845e557db6a
61
+ .. _6be0eb7: https://github.com/CS-SI/eodag/commit/6be0eb713df1aac8382f1f359335560ac413272c
62
+ .. _6c82a1e: https://github.com/CS-SI/eodag/commit/6c82a1ea0c46057145ff1662ba43403eff69fbca
63
+ .. _8808c5f: https://github.com/CS-SI/eodag/commit/8808c5fd603a838c1f7be0f2c710a85babb3f7d7
64
+ .. _8a14151: https://github.com/CS-SI/eodag/commit/8a14151a4c1b320191bd9ba963201520512988d7
65
+ .. _9264e54: https://github.com/CS-SI/eodag/commit/9264e54f5765af356d14c129a2718ee91c1adf00
66
+ .. _a10d509: https://github.com/CS-SI/eodag/commit/a10d509baeca36d0602bbd22c62bb06fbc13d79c
67
+ .. _b36db01: https://github.com/CS-SI/eodag/commit/b36db0109d4b9969835a63787a867cd0702e05c8
68
+ .. _c49e26d: https://github.com/CS-SI/eodag/commit/c49e26d71d5b8e8f4408be07f63cf3d2dd414a90
69
+ .. _cba02fc: https://github.com/CS-SI/eodag/commit/cba02fc453f435d617f24161d6d716095071f2b9
70
+ .. _fd00403: https://github.com/CS-SI/eodag/commit/fd004035d1415421bfb55356e9dad4ead83734ba
71
+
72
+
73
+ v3.10.0 (2025-10-20)
74
+ ====================
75
+
76
+ Features
77
+ --------
78
+
79
+ * **plugins**: Possibility to create presigned urls (`#1845`_, `d002c38`_)
80
+
81
+ Bug Fixes
82
+ ---------
83
+
84
+ * **providers**: Added month/year mapping and default values for CMIP6_CLIMATE_PROJECT (`#1872`_,
85
+ `dcdca60`_)
86
+
87
+ Build System
88
+ ------------
89
+
90
+ * Pin pydantic < 2.12.0 to prevent sphinx failures (`#1873`_, `1b17b4a`_)
91
+
92
+ Refactoring
93
+ -----------
94
+
95
+ * **plugins**: Deprecate CreodiasS3Download (`#1884`_, `5f6966b`_)
96
+
97
+ .. _#1845: https://github.com/CS-SI/eodag/pull/1845
98
+ .. _#1872: https://github.com/CS-SI/eodag/pull/1872
99
+ .. _#1873: https://github.com/CS-SI/eodag/pull/1873
100
+ .. _#1884: https://github.com/CS-SI/eodag/pull/1884
101
+ .. _1b17b4a: https://github.com/CS-SI/eodag/commit/1b17b4af5f898ed608dd132e49477d28466f9451
102
+ .. _5f6966b: https://github.com/CS-SI/eodag/commit/5f6966bc52db1e19ad3f959bab41aca25804c3e5
103
+ .. _d002c38: https://github.com/CS-SI/eodag/commit/d002c38126f566f52903fb0e5012a22e771c3200
104
+ .. _dcdca60: https://github.com/CS-SI/eodag/commit/dcdca6012736f751418725312da736f61767ec36
105
+
5
106
 
6
107
  v3.9.1 (2025-10-07)
7
108
  ===================
@@ -75,7 +75,7 @@ To run the entire tests (units, integration and end-to-end):
75
75
  you, please `install <https://pandoc.org/installing.html>`_ pandoc and try
76
76
  again.
77
77
 
78
- * eodag is tested against python versions 3.9, 3.10, 3.11, 3.12 and 3.13. Ensure you have
78
+ * eodag is tested against python versions 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14. Ensure you have
79
79
  these versions installed before you run tox. You can use
80
80
  `pyenv <https://github.com/pyenv/pyenv>`_ to manage many different versions
81
81
  of python
@@ -0,0 +1,41 @@
1
+ # Copyright 2025, CS GROUP - France, https://www.csgroup.eu/
2
+ #
3
+ # This file is part of EODAG project
4
+ # https://www.github.com/CS-SI/EODAG
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ FROM python:alpine3.13
19
+
20
+ LABEL author="CS GROUP - France"
21
+
22
+ WORKDIR /app
23
+
24
+ COPY eodag/ eodag/
25
+ COPY setup.cfg pyproject.toml README.rst LICENSE MANIFEST.in ./
26
+
27
+ # build-base is required to enable logging
28
+ RUN apk add --no-cache build-base && \
29
+ pip install --no-cache-dir ".[all-providers]" && \
30
+ apk del build-base
31
+
32
+ # Create a non-root user to run the application
33
+ RUN addgroup -g 1000 eodag && \
34
+ adduser -u 1000 -G eodag \
35
+ -h /home/eodag \
36
+ -s /bin/sh \
37
+ -D eodag
38
+ USER eodag
39
+
40
+ ENTRYPOINT ["eodag"]
41
+ CMD ["--help"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eodag
3
- Version: 3.9.1
3
+ Version: 3.10.1
4
4
  Summary: Earth Observation Data Access Gateway
5
5
  Home-page: https://github.com/CS-SI/eodag
6
6
  Author: CS GROUP - France
@@ -23,6 +23,7 @@ Classifier: Programming Language :: Python :: 3.10
23
23
  Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Programming Language :: Python :: 3.12
25
25
  Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
26
27
  Classifier: Programming Language :: Python :: Implementation :: CPython
27
28
  Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
28
29
  Classifier: Topic :: Scientific/Engineering :: GIS
@@ -115,6 +116,7 @@ Requires-Dist: types-requests; extra == "stubs"
115
116
  Requires-Dist: types-python-dateutil; extra == "stubs"
116
117
  Requires-Dist: types-PyYAML; extra == "stubs"
117
118
  Requires-Dist: types-setuptools; extra == "stubs"
119
+ Requires-Dist: types-shapely; extra == "stubs"
118
120
  Requires-Dist: types-tqdm; extra == "stubs"
119
121
  Requires-Dist: types-urllib3; extra == "stubs"
120
122
  Provides-Extra: docs
@@ -317,7 +319,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
317
319
 
318
320
  .. code-block:: bash
319
321
 
320
- docker run -p 5000:5000 --rm csspace/eodag-server:3.9.1
322
+ docker run -p 5000:5000 --rm csspace/eodag-server:3.10.1
321
323
 
322
324
  You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
323
325
  Simply run:
@@ -377,6 +379,15 @@ Start playing with the CLI:
377
379
 
378
380
  - To print log messages, add ``-v`` to eodag master command. e.g. ``eodag -v list``. The more ``v`` given (up to 3), the more verbose the tool is. For a full verbose output, do for example: ``eodag -vvv list``
379
381
 
382
+ Docker image
383
+ ------------
384
+
385
+ A Docker image is available via the `GitHub Container Registry <https://github.com/CS-SI/eodag/pkgs/container/eodag>`_:
386
+
387
+ .. code-block:: bash
388
+
389
+ docker pull ghcr.io/cs-si/eodag:v3.10.x
390
+
380
391
  Contribute
381
392
  ==========
382
393
 
@@ -185,7 +185,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
185
185
 
186
186
  .. code-block:: bash
187
187
 
188
- docker run -p 5000:5000 --rm csspace/eodag-server:3.9.1
188
+ docker run -p 5000:5000 --rm csspace/eodag-server:3.10.1
189
189
 
190
190
  You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
191
191
  Simply run:
@@ -245,6 +245,15 @@ Start playing with the CLI:
245
245
 
246
246
  - To print log messages, add ``-v`` to eodag master command. e.g. ``eodag -v list``. The more ``v`` given (up to 3), the more verbose the tool is. For a full verbose output, do for example: ``eodag -vvv list``
247
247
 
248
+ Docker image
249
+ ------------
250
+
251
+ A Docker image is available via the `GitHub Container Registry <https://github.com/CS-SI/eodag/pkgs/container/eodag>`_:
252
+
253
+ .. code-block:: bash
254
+
255
+ docker pull ghcr.io/cs-si/eodag:v3.10.x
256
+
248
257
  Contribute
249
258
  ==========
250
259
 
@@ -1,5 +1,5 @@
1
1
  apiVersion: v2
2
- appVersion: 3.9.1
2
+ appVersion: 3.10.1
3
3
  dependencies:
4
4
  - name: common
5
5
  repository: oci://registry-1.docker.io/bitnamicharts
@@ -15,4 +15,4 @@ name: eodag-server
15
15
  sources:
16
16
  - https://github.com/CS-SI/eodag
17
17
  type: application
18
- version: 3.9.1
18
+ version: 3.10.1
@@ -22,6 +22,10 @@ CLMS_GLO_GDMP_333M,"Gross dry matter Productivity (GDMP) is an indication of the
22
22
  CLMS_GLO_LAI_333M,"LAI was defined by CEOS as half the developed area of the convex hull wrapping the green canopy elements per unit horizontal ground. This definition allows accounting for elements which are not flat such as needles or stems. LAI is strongly non linearly related to reflectance. Therefore, its estimation from remote sensing observations will be scale dependant over heterogeneous landscapes. When observing a canopy made of different layers of vegetation, it is therefore mandatory to consider all the green layers. This is particularly important for forest canopies where the understory may represent a very significant contribution to the total canopy LAI. The derived LAI corresponds therefore to the total green LAI, including the contribution of the green elements of the understory. The product at 333m resolution is provided in Near Real Time and consolidated in the next six periods. ","OLCI,PROBA-V",Sentinel-3,,,"Land,Leaf-area-index,LAI,OLCI,PROBA-V,Sentinel-3",,other,Global 10-daily Leaf Area Index 333m,2014-01-10T00:00:00Z,CLMS_GLO_LAI_333M,,,,,,,,,available,,,,,,,,,,,,,,,,,,available
23
23
  CLMS_GLO_NDVI_1KM_LTS,"The Normalized Difference Vegetation Index (NDVI) is a proxy to quantify the vegetation amount. It is defined as NDVI=(NIR-Red)/(NIR+Red) where NIR corresponds to the reflectance in the near infrared band, and Red to the reflectance in the red band. The time series of dekadal (10-daily) NDVI 1km version 2 observations over the period 1999-2017 is used to calculate Long Term Statistics (LTS) for each of the 36 10-daily periods (dekads) of the year. The calculated LTS include the minimum, median, maximum, average, standard deviation and the number of observations in the covered time series period. These LTS can be used as a reference for actual NDVI observations, which allows evaluating whether vegetation conditions deviate from a 'normal' situation. ","VEGETATION,PROBA-V",SPOT,,,"Land,NDVI,LTS,SPOT,VEGETATION,PROBA-V",,other,"Normalized Difference Vegetation Index: global Long Term Statistics (raster 1km) - version 2, Apr 2019",1999-01-01T00:00:00Z,CLMS_GLO_NDVI_1KM_LTS,,,,,,,,,available,,,,,,,,,,,,,,,,,,available
24
24
  CLMS_GLO_NDVI_333M,"The Normalized Difference Vegetation Index (NDVI) is a proxy to quantify the vegetation amount. It is defined as NDVI=(NIR-Red)/(NIR+Red) where NIR corresponds to the reflectance in the near infrared band, and Red to the reflectance in the red band. It is closely related to FAPAR and is little scale dependant. ",PROBA-V,,,,"Land,NDVI,PROBA-V",,other,Global 10-daily Normalized Difference Vegetation Index 333M,2014-01-01T00:00:00Z,CLMS_GLO_NDVI_333M,,,,,,,,,available,,,,,,,,,,,,,,,,,,available
25
+ CLMS_HRVPP_ST,"The Seasonal Trajectories product is a filtered time series of Plant Phenology Index (PPI), with regular time step, part of the Copernicus Land Monitoring Service (CLMS) HR-VPP product suite. Plant Phenology Index (PPI) is a physically based vegetation index that is optimized for monitoring vegetation phenology and has a linear relationship with green leaf area index. The Seasonal Trajectories (ST) products are derived from a function fitting of the time series of the PPI vegetation index and hence provide a filtered PPI time series, with regular 10-day time step, together with related quality information (QFLAG). The PPI Seasonal Trajectories are derived from the PPI vegetation index and hence based on Copernicus Sentinel-2 satellite observations. The ST products are made available as a set of raster files with 10m and 100m resolution, in ETRS89/LAEA projection corresponding to the High Resolution Layers tiling grid, for those tiles that cover the EEA38 countries and the United Kingdom, and for the period from 2017 until today, with yearly updates. These Seasonal Trajectories are part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ",,Sentinel-2,"S2A,S2B,S2C",,"Land,Plant-phenology-index,Phenology,Vegetation,Sentinel-2,S2A,S2B,S2C",,other,"Seasonal Trajectories, 10-daily, ST projection",,CLMS_HRVPP_ST,,,,,,,,,,,,,,,,,,,,,,,,,,,available
26
+ CLMS_HRVPP_ST_LAEA,"The Seasonal Trajectories product is a filtered time series of Plant Phenology Index (PPI), with regular time step, part of the Copernicus Land Monitoring Service (CLMS) HR-VPP product suite. Plant Phenology Index (PPI) is a physically based vegetation index that is optimized for monitoring vegetation phenology and has a linear relationship with green leaf area index. The Seasonal Trajectories (ST) products are derived from a function fitting of the time series of the PPI vegetation index and hence provide a filtered PPI time series, with regular 10-day time step, together with related quality information (QFLAG). The PPI Seasonal Trajectories are derived from the PPI vegetation index and hence based on Copernicus Sentinel-2 satellite observations. The ST products are made available as a set of raster files with 10m and 100m resolution, in ETRS89/LAEA projection corresponding to the High Resolution Layers tiling grid, for those tiles that cover the EEA38 countries and the United Kingdom, and for the period from 2017 until today, with yearly updates. These Seasonal Trajectories are part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ",,Sentinel-2,"S2A,S2B,S2C",,"Land,Plant-phenology-index,Phenology,Vegetation,Sentinel-2,S2A,S2B,S2C",,other,"Seasonal Trajectories, 10-daily, LAEA projection",,CLMS_HRVPP_ST_LAEA,,,,,,,,,,,,,,,,,,,,,,,,,,,available
27
+ CLMS_HRVPP_VPP,"Vegetation Phenology and Productivity (VPP) comprise 13 parameters up to 2 seasons that characterize the vegetation growth cycle. It is part of the Copernicus Land Monitoring Service (CLMS) HR-VPP product suite. A set of 13 Vegetation Phenology and Productivity parameters are derived, for up to two growing seasons. These parameters include the start, end and length of the growing season, the dates when the vegetation index reaches its minimum and maximum values, the maximum value itself and its distance to the minimum (amplitude), the slopes of the green-up and green-down periods and the seasonal and total productivity. The Vegetation and Productivity parameters are extracted from the filtered PPI time-series, the HR-VPP Seasonal Trajectories, and hence based on Copernicus Sentinel-2 satellite observations. The VPP parameters are made available as a set of raster files with 10m and 100m resolution, in ETRS89/LAEA projection corresponding to the High Resolution Layers tiling grid, for those tiles that cover the EEA38 countries and the United Kingdom and for the period from 2017 until today, with yearly updates. This VPP product is part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ",,Sentinel-2,"S2A,S2B,S2C",,"Land,Plant-phenology-index,Phenology,Vegetation,Sentinel-2,S2A,S2B,S2C",,other,"Vegetation Phenology and Productivity, yearly, UTM projection",,CLMS_HRVPP_VPP,,,,,,,,,,,,,,,,,,,,,,,,,,,available
28
+ CLMS_HRVPP_VPP_LAEA,"Vegetation Phenology and Productivity (VPP) comprise 13 parameters up to 2 seasons that characterize the vegetation growth cycle. It is part of the Copernicus Land Monitoring Service (CLMS) HR-VPP product suite. A set of 13 Vegetation Phenology and Productivity parameters are derived, for up to two growing seasons. These parameters include the start, end and length of the growing season, the dates when the vegetation index reaches its minimum and maximum values, the maximum value itself and its distance to the minimum (amplitude), the slopes of the green-up and green-down periods and the seasonal and total productivity. The Vegetation and Productivity parameters are extracted from the filtered PPI time-series, the HR-VPP Seasonal Trajectories, and hence based on Copernicus Sentinel-2 satellite observations. The VPP parameters are made available as a set of raster files with 10m and 100m resolution, in ETRS89/LAEA projection corresponding to the High Resolution Layers tiling grid, for those tiles that cover the EEA38 countries and the United Kingdom and for the period from 2017 until today, with yearly updates. This VPP product is part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ",,Sentinel-2,"S2A,S2B,S2C",,"Land,Plant-phenology-index,Phenology,Vegetation,Sentinel-2,S2A,S2B,S2C",,other,"Vegetation Phenology and Productivity, yearly, LAEA projection",,CLMS_HRVPP_VPP_LAEA,,,,,,,,,,,,,,,,,,,,,,,,,,,available
25
29
  CMIP6_CLIMATE_PROJECTIONS,"This catalogue entry provides daily and monthly global climate projections data from a large number of experiments, models and time periods computed in the framework of the sixth phase of the Coupled Model Intercomparison Project (CMIP6). CMIP6 data underpins the Intergovernmental Panel on Climate Change 6th Assessment Report. The use of these data is mostly aimed at:\n\naddressing outstanding scientific questions that arose as part of the IPCC reporting process; improving the understanding of the climate system; providing estimates of future climate change and related uncertainties; providing input data for the adaptation to the climate change; examining climate predictability and exploring the ability of models to predict climate on decadal time scales; evaluating how realistic the different models are in simulating the recent past.\n\nThe term ""experiments"" refers to the three main categories of CMIP6 simulations:\n\nHistorical experiments which cover the period where modern climate observations exist. These experiments show how the GCMs performs for the past climate and can be used as a reference period for comparison with scenario runs for the future. The period covered is typically 1850-2014. Climate projection experiments following the combined pathways of Shared Socioeconomic Pathway (SSP) and Representative Concentration Pathway (RCP). The SSP scenarios provide different pathways of the future climate forcing. The period covered is typically 2015-2100.\n\nThis catalogue entry provides both two- and three-dimensional data, along with an option to apply spatial and/or temporal subsetting to data requests. This is a new feature of the global climate projection dataset, which relies on compute processes run simultaneously in the ESGF nodes, where the data are originally located. The data are produced by the participating institutes of the CMIP6 project. ",CMIP6,CMIP6,CMIP6,,"ECMWF,CDS,C3S,CMIP6,historical,projection,global",,other,CMIP6 climate projections,1850-01-01T00:00:00Z,CMIP6_CLIMATE_PROJECTIONS,,,available,,,,,,,,,,,,,,,,,,,,,,,,
26
30
  COP_DEM_GLO30_DGED,"Defence Gridded Elevation Data (DGED, 32 Bit floating point) formatted Copernicus DEM GLO-30 data. The Copernicus Digital Elevation Model is a Digital Surface Model (DSM) that represents the surface of the Earth including buildings, infrastructure and vegetation. The Copernicus DEM is provided in 3 different instances: EEA-10, GLO-30 and GLO-90. GLO-30 provides worldwide coverage at 30 meters.Data were acquired through the TanDEM-X mission between 2011 and 2015. The datasets were made available for use in 2019 and will be maintained until 2026. ",,TerraSAR,,,"TerraSAR,TanDEM-X,DEM,surface,GLO-30,DSM,GDGED",ALTIMETRIC,other,Copernicus DEM GLO-30 DGED,2010-06-21T00:00:00Z,COP_DEM_GLO30_DGED,,,,,,,available,available,available,,available,,,,,,,,,,,,,,,,available
27
31
  COP_DEM_GLO30_DTED,"Digital Terrain Elevation Data (DTED, 16 Bit signed integer) formatted Copernicus DEM GLO-30 data. The Copernicus Digital Elevation Model is a Digital Surface Model (DSM) that represents the surface of the Earth including buildings, infrastructure and vegetation. The Copernicus DEM is provided in 3 different instances: EEA-10, GLO-30 and GLO-90. GLO-30 provides worldwide coverage at 30 meters.Data were acquired through the TanDEM-X mission between 2011 and 2015. The datasets were made available for use in 2019 and will be maintained until 2026. ",,TerraSAR,,,"TerraSAR,TanDEM-X,DEM,surface,GLO-30,DSM,DTED",ALTIMETRIC,other,Copernicus DEM GLO-30 DTED,2010-06-21T00:00:00Z,COP_DEM_GLO30_DTED,,,,,,,available,available,available,,,,,,,,,,,,,,,,,,available
@@ -29,7 +33,6 @@ COP_DEM_GLO90_DGED,"Defence Gridded Elevation Data (DGED, 32 Bit floating point)
29
33
  COP_DEM_GLO90_DTED,"Digital Terrain Elevation Data (DTED, 16 Bit signed integer) formatted Copernicus DEM GLO-90 data. The Copernicus Digital Elevation Model is a Digital Surface Model (DSM) that represents the surface of the Earth including buildings, infrastructure and vegetation. The Copernicus DEM is provided in 3 different instances: EEA-10, GLO-30 and GLO-90. GLO-90 provides worldwide coverage at 90 meters.Data were acquired through the TanDEM-X mission between 2011 and 2015. The datasets were made available for use in 2019 and will be maintained until 2026. ",,TerraSAR,,,"TerraSAR,TanDEM-X,DEM,surface,GLO-90,DSM,DTED",ALTIMETRIC,other,Copernicus DEM GLO-90 DTED,2010-06-21T00:00:00Z,COP_DEM_GLO90_DTED,,,,,,,available,available,available,,,,,,,,,,,,,,,,,,available
30
34
  DT_CLIMATE_ADAPTATION,"The Digital Twin on Climate Change Adaptation support the analysis and testing of scenarios. This in turn will support sustainable development and climate adaptation and mitigation policy-making at multi-decadal timescales, at regional and national levels. ",,Digital Twin,DT,,"DT,DE,LUMI,Destination-Earth,Digital-Twin,Climate,Change,Adaptation",ATMOSPHERIC,other,Climate Change Adaptation Digital Twin (DT),2020-01-01T00:00:00Z,DT_CLIMATE_ADAPTATION,,,,,,,,,available,available,,,,,,,,,,,,,,,,,
31
35
  DT_EXTREMES,The Digital Twin on Weather-Induced and Geophysical Extremes provides capabilities for the assessment and prediction of environmental extremes in support of risk assessment and management. ,,Digital Twin,DT,,"DT,DE,LUMI,Destination-Earth,Digital-Twin,Weather,Geophysical,Extremes",ATMOSPHERIC,other,Weather and Geophysical Extremes Digital Twin (DT),2024-04-04T00:00:00Z,DT_EXTREMES,,,,,,,,,available,available,,,,,,,,,,,,,,,,,
32
- EEA_DAILY_VI,"Vegetation Indices (VI) comprises four daily vegetation indices (PPI, NDVI, LAI and FAPAR) and quality information, that are part of the Copernicus Land Monitoring Service (CLMS) HR-VPP product suite. The 10m resolution, daily updated Plant Phenology Index (PPI), Normalized Difference Vegetation Index (NDVI), Leaf Area Index (LAI) and Fraction of Absorbed Photosynthetically Active Radiation (fAPAR) are derived from Copernicus Sentinel-2 satellite observations. They are provided together with a related quality indicator (QFLAG2) that flags clouds, shadows, snow, open water and other areas where the VI retrieval is less reliable. These Vegetation Indices are made available as a set of raster files with 10 x 10m resolution, in UTM/WGS84 projection corresponding to the Sentinel-2 tiling grid, for those tiles that cover the EEA38 countries and the United Kingdom and for the period from 2017 until today, with daily updates. The Vegetation Indices are part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ",,Sentinel-2,"S2A,S2B,S2C",,"Land,Plant-phenology-index,Phenology,Vegetation,Sentinel-2,S2A,S2B,S2C",RADAR,other,"Vegetation Indices, daily, UTM projection",,EEA_DAILY_VI,,,,,,,,,available,,,,,,,,,,,,,,,,,,available
33
36
  EEA_HRL_TCF,Tree Cover Fraction (TCF) is defined as the percentage of ground covered by tree canopy when viewed from above. It is a biophysical variable that characterizes the land surface and is important for many applications in environmental and climate studies. TCF is derived from Sentinel-2 imagery at 20m resolution using a machine learning approach. The TCF product is part of the pan-European High Resolution Vegetation Phenology and Productivity (HR-VPP) component of the Copernicus Land Monitoring Service (CLMS). ,,Sentinel-2,"S2A,S2B,S2C",,"Land,Tree-cover-fraction,TCF,Sentinel-2,S2A,S2B,S2C",RADAR,other,"Tree Cover Fraction, UTM projection",2017-01-01T00:00:00Z,EEA_HRL_TCF,,,,,,,,,,,,,,,,,,,,,,,,,,,available
34
37
  EFAS_FORECAST,"This dataset provides gridded modelled hydrological time series forced with medium-range meteorological forecasts. The data is a consistent representation of the most important hydrological variables across the European Flood Awareness System (EFAS) domain. The temporal resolution is sub-daily high-resolution and ensemble forecasts of:\n\nRiver discharge\nSoil moisture for three soil layers\nSnow water equivalent\n\nIt also provides static data on soil depth for the three soil layers. Soil moisture and river discharge data are accompanied by ancillary files for interpretation (see related variables and links in the documentation).\nThis data set was produced by forcing the LISFLOOD hydrological model at a 5x5km resolution with meteorological forecasts. The forecasts are initialised twice daily at 00 and 12 UTC with time steps of 6 or 24 hours and lead times between 5 and 15 days depending on the forcing numerical weather prediction model. The forcing meteorological data are high-resolution and ensemble forecasts from the European Centre of Medium-range Weather Forecasts (ECMWF) with 51 ensemble members, high-resolution forecasts from the Deutsches Wetter Dienst (DWD) and the ensemble forecasts from the COSMO Local Ensemble Prediction System (COSMO-LEPS) with 20 ensemble members. The hydrological forecasts are available from 2018-10-10 up until present with a 30-day delay. The real-time data is only available to EFAS partners.\nCompanion datasets, also available through the CDS, are historical simulations which can be used to derive the hydrological climatology and for verification; reforecasts for research, local skill assessment and post-processing; and seasonal forecasts and reforecasts for users looking for longer leadtime forecasts. For users looking for global hydrological data, we refer to the Global Flood Awareness System (GloFAS) forecasts and historical simulations. All these datasets are part of the operational flood forecasting within the Copernicus Emergency Management Service (CEMS).\n\nVariables in the dataset/application are:\nRiver discharge in the last 24 hours, River discharge in the last 6 hours, Snow depth water equivalent, Soil depth, Volumetric soil moisture\n\nVariables in the dataset/application are:\nOrography, Upstream area ",,CEMS,CEMS,,"ECMWF,CEMS,EFAS,forecast,river,discharge",ATMOSPHERIC,other,River discharge and related forecasted data by the European Flood Awareness System,2018-10-11T00:00:00Z,EFAS_FORECAST,,,,,available,,,,available,,,,,,,,,,,,,,,,,,
35
38
  EFAS_HISTORICAL,"This dataset provides gridded modelled daily hydrological time series forced with meteorological observations. The data set is a consistent representation of the most important hydrological variables across the European Flood Awareness System (EFAS) domain. The temporal resolution is up to 30 years modelled time series of:\n\nRiver discharge\nSoil moisture for three soil layers\nSnow water equivalent\n\nIt also provides static data on soil depth for the three soil layers. Soil moisture and river discharge data are accompanied by ancillary files for interpretation (see related variables and links in the documentation).\nThis dataset was produced by forcing the LISFLOOD hydrological model with gridded observational data of precipitation and temperature at a 5x5 km resolution across the EFAS domain. The most recent version\nuses a 6-hourly time step, whereas older versions uses a 24-hour time step. It is available from 1991-01-01 up until near-real time, with a delay of 6 days. The real-time data is only available to EFAS partners.\nCompanion datasets, also available through the CDS, are forecasts for users who are looking medium-range forecasts, reforecasts for research, local skill assessment and post-processing, and seasonal forecasts and reforecasts for users looking for long-term forecasts. For users looking for global hydrological data, we refer to the Global Flood Awareness System (GloFAS) forecasts and historical simulations. All these datasets are part of the operational flood forecasting within the Copernicus Emergency Management Service (CEMS).\n\nVariables in the dataset/application are:\nRiver discharge in the last 24 hours, River discharge in the last 6 hours, Snow depth water equivalent, Soil depth, Volumetric soil moisture\n\nVariables in the dataset/application are:\nOrography, Upstream area ",,CEMS,CEMS,,"ECMWF,CEMS,EFAS,historical,river,discharge",ATMOSPHERIC,other,River discharge and related historical data from the European Flood Awareness System,1991-01-01T06:00:00Z,EFAS_HISTORICAL,,,,,available,,,,available,,,,,,,,,,,,,,,,,,
@@ -67,7 +70,7 @@ GSW_OCCURRENCE,The Global Surface Water Occurrence shows where surface water occ
67
70
  GSW_RECURRENCE,The Global Surface Water Recurrence provides information concerning the inter-annual behaviour of water surfaces and captures the frequency with which water returns from year to year. ,,GSW,GSW,,"PEKEL, Global Surface Water, Recurrence, Landsat",HYDROLOGICAL,proprietary,Global Surface Water Recurrence 1984-2021,1984-01-01T00:00:00Z,GSW_RECURRENCE,,,,,,,,,available,,,,,,,,,,,,,,,,,,
68
71
  GSW_SEASONALITY,The Global Surface Water Seasonality map provides information concerning the intra-annual behaviour of water surfaces for a single year (2021) and shows permanent and seasonal water and the number of months water was present. ,,GSW,GSW,,"PEKEL, Global Surface Water, Seasonality, Landsat",HYDROLOGICAL,proprietary,Global Surface Water Seasonality 2014-2020,2014-01-01T00:00:00Z,GSW_SEASONALITY,,,,,,,,,available,,,,,,,,,,,,,,,,,,
69
72
  GSW_TRANSITIONS,"The Global Surface Water Transitions map provides information on the change in surface water seasonality between the first and last years (between 1984 and 2021) and captures changes between the three classes of not water, seasonal water and permanent water. ",,GSW,GSW,,"PEKEL, Global Surface Water, Transitions, Landsat",HYDROLOGICAL,proprietary,Global Surface Water Transitions 1984-2021,1984-01-01T00:00:00Z,GSW_TRANSITIONS,,,,,,,,,available,,,,,,,,,,,,,,,,,,
70
- HIRS_FDR_1_MULTI,"This is Release 1 of the Fundamental Data Record (FDR) brightness temperatures from the High Resolution Infrared Radiation Sounder (HIRS) on board NOAA and Metop satellites. The data record covers more than 40 years from 29 October 1978 to 31 December 2020. Release 1 provides recalibrated Level 1c brightness temperatures based on the V4.0 calibration method developed by Cao et al. (2007). This method was implemented into the NWP-SAF software ATOVS and AVHRR processing Package (AAPP). This software was consistently used to recalibrate and reprocess data from all HIRS instruments on board TIROS-N, NOAA-06 to NOAA-19, Metop-A, and Metop-B. The polygons, required for the data tailoring, show problems with non-continues data. Some polygons of the HIRS data record are found to be incorrect. However, this does not affect the correctness of the data itself. This is a Fundamental Data Record (FDR). ",HIRS,"Metop,TIROS,NOAA","Metop,TIROS,NOAA",L1C,"HIRS,L1C,HIRS,TIROS,Metop,NOAA,Sounder,FDR",Sounder,other,HIRS Level 1C Fundamental Data Record Release 1 - Multimission - Global,1978-10-29T00:00:00Z,HIRS_FDR_1_MULTI,,,,,,,,,,,,,,available,,,,,,,,,,,,,
73
+ HIRS_FDR_1_MULTI,"This is Release 2 of the Fundamental Data Record (FDR) brightness temperatures from the High Resolution Infrared Radiation Sounder (HIRS) on board NOAA and Metop satellites. The data record covers more than 40 years from 29 October 1978 to 31 December 2022. Release 2 provides recalibrated Level 1c brightness temperatures based on the V4.0 calibration method developed by Cao et al. (2007). This method was implemented into the NWP-SAF software ATOVS and AVHRR processing Package (AAPP). This software was consistently used to recalibrate and reprocess data from all HIRS instruments on board TIROS-N, NOAA-06 to NOAA-19, Metop-A, and Metop-B. Input HIRS data were collected from NOAA/CLASS and ECMWF archives and merged to produce a longer time series of some of the satellites. ",HIRS,"Metop,TIROS,NOAA","Metop,TIROS,NOAA",L1C,"HIRS,L1C,HIRS,TIROS,Metop,NOAA,Sounder,FDR",Sounder,other,HIRS Level 1C Fundamental Data Record Release 2 - Multimission - Global,1978-10-29T00:00:00Z,HIRS_FDR_1_MULTI,,,,,,,,,,,,,,available,,,,,,,,,,,,,
71
74
  ISIMIP_CLIMATE_FORCING_ISIMIP3B,"The Inter-Sectoral Impact Model Intercomparison Project (ISIMIP) provides a framework for the collation of a consistent set of climate impact data across sectors and scales. It also provides a unique opportunity for considering interactions between climate change impacts across sectors through consistent scenarios.\n\nThe ISIMIP3b part of the third simulation round is dedicated to a quantification of climate-related risks at different levels of global warming and socio-economic change. ISIMIP3b group I simulations are based on historical climate change as simulated in CMIP6 combined with observed historical socio-economic forcing. ISIMIP3b group II simulations are based on climate change according to the CMIP6 future projections combined with socio-economic forcings fixed at 2015 levels. ISIMIP3b group III simulations additionally account for future changes in socio-economic forcing.\n\nThis collection contains bias-adjusted atmospheric climate input data, atmospheric composition input data as well as ocean and lightning input data. ",,ISIMIP,ISIMIP,,"ISIMIP, CLIMATE-FORCING, ISIMIP3b, atmospheric, climate, HRMC",,other,ISIMIP3b climate input data,1601-01-01T00:00:00Z,ISIMIP_CLIMATE_FORCING_ISIMIP3B,,,,,,,,,available,,,,,,,,,,,,,,,,,,
72
75
  ISIMIP_SOCIO_ECONOMIC_FORCING_ISIMIP3B,"The Inter-Sectoral Impact Model Intercomparison Project (ISIMIP) provides a framework for the collation of a consistent set of climate impact data across sectors and scales. It also provides a unique opportunity for considering interactions between climate change impacts across sectors through consistent scenarios.\n\nThe ISIMIP3b part of the third simulation round is dedicated to a quantification of climate-related risks at different levels of global warming and socio-economic change. ISIMIP3b group I simulations are based on historical climate change as simulated in CMIP6 combined with observed historical socio-economic forcing. ISIMIP3b group II simulations are based on climate change according to the CMIP6 future projections combined with socio-economic forcings fixed at 2015 levels. ISIMIP3b group III simulations additionally account for future changes in socio-economic forcing. This collection contains fishing, lake fraction, land use, land transition, water abstraction and wood harvesting input data as well as information about crops and fertilizers ",,ISIMIP,ISIMIP,,"ISIMIP, SOCIO-ECONOMIC-FORCING, ISIMIP3b, socioeconomic",,other,ISIMIP3b socio-economic input data,1601-01-01T00:00:00Z,ISIMIP_SOCIO_ECONOMIC_FORCING_ISIMIP3B,,,,,,,,,available,,,,,,,,,,,,,,,,,,
73
76
  L8_OLI_TIRS_C1L1,Landsat 8 Operational Land Imager and Thermal Infrared Sensor Collection 1 Level-1 products. Details at https://landsat.usgs.gov/sites/default/files/documents/LSDS-1656_Landsat_Level-1_Product_Collection_Definition.pdf ,"OLI,TIRS",LANDSAT8,L8,L1,"OLI,TIRS,LANDSAT,LANDSAT8,L8,L1,C1,COLLECTION1",OPTICAL,other,Landsat 8 Level-1,2013-02-11T00:00:00Z,L8_OLI_TIRS_C1L1,available,,,,,,,,,,,available,,,,,,,,,,,,,,,
@@ -157,6 +157,15 @@ Please note that if you did not customize EODAG with new providers settings, thi
157
157
  For more information on the product types discovery mechanism, please see
158
158
  `Python API User Guide / Providers and products / Product types discovery <notebooks/api_user_guide/2_providers_products_available.html#Product-types-discovery>`_.
159
159
 
160
+ Docker image
161
+ ------------
162
+
163
+ A Docker image is available via the `GitHub Container Registry <https://github.com/CS-SI/eodag/pkgs/container/eodag>`_:
164
+
165
+ .. code-block:: bash
166
+
167
+ docker pull ghcr.io/cs-si/eodag:v3.10.x
168
+
160
169
  Server mode
161
170
  -----------
162
171
 
@@ -258,6 +258,7 @@ intersphinx_mapping = {
258
258
  "rasterio": ("https://rasterio.readthedocs.io/en/stable/", None),
259
259
  "rioxarray": ("https://corteva.github.io/rioxarray/stable/", None),
260
260
  "fsspec": ("https://filesystem-spec.readthedocs.io/en/stable/", None),
261
+ "pydantic": ("https://docs.pydantic.dev/latest", None),
261
262
  }
262
263
 
263
264
  suppress_warnings = ["misc.copy_overwrite"]
@@ -46,6 +46,8 @@ The providers are implemented with a triplet of *Search/Authentication/Download*
46
46
  +------------------------+------------------------------------+---------------------------------+------------------+
47
47
  | ``creodias`` | |QueryStringSearch| | |KeycloakOIDCPasswordAuth| | |HTTPDownload| |
48
48
  +------------------------+------------------------------------+---------------------------------+------------------+
49
+ | ``creodias_s3`` | |QueryStringSearch| | |AwsAuth| | |AwsDownload| |
50
+ +------------------------+------------------------------------+---------------------------------+------------------+
49
51
  | ``dedl`` | |StacSearch| | |OIDCTokenExchangeAuth| | |HTTPDownload| |
50
52
  +------------------------+------------------------------------+---------------------------------+------------------+
51
53
  | ``dedt_lumi`` | |ECMWFSearch| | |OIDCAuthorizationCodeFlowAuth| | |HTTPDownload| |
@@ -98,7 +100,6 @@ The providers are implemented with a triplet of *Search/Authentication/Download*
98
100
 
99
101
  .. |AwsDownload| replace:: :class:`~eodag.plugins.download.aws.AwsDownload`
100
102
  .. |HTTPDownload| replace:: :class:`~eodag.plugins.download.http.HTTPDownload`
101
- .. |CreodiasS3Download| replace:: :class:`~eodag.plugins.download.creodias_s3.CreodiasS3Download`
102
103
 
103
104
  .. |QueryStringSearch| replace:: :class:`~eodag.plugins.search.qssearch.QueryStringSearch`
104
105
  .. |ODataV4Search| replace:: :class:`~eodag.plugins.search.qssearch.ODataV4Search`
@@ -99,7 +99,7 @@ available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.
99
99
 
100
100
  .. code-block:: bash
101
101
 
102
- $ docker run -p 5000:5000 --rm csspace/eodag-server:3.9.1
102
+ $ docker run -p 5000:5000 --rm csspace/eodag-server:3.10.1
103
103
 
104
104
  Example
105
105
  -------
@@ -56,7 +56,7 @@ from eodag.plugins.search import PreparedSearch
56
56
  from eodag.plugins.search.build_search_result import MeteoblueSearch
57
57
  from eodag.plugins.search.qssearch import PostJsonSearch
58
58
  from eodag.types import model_fields_to_annotated
59
- from eodag.types.queryables import CommonQueryables, QueryablesDict
59
+ from eodag.types.queryables import CommonQueryables, Queryables, QueryablesDict
60
60
  from eodag.utils import (
61
61
  DEFAULT_DOWNLOAD_TIMEOUT,
62
62
  DEFAULT_DOWNLOAD_WAIT,
@@ -2318,8 +2318,14 @@ class EODataAccessGateway:
2318
2318
  plugin.provider,
2319
2319
  )
2320
2320
 
2321
+ # use queryables aliases
2322
+ kwargs_alias = {**kwargs}
2323
+ for search_param, field_info in Queryables.model_fields.items():
2324
+ if search_param in kwargs and field_info.alias:
2325
+ kwargs_alias[field_info.alias] = kwargs_alias.pop(search_param)
2326
+
2321
2327
  plugin_queryables = plugin.list_queryables(
2322
- kwargs,
2328
+ kwargs_alias,
2323
2329
  available_product_types,
2324
2330
  product_type_configs,
2325
2331
  product_type,
@@ -48,6 +48,7 @@ from eodag.api.product.metadata_mapping import (
48
48
  from eodag.utils import (
49
49
  DEFAULT_DOWNLOAD_TIMEOUT,
50
50
  DEFAULT_DOWNLOAD_WAIT,
51
+ DEFAULT_SHAPELY_GEOMETRY,
51
52
  DEFAULT_STREAM_REQUESTS_TIMEOUT,
52
53
  USER_AGENT,
53
54
  ProgressCallback,
@@ -67,12 +68,6 @@ if TYPE_CHECKING:
67
68
  from eodag.types.download_args import DownloadConf
68
69
  from eodag.utils import Unpack
69
70
 
70
- try:
71
- from shapely.errors import GEOSException
72
- except ImportError:
73
- # shapely < 2.0 compatibility
74
- from shapely.errors import TopologicalError as GEOSException
75
-
76
71
 
77
72
  logger = logging.getLogger("eodag.product")
78
73
 
@@ -136,6 +131,7 @@ class EOProduct:
136
131
  if key != "geometry"
137
132
  and value != NOT_MAPPED
138
133
  and NOT_AVAILABLE not in str(value)
134
+ and value is not None
139
135
  }
140
136
  if "geometry" not in properties or (
141
137
  (
@@ -144,17 +140,17 @@ class EOProduct:
144
140
  )
145
141
  and "defaultGeometry" not in properties
146
142
  ):
147
- raise MisconfiguredError(
148
- f"No geometry available to build EOProduct(id={properties.get('id')}, provider={provider})"
149
- )
143
+ product_geometry = DEFAULT_SHAPELY_GEOMETRY
150
144
  elif not properties["geometry"] or properties["geometry"] == NOT_AVAILABLE:
151
145
  product_geometry = properties.pop("defaultGeometry", DEFAULT_GEOMETRY)
152
146
  else:
153
147
  product_geometry = properties["geometry"]
154
148
 
155
- self.geometry = self.search_intersection = get_geometry_from_various(
156
- geometry=product_geometry
157
- )
149
+ geometry_obj = get_geometry_from_various(geometry=product_geometry)
150
+ # whole world as default geometry
151
+ if geometry_obj is None:
152
+ geometry_obj = DEFAULT_SHAPELY_GEOMETRY
153
+ self.geometry = self.search_intersection = geometry_obj
158
154
 
159
155
  self.search_kwargs = kwargs
160
156
  if self.search_kwargs.get("geometry") is not None:
@@ -163,7 +159,7 @@ class EOProduct:
163
159
  )
164
160
  try:
165
161
  self.search_intersection = self.geometry.intersection(searched_geom)
166
- except (GEOSException, ShapelyError):
162
+ except ShapelyError:
167
163
  logger.warning(
168
164
  "Unable to intersect the requested extent: %s with the product "
169
165
  "geometry: %s",
@@ -42,6 +42,7 @@ from shapely.ops import transform
42
42
  from eodag.types.queryables import Queryables
43
43
  from eodag.utils import (
44
44
  DEFAULT_PROJ,
45
+ DEFAULT_SHAPELY_GEOMETRY,
45
46
  _deprecated,
46
47
  deepcopy,
47
48
  dict_items_recursive_apply,
@@ -340,14 +341,16 @@ def format_metadata(search_param: str, *args: Any, **kwargs: Any) -> str:
340
341
  @staticmethod
341
342
  def convert_to_bounds(input_geom_unformatted: Any) -> list[float]:
342
343
  input_geom = get_geometry_from_various(geometry=input_geom_unformatted)
344
+ if input_geom is None:
345
+ input_geom = DEFAULT_SHAPELY_GEOMETRY
343
346
  if isinstance(input_geom, MultiPolygon):
344
347
  geoms = [geom for geom in input_geom.geoms]
345
348
  # sort with larger one at first (stac-browser only plots first one)
346
349
  geoms.sort(key=lambda x: x.area, reverse=True)
347
- min_lon = 180
348
- min_lat = 90
349
- max_lon = -180
350
- max_lat = -90
350
+ min_lon = 180.0
351
+ min_lat = 90.0
352
+ max_lon = -180.0
353
+ max_lat = -90.0
351
354
  for geom in geoms:
352
355
  min_lon = min(min_lon, geom.bounds[0])
353
356
  min_lat = min(min_lat, geom.bounds[1])
@@ -24,9 +24,11 @@ import boto3
24
24
  from botocore.exceptions import ClientError, ProfileNotFound
25
25
  from botocore.handlers import disable_signing
26
26
 
27
+ from eodag.api.product._assets import Asset
27
28
  from eodag.plugins.authentication.base import Authentication
28
29
  from eodag.types import S3SessionKwargs
29
- from eodag.utils.exceptions import AuthenticationError
30
+ from eodag.utils import get_bucket_name_and_prefix
31
+ from eodag.utils.exceptions import AuthenticationError, EodagError
30
32
 
31
33
  if TYPE_CHECKING:
32
34
  from mypy_boto3_s3 import S3Client, S3ServiceResource
@@ -283,3 +285,36 @@ class AwsAuth(Authentication):
283
285
  "session": self.s3_session,
284
286
  **rio_env_kwargs,
285
287
  }
288
+
289
+ def presign_url(
290
+ self,
291
+ asset: Asset,
292
+ expires_in: int = 3600,
293
+ ) -> str:
294
+ """This method is used to presign a url to download an asset from S3.
295
+
296
+ :param asset: asset for which the url shall be presigned
297
+ :param expires_in: expiration time of the presigned url in seconds
298
+ :returns: presigned url
299
+ :raises: :class:`~eodag.utils.exceptions.EodagError`
300
+ :raises: :class:`NotImplementedError`
301
+ """
302
+ if not getattr(self.config, "support_presign_url", True):
303
+ raise NotImplementedError(
304
+ f"presign_url is not supported for provider {self.provider}"
305
+ )
306
+
307
+ s3_client = self.get_s3_client()
308
+ bucket, prefix = get_bucket_name_and_prefix(asset["href"])
309
+ try:
310
+ presigned_url = s3_client.generate_presigned_url(
311
+ "get_object",
312
+ Params={
313
+ "Bucket": bucket,
314
+ "Key": prefix,
315
+ },
316
+ ExpiresIn=expires_in,
317
+ )
318
+ return presigned_url
319
+ except ClientError:
320
+ raise EodagError(f"Couldn't get a presigned URL for '{asset}'.")