eodag 4.0.0a1__tar.gz → 4.0.0a3__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 (233) hide show
  1. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/changelog.yml +1 -1
  2. eodag-4.0.0a3/.github/workflows/fetch.yml +275 -0
  3. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/test.yml +3 -3
  4. {eodag-4.0.0a1 → eodag-4.0.0a3}/BREAKING_CHANGES.rst +13 -2
  5. {eodag-4.0.0a1 → eodag-4.0.0a3}/CHANGES.rst +134 -14
  6. {eodag-4.0.0a1 → eodag-4.0.0a3}/CONTRIBUTING.rst +3 -4
  7. {eodag-4.0.0a1 → eodag-4.0.0a3}/NOTICE +1 -0
  8. {eodag-4.0.0a1/eodag.egg-info → eodag-4.0.0a3}/PKG-INFO +4 -2
  9. eodag-4.0.0a3/docs/_static/collections_information.csv +298 -0
  10. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/custom.css +5 -23
  11. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/params_mapping_extra.csv +1 -1
  12. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/add_collection.rst +16 -16
  13. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/assets.rst +0 -1
  14. eodag-4.0.0a3/docs/api_reference/collection.rst +33 -0
  15. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/eoproduct.rst +0 -1
  16. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/index.rst +9 -0
  17. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/searchresult.rst +10 -1
  18. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/cli_user_guide.rst +2 -2
  19. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/drivers.rst +2 -5
  20. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/collections.rst +10 -9
  21. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/configure.rst +11 -5
  22. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/features_overview.ipynb +3292 -10116
  23. eodag-4.0.0a3/docs/notebooks/api_user_guide/1_providers_products_available.ipynb +27359 -0
  24. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/2_configuration.ipynb +6 -5
  25. eodag-4.0.0a3/docs/notebooks/api_user_guide/3_search.ipynb +34584 -0
  26. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/4_queryables.ipynb +1448 -655
  27. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/5_serialize_deserialize.ipynb +1032 -336
  28. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_cds.ipynb +42 -42
  29. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_cop_dem.ipynb +201 -5
  30. eodag-4.0.0a3/docs/notebooks/tutos/tuto_dedt_lumi_roi.ipynb +1382 -0
  31. eodag-4.0.0a3/docs/notebooks/tutos/tuto_fedeo_ceda.ipynb +15294 -0
  32. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_meteoblue.ipynb +1 -1
  33. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_stac_client.ipynb +1781 -1431
  34. eodag-4.0.0a3/docs/notebooks/tutos/tuto_wekeo.ipynb +4357 -0
  35. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins.rst +2 -0
  36. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/providers.rst +32 -0
  37. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/__init__.py +6 -1
  38. eodag-4.0.0a3/eodag/api/collection.py +354 -0
  39. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/core.py +324 -303
  40. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/_product.py +15 -29
  41. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/drivers/__init__.py +2 -42
  42. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/drivers/base.py +0 -11
  43. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/metadata_mapping.py +34 -5
  44. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/search_result.py +144 -9
  45. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/cli.py +18 -15
  46. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/config.py +37 -3
  47. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/apis/ecmwf.py +16 -4
  48. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/apis/usgs.py +18 -7
  49. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/filter_latest_intersect.py +1 -0
  50. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/filter_overlap.py +3 -7
  51. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/__init__.py +3 -0
  52. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/base.py +6 -6
  53. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/build_search_result.py +157 -56
  54. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/cop_marine.py +48 -8
  55. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/csw.py +18 -8
  56. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/qssearch.py +331 -88
  57. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/static_stac_search.py +11 -12
  58. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/collections.yml +610 -348
  59. eodag-4.0.0a3/eodag/resources/ext_collections.json +1 -0
  60. eodag-4.0.0a3/eodag/resources/ext_product_types.json +1 -0
  61. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/providers.yml +334 -62
  62. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/stac_provider.yml +4 -2
  63. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/user_conf_template.yml +9 -0
  64. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/types/__init__.py +2 -0
  65. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/types/queryables.py +16 -0
  66. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/__init__.py +47 -2
  67. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/repr.py +2 -0
  68. {eodag-4.0.0a1 → eodag-4.0.0a3/eodag.egg-info}/PKG-INFO +4 -2
  69. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag.egg-info/SOURCES.txt +4 -1
  70. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag.egg-info/requires.txt +3 -1
  71. {eodag-4.0.0a1 → eodag-4.0.0a3}/pyproject.toml +1 -3
  72. {eodag-4.0.0a1 → eodag-4.0.0a3}/pytest.ini +1 -0
  73. {eodag-4.0.0a1 → eodag-4.0.0a3}/setup.cfg +3 -1
  74. {eodag-4.0.0a1 → eodag-4.0.0a3}/tox.ini +1 -1
  75. {eodag-4.0.0a1 → eodag-4.0.0a3}/utils/collections_information_to_csv.py +12 -4
  76. eodag-4.0.0a3/utils/ext_collections_cmp.py +288 -0
  77. eodag-4.0.0a3/utils/ext_product_types_cmp.py +288 -0
  78. eodag-4.0.0a1/.github/workflows/fetch.yml +0 -69
  79. eodag-4.0.0a1/docs/_static/collections_information.csv +0 -283
  80. eodag-4.0.0a1/docs/notebooks/api_user_guide/1_providers_products_available.ipynb +0 -743
  81. eodag-4.0.0a1/docs/notebooks/api_user_guide/3_search.ipynb +0 -5022
  82. eodag-4.0.0a1/docs/notebooks/api_user_guide/data/download_search_results.geojson +0 -1
  83. eodag-4.0.0a1/docs/notebooks/tutos/tuto_dedt_lumi_roi.ipynb +0 -1391
  84. eodag-4.0.0a1/docs/notebooks/tutos/tuto_fedeo_ceda.ipynb +0 -4277
  85. eodag-4.0.0a1/docs/notebooks/tutos/tuto_wekeo.ipynb +0 -949
  86. eodag-4.0.0a1/eodag/resources/ext_collections.json +0 -1
  87. eodag-4.0.0a1/eodag/resources/ext_product_types.json +0 -1
  88. {eodag-4.0.0a1 → eodag-4.0.0a3}/.dockerignore +0 -0
  89. {eodag-4.0.0a1 → eodag-4.0.0a3}/.editorconfig +0 -0
  90. {eodag-4.0.0a1 → eodag-4.0.0a3}/.gitattributes +0 -0
  91. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  92. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  93. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/pull_request_template.md +0 -0
  94. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/deploy.yml +0 -0
  95. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/github-pages.yml +0 -0
  96. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/lint-pr-title.yml +0 -0
  97. {eodag-4.0.0a1 → eodag-4.0.0a3}/.github/workflows/publish.yml +0 -0
  98. {eodag-4.0.0a1 → eodag-4.0.0a3}/.gitignore +0 -0
  99. {eodag-4.0.0a1 → eodag-4.0.0a3}/.pre-commit-config.yaml +0 -0
  100. {eodag-4.0.0a1 → eodag-4.0.0a3}/CODE_OF_CONDUCT.md +0 -0
  101. {eodag-4.0.0a1 → eodag-4.0.0a3}/LICENSE +0 -0
  102. {eodag-4.0.0a1 → eodag-4.0.0a3}/MANIFEST.in +0 -0
  103. {eodag-4.0.0a1 → eodag-4.0.0a3}/README.rst +0 -0
  104. {eodag-4.0.0a1 → eodag-4.0.0a3}/docker-compose.yml +0 -0
  105. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/Makefile +0 -0
  106. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/download_methods.png +0 -0
  107. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_advanced_calls_graph.svg +0 -0
  108. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_bycs.png +0 -0
  109. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_fetch_collections.png +0 -0
  110. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_logo_160.png +0 -0
  111. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_logo_160r.png +0 -0
  112. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_main_calls_graph.svg +0 -0
  113. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_overview.png +0 -0
  114. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/eodag_stac_server.png +0 -0
  115. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/favicon-32x32.png +0 -0
  116. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/params_mapping_offline_infos.json +0 -0
  117. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/params_mapping_opensearch.csv +0 -0
  118. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/progress_1.png +0 -0
  119. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/progress_1_none.png +0 -0
  120. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/progress_2.png +0 -0
  121. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/progress_2_none.png +0 -0
  122. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/stac_browser_example.png +0 -0
  123. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/_static/stac_browser_example_600.png +0 -0
  124. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/add_provider.rst +0 -0
  125. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/call_graphs.rst +0 -0
  126. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/core.rst +0 -0
  127. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/exceptions.rst +0 -0
  128. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/queryables.rst +0 -0
  129. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/types.rst +0 -0
  130. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_reference/utils.rst +0 -0
  131. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/api_user_guide.rst +0 -0
  132. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/breaking_changes.rst +0 -0
  133. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/changelog.rst +0 -0
  134. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/conf.py +0 -0
  135. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/contribute.rst +0 -0
  136. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/ecosystem.rst +0 -0
  137. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/index.rst +0 -0
  138. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/install.rst +0 -0
  139. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/overview.rst +0 -0
  140. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/getting_started_guide/product_storage_status.rst +0 -0
  141. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/index.rst +0 -0
  142. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/make.bat +0 -0
  143. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/6_crunch.ipynb +0 -0
  144. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/7_download.ipynb +0 -0
  145. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/8_post_process.ipynb +0 -0
  146. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/api_user_guide/data/crunch_search_results.geojson +0 -0
  147. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/intro_notebooks.ipynb +0 -0
  148. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.cpg +0 -0
  149. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.dbf +0 -0
  150. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.prj +0 -0
  151. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qix +0 -0
  152. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qpj +0 -0
  153. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shp +0 -0
  154. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shx +0 -0
  155. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/auxdata/sentinel2_tiling_grid_centroids.zip +0 -0
  156. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_burnt_areas_snappy.ipynb +0 -0
  157. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_ecmwf.ipynb +0 -0
  158. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_search_location_tile.ipynb +0 -0
  159. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/notebooks/tutos/tuto_ship_detection.ipynb +0 -0
  160. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/params_mapping.rst +0 -0
  161. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins_reference/api.rst +0 -0
  162. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins_reference/auth.rst +0 -0
  163. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins_reference/crunch.rst +0 -0
  164. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins_reference/download.rst +0 -0
  165. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/plugins_reference/search.rst +0 -0
  166. {eodag-4.0.0a1 → eodag-4.0.0a3}/docs/tutos.rst +0 -0
  167. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/__init__.py +0 -0
  168. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/__init__.py +0 -0
  169. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/_assets.py +0 -0
  170. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/drivers/generic.py +0 -0
  171. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/drivers/sentinel1.py +0 -0
  172. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/api/product/drivers/sentinel2.py +0 -0
  173. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/crunch.py +0 -0
  174. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/__init__.py +0 -0
  175. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/apis/__init__.py +0 -0
  176. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/apis/base.py +0 -0
  177. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/__init__.py +0 -0
  178. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/aws_auth.py +0 -0
  179. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/base.py +0 -0
  180. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/generic.py +0 -0
  181. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/header.py +0 -0
  182. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/keycloak.py +0 -0
  183. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/openid_connect.py +0 -0
  184. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/qsauth.py +0 -0
  185. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/sas_auth.py +0 -0
  186. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/token.py +0 -0
  187. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/authentication/token_exchange.py +0 -0
  188. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/base.py +0 -0
  189. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/__init__.py +0 -0
  190. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/base.py +0 -0
  191. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/filter_date.py +0 -0
  192. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/filter_latest_tpl_name.py +0 -0
  193. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/crunch/filter_property.py +0 -0
  194. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/download/__init__.py +0 -0
  195. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/download/aws.py +0 -0
  196. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/download/base.py +0 -0
  197. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/download/http.py +0 -0
  198. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/manager.py +0 -0
  199. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/creodias_s3.py +0 -0
  200. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/plugins/search/stac_list_assets.py +0 -0
  201. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/py.typed +0 -0
  202. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/locations_conf_template.yml +0 -0
  203. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt +0 -0
  204. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.cpg +0 -0
  205. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.dbf +0 -0
  206. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.prj +0 -0
  207. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.shp +0 -0
  208. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/resources/shp/ne_110m_admin_0_map_units.shx +0 -0
  209. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/types/bbox.py +0 -0
  210. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/types/download_args.py +0 -0
  211. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/types/search_args.py +0 -0
  212. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/cache.py +0 -0
  213. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/dates.py +0 -0
  214. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/env.py +0 -0
  215. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/exceptions.py +0 -0
  216. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/free_text_search.py +0 -0
  217. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/import_system.py +0 -0
  218. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/logging.py +0 -0
  219. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/notebook.py +0 -0
  220. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/requests.py +0 -0
  221. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/s3.py +0 -0
  222. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag/utils/stac_reader.py +0 -0
  223. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag.egg-info/dependency_links.txt +0 -0
  224. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag.egg-info/entry_points.txt +0 -0
  225. {eodag-4.0.0a1 → eodag-4.0.0a3}/eodag.egg-info/top_level.txt +0 -0
  226. {eodag-4.0.0a1 → eodag-4.0.0a3}/get_pypi_latest_version.sh +0 -0
  227. {eodag-4.0.0a1 → eodag-4.0.0a3}/readthedocs.yml +0 -0
  228. {eodag-4.0.0a1 → eodag-4.0.0a3}/requirements-dev.txt +0 -0
  229. {eodag-4.0.0a1 → eodag-4.0.0a3}/requirements-docs.txt +0 -0
  230. {eodag-4.0.0a1 → eodag-4.0.0a3}/requirements-tutorials.txt +0 -0
  231. {eodag-4.0.0a1 → eodag-4.0.0a3}/requirements.txt +0 -0
  232. {eodag-4.0.0a1 → eodag-4.0.0a3}/setup.py +0 -0
  233. {eodag-4.0.0a1 → eodag-4.0.0a3}/utils/params_mapping_to_csv.py +0 -0
@@ -60,7 +60,7 @@ jobs:
60
60
  body: |
61
61
  `${{ env.EXPECTED_TAG }}` release.
62
62
 
63
- 5 files were updated:
63
+ 2 files were updated:
64
64
 
65
65
  [CHANGES.rst](https://github.com/CS-SI/eodag/blob/new-release/CHANGES.rst), and version updated in:
66
66
  - [pyproject.toml](https://github.com/CS-SI/eodag/blob/new-release/pyproject.toml?plain=1#L6)
@@ -0,0 +1,275 @@
1
+ name: Fetch collections
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches: [develop]
7
+ schedule:
8
+ - cron: "0 6 * * *"
9
+
10
+ jobs:
11
+ fetch-collections:
12
+ name: Fetch providers for new collections
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout the repo
16
+ uses: actions/checkout@v4
17
+ with:
18
+ # Get history and tags for SCM versioning to work
19
+ fetch-depth: 0
20
+ - name: Install the latest version of uv with cache enabled
21
+ uses: astral-sh/setup-uv@v3
22
+ with:
23
+ version: "latest"
24
+ enable-cache: true
25
+ cache-dependency-glob: ""
26
+ - name: Install eodag in venv
27
+ run: |
28
+ uv venv
29
+ source .venv/bin/activate
30
+ uv pip install ".[all-providers]"
31
+ - name: Fetch external collections data
32
+ env:
33
+ EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__USERNAME: ${{ secrets.EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__USERNAME }}
34
+ EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__PASSWORD: ${{ secrets.EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__PASSWORD }}
35
+ JSON_OUTPUT_FILE: "eodag/resources/ext_collections.json"
36
+ run: |
37
+ source .venv/bin/activate
38
+ eodag -vvv discover --storage ${JSON_OUTPUT_FILE}
39
+ # add empty line at end of file
40
+ sed -i -e '$a\' ${JSON_OUTPUT_FILE}
41
+ - name: List collections by allowing the fetch and hightlight warning logs
42
+ env:
43
+ EODAG_VALIDATE_COLLECTIONS: True
44
+ EODAG_EXT_COLLECTIONS_CFG_FILE: "eodag/resources/ext_collections.json"
45
+ run: |
46
+ source .venv/bin/activate
47
+ eodag -vvv list 2> >(tee /tmp/logs.txt)
48
+ cat /tmp/logs.txt | grep -i "\[WARNING" > /tmp/warnings.txt
49
+ - name: Upload full logs
50
+ uses: actions/upload-artifact@v5
51
+ id: artifact-upload-step
52
+ with:
53
+ name: collection-logs-full
54
+ path: /tmp/logs.txt
55
+ retention-days: 30
56
+ - name: logs artifact URL
57
+ run: |
58
+ echo "${{ steps.artifact-upload-step.outputs.artifact-url }}" > /tmp/logs_url.txt
59
+ cat /tmp/logs_url.txt
60
+ - name: Commit changes if any
61
+ id: commit
62
+ run: |
63
+ git config user.name "github-actions[bot]"
64
+ git config user.email "'github-actions[bot]@users.noreply.github.com"
65
+ git add "eodag/resources/ext_collections.json"
66
+
67
+ # Check if there are changes to commit
68
+ if git diff --cached --quiet; then
69
+ echo "No changes detected in ext_collections.json"
70
+ echo "has_changes=false" >> $GITHUB_OUTPUT
71
+ echo "commit_sha=${GITHUB_SHA}" >> $GITHUB_OUTPUT
72
+ else
73
+ git commit -m "chore: update external collections reference"
74
+ echo "has_changes=true" >> $GITHUB_OUTPUT
75
+ echo "commit_sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
76
+ fi
77
+
78
+ - name: Download reference file for comparison
79
+ run: |
80
+ source .venv/bin/activate
81
+ JSON_REF_FILE=$(python -c "import eodag; print(eodag.config.EXT_COLLECTIONS_CONF_URI)")
82
+ curl -s "${JSON_REF_FILE}" -o /tmp/ref_collections.json
83
+
84
+ - name: Generate comparison and update job summary
85
+ run: |
86
+ source .venv/bin/activate
87
+ COMMIT_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commit/${{ steps.commit.outputs.commit_sha }}"
88
+
89
+ echo "Update external collections reference from daily fetch. See [Python API User Guide / Collections discovery](https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery)" >> $GITHUB_STEP_SUMMARY
90
+
91
+ echo '### Collections validation' >> $GITHUB_STEP_SUMMARY
92
+ if [ -s "/tmp/warnings.txt" ]; then
93
+ WARN_COUNT=$(wc -l < "/tmp/warnings.txt")
94
+ echo "⚠️ **${WARN_COUNT} warning(s) detected** - please review the [validation logs (logs.txt)](`cat /tmp/logs_url.txt`)" >> $GITHUB_STEP_SUMMARY
95
+ else
96
+ echo "✅ **No warnings detected**" >> $GITHUB_STEP_SUMMARY
97
+ fi
98
+
99
+ echo '### Changed file' >> $GITHUB_STEP_SUMMARY
100
+ if [ "${{ steps.commit.outputs.has_changes }}" = "true" ]; then
101
+ git show --name-only --format=tformat: >> $GITHUB_STEP_SUMMARY
102
+ else
103
+ echo "No changes detected" >> $GITHUB_STEP_SUMMARY
104
+ fi
105
+ echo '' >> $GITHUB_STEP_SUMMARY
106
+ echo "commit [${{ steps.commit.outputs.commit_sha }}](${COMMIT_URL})" >> $GITHUB_STEP_SUMMARY
107
+ echo '' >> $GITHUB_STEP_SUMMARY
108
+ # Use our Python comparison script for better diff analysis
109
+ python utils/ext_collections_cmp.py /tmp/ref_collections.json "eodag/resources/ext_collections.json" > /tmp/comparison_output.md
110
+ # Add comparison output to step summary
111
+ cat /tmp/comparison_output.md >> $GITHUB_STEP_SUMMARY
112
+ - name: Create PR body
113
+ run: |
114
+ source .venv/bin/activate
115
+ COMMIT_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commit/${{ steps.commit.outputs.commit_sha }}"
116
+
117
+ {
118
+ # Include header info
119
+ echo "Update external collections reference from daily fetch. See [Python API User Guide / Collections discovery](https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery)"
120
+ echo ""
121
+ echo '### Collections validation'
122
+ if [ -s "/tmp/warnings.txt" ]; then
123
+ WARN_COUNT=$(wc -l < "/tmp/warnings.txt")
124
+ echo "⚠️ **${WARN_COUNT} warning(s) detected** - please review the [validation logs (logs.txt)](`cat /tmp/logs_url.txt`)"
125
+ else
126
+ echo "✅ **No warnings detected**"
127
+ fi
128
+ echo ""
129
+ echo "### Changed file"
130
+ if [ "${{ steps.commit.outputs.has_changes }}" = "true" ]; then
131
+ git show --name-only --format=tformat:
132
+ else
133
+ echo "No changes detected"
134
+ fi
135
+ echo ""
136
+ echo "commit [${{ steps.commit.outputs.commit_sha }}](${COMMIT_URL})"
137
+ echo ""
138
+ echo "---"
139
+ echo "**Note:** Detailed diffs are available in the [job summary](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
140
+ echo ""
141
+ # Generate comparison without detailed diffs for PR body
142
+ if ! python utils/ext_collections_cmp.py /tmp/ref_collections.json "eodag/resources/ext_collections.json" --no-details --job-url="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"; then
143
+ echo "Error running comparison script, but proceeding with PR creation."
144
+ echo ""
145
+ echo "### Summary:"
146
+ echo "- Comparison script failed - please check job logs"
147
+ fi
148
+ } > /tmp/pr_col_body.md
149
+ - name: Create Pull Request
150
+ uses: peter-evans/create-pull-request@v6
151
+ with:
152
+ branch: external-collections-ref-update
153
+ delete-branch: true
154
+ title: 'chore: update external collections reference'
155
+ body-path: /tmp/pr_col_body.md
156
+ labels: |
157
+ automated pr
158
+
159
+ fetch-product-types:
160
+ name: Fetch providers for new product-types
161
+ runs-on: ubuntu-latest
162
+ steps:
163
+ - name: Checkout the repo
164
+ uses: actions/checkout@v4
165
+ with:
166
+ # Get history and tags for SCM versioning to work
167
+ fetch-depth: 0
168
+ - name: Install the latest version of uv with cache enabled
169
+ uses: astral-sh/setup-uv@v3
170
+ with:
171
+ version: "latest"
172
+ enable-cache: true
173
+ cache-dependency-glob: ""
174
+ - name: Install eodag v3 in venv
175
+ run: |
176
+ uv venv
177
+ source .venv/bin/activate
178
+ # Run from /tmp to avoid installing eodag module
179
+ cd /tmp && uv pip install "eodag[all-providers]~=3.0"
180
+ - name: Fetch external product-types data
181
+ env:
182
+ EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__USERNAME: ${{ secrets.EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__USERNAME }}
183
+ EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__PASSWORD: ${{ secrets.EODAG__WEKEO_MAIN__AUTH__CREDENTIALS__PASSWORD }}
184
+ JSON_OUTPUT_FILE: "eodag/resources/ext_product_types.json"
185
+ run: |
186
+ source .venv/bin/activate
187
+ cd "$GITHUB_WORKSPACE"
188
+ eodag -vvv discover --storage ${JSON_OUTPUT_FILE}
189
+ # add empty line at end of file
190
+ sed -i -e '$a\' ${JSON_OUTPUT_FILE}
191
+
192
+ - name: Commit changes if any
193
+ id: commit
194
+ run: |
195
+ git config user.name "github-actions[bot]"
196
+ git config user.email "'github-actions[bot]@users.noreply.github.com"
197
+ git add "eodag/resources/ext_product_types.json"
198
+
199
+ # Check if there are changes to commit
200
+ if git diff --cached --quiet; then
201
+ echo "No changes detected in ext_product_types.json"
202
+ echo "has_changes=false" >> $GITHUB_OUTPUT
203
+ echo "commit_sha=${GITHUB_SHA}" >> $GITHUB_OUTPUT
204
+ else
205
+ git commit -m "chore: update external product-types reference"
206
+ echo "has_changes=true" >> $GITHUB_OUTPUT
207
+ echo "commit_sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
208
+ fi
209
+
210
+ - name: Download reference file for comparison
211
+ run: |
212
+ source .venv/bin/activate
213
+ # Run from /tmp to avoid importing local eodag module
214
+ JSON_REF_FILE=$(cd /tmp && python -c "import eodag; print(eodag.config.EXT_PRODUCT_TYPES_CONF_URI)")
215
+ curl -s "${JSON_REF_FILE}" -o /tmp/ref_product_types.json
216
+
217
+ - name: Generate comparison and update job summary
218
+ run: |
219
+ source .venv/bin/activate
220
+ COMMIT_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commit/${{ steps.commit.outputs.commit_sha }}"
221
+
222
+ echo "Update external product-types reference from daily fetch. See [Python API User Guide / Collections discovery](https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery)" >> $GITHUB_STEP_SUMMARY
223
+ echo '### Changed file' >> $GITHUB_STEP_SUMMARY
224
+ if [ "${{ steps.commit.outputs.has_changes }}" = "true" ]; then
225
+ git show --name-only --format=tformat: >> $GITHUB_STEP_SUMMARY
226
+ else
227
+ echo "No changes detected" >> $GITHUB_STEP_SUMMARY
228
+ fi
229
+ echo '' >> $GITHUB_STEP_SUMMARY
230
+ echo "commit [${{ steps.commit.outputs.commit_sha }}](${COMMIT_URL})" >> $GITHUB_STEP_SUMMARY
231
+ echo '' >> $GITHUB_STEP_SUMMARY
232
+
233
+ # Use our Python comparison script for better diff analysis
234
+ python utils/ext_product_types_cmp.py /tmp/ref_product_types.json "eodag/resources/ext_product_types.json" > /tmp/pt_cmp_output.md
235
+ # Add comparison output to step summary
236
+ cat /tmp/pt_cmp_output.md >> $GITHUB_STEP_SUMMARY
237
+
238
+ - name: Create PR body
239
+ run: |
240
+ source .venv/bin/activate
241
+ COMMIT_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commit/${{ steps.commit.outputs.commit_sha }}"
242
+
243
+ {
244
+ # Include header info
245
+ echo "Update external product-types reference from daily fetch. See [Python API User Guide / Collections discovery](https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery)"
246
+ echo ""
247
+ echo "### Changed file"
248
+ if [ "${{ steps.commit.outputs.has_changes }}" = "true" ]; then
249
+ git show --name-only --format=tformat:
250
+ else
251
+ echo "No changes detected"
252
+ fi
253
+ echo ""
254
+ echo "commit [${{ steps.commit.outputs.commit_sha }}](${COMMIT_URL})"
255
+ echo ""
256
+ echo "---"
257
+ echo "**Note:** Detailed diffs are available in the [job summary](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
258
+ echo ""
259
+ # Generate comparison without detailed diffs for PR body
260
+ if ! python utils/ext_product_types_cmp.py /tmp/ref_product_types.json "eodag/resources/ext_product_types.json" --no-details --job-url="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"; then
261
+ echo "Error running comparison script, but proceeding with PR creation."
262
+ echo ""
263
+ echo "### Summary:"
264
+ echo "- Comparison script failed - please check job logs"
265
+ fi
266
+ } > /tmp/pr_pt_body.md
267
+ - name: Create Pull Request
268
+ uses: peter-evans/create-pull-request@v6
269
+ with:
270
+ branch: external-product-types-ref-update
271
+ delete-branch: true
272
+ title: 'chore: update external product types reference'
273
+ body-path: /tmp/pr_pt_body.md
274
+ labels: |
275
+ automated pr
@@ -2,16 +2,16 @@ name: Run Tests
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [master, develop, v4]
5
+ branches: [master, develop, v3.10.x]
6
6
  pull_request:
7
- branches: [master, develop, v4]
7
+ branches: [master, develop, v3.10.x]
8
8
  schedule:
9
9
  - cron: "0 7 * * 1"
10
10
  workflow_dispatch:
11
11
 
12
12
  jobs:
13
13
  lint:
14
- name: Linting (pre-commit and mypy)
14
+ name: Linting (prek/pre-commit and mypy)
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
17
  - name: Checkout the repo
@@ -3,7 +3,18 @@ Migration guide
3
3
 
4
4
  Full changelog available in `Release history <changelog.html>`_.
5
5
 
6
- v4.0.0b1
6
+ v4.0.0a2
7
+ ++++++++
8
+
9
+ Collections objects
10
+ ~~~~~~~~~~~~~~~~~~~
11
+
12
+ :meth:`~eodag.api.core.EODataAccessGateway.list_collections` and
13
+ :meth:`~eodag.api.core.EODataAccessGateway.guess_collection` now return
14
+ :class:`~eodag.api.collection.CollectionsList` instances (lists of
15
+ :class:`~eodag.api.collection.Collection` objects) instead of list of dictionaries and list of strings respectively.
16
+
17
+ v4.0.0a1
7
18
  ++++++++
8
19
 
9
20
  STAC-Formatted API and Results
@@ -254,7 +265,7 @@ Files renamed
254
265
 
255
266
  External collections reference configuration file is now hosted as
256
267
  `https://cs-si.github.io/eodag/eodag/resources/ext_collections.json
257
- <https://cs-si.github.io/eodag/eodag/resources/ext_collections.jsons>`_. See `API user guide / Providers and products
268
+ <https://cs-si.github.io/eodag/eodag/resources/ext_collections.json>`_. See `API user guide / Providers and products
258
269
  / Collections discovery <notebooks/api_user_guide/1_providers_products_available.ipynb#Collections-discovery>`_ for more
259
270
  information.
260
271
 
@@ -3,6 +3,126 @@ Release history
3
3
  ===============
4
4
 
5
5
 
6
+ v4.0.0a3 (2025-11-27)
7
+ =====================
8
+
9
+ Bug Fixes
10
+ ---------
11
+
12
+ * **core**: Handling of collections with aliases (`#1935`_, `274280a`_)
13
+
14
+ * **providers**: Geodes max_items_per_page down to 80 (`#1938`_, `abf8c71`_)
15
+
16
+ .. _#1935: https://github.com/CS-SI/eodag/pull/1935
17
+ .. _#1938: https://github.com/CS-SI/eodag/pull/1938
18
+
19
+ .. _274280a: https://github.com/CS-SI/eodag/commit/274280ae3b5df1fe7eac792d57192e633879dbcd
20
+ .. _abf8c71: https://github.com/CS-SI/eodag/commit/abf8c71bdbb7b3bcc27371b85f47261c489e3650
21
+
22
+ v4.0.0a2 (2025-11-19)
23
+ =====================
24
+
25
+ Features
26
+ --------
27
+
28
+ * **core**: Collections representation classes (`#1731`_, `4b57160`_)
29
+
30
+ * **core**: Search pagination using next_page (`#1745`_, `9abe670`_)
31
+
32
+ * **plugins**: Use original copernicus provider to list queryables of wekeo_ecmwf (`#1897`_,
33
+ `0929a7c`_)
34
+
35
+ * **providers**: Add DEDT Marenostrum provider (`#1869`_, `650d21b`_)
36
+
37
+ * **providers**: Add DT_CLIMATE_ADAPTATION collection (`#1908`_, `cd84b88`_)
38
+
39
+ Bug Fixes
40
+ ---------
41
+
42
+ * **core**: Skip None EOProduct.properties (`#1892`_, `41c2fc4`_)
43
+
44
+ * **core**: Sort queryables and ecmwf alias support (`#1894`_, `090c0bd`_)
45
+
46
+ * **plugins**: Add temporal resolution to ecmwf properties (`#1899`_, `219e669`_)
47
+
48
+ * **plugins**: Cop_marine search by id (`#1923`_, `0d42f00`_)
49
+
50
+ * **plugins**: Ecmwf geometries support (`#1924`_, `e996be9`_)
51
+
52
+ Continuous Integration
53
+ ----------------------
54
+
55
+ * Better external collections summary in auto-update PR (`#1907`_, `43d9fb4`_)
56
+
57
+ * Fetch collections PR fix and refactor (`#1917`_, `0b88c50`_)
58
+
59
+ * Pre-commit replaced with faster prek (`#1914`_, `eb5dd5f`_)
60
+
61
+ Refactoring
62
+ -----------
63
+
64
+ * **collections**: CLMS and MetOp updates (`#1906`_, `9ebb872`_)
65
+
66
+ * **core**: Disable search pagination when less items got than expected (`#1920`_, `dfa18e7`_)
67
+
68
+ * **core**: Remove deprecatred legacy driver and get_data doc (`#1891`_, `2500af7`_)
69
+
70
+ * **core**: Whole world as default product geometry and shapely stubs (`#1915`_, `99df712`_)
71
+
72
+ * **providers**: Next_page_token_key added to confs (`#1921`_, `2bb99ba`_)
73
+
74
+ .. _#1730: https://github.com/CS-SI/eodag/pull/1730
75
+ .. _#1731: https://github.com/CS-SI/eodag/pull/1731
76
+ .. _#1745: https://github.com/CS-SI/eodag/pull/1745
77
+ .. _#1781: https://github.com/CS-SI/eodag/pull/1781
78
+ .. _#1789: https://github.com/CS-SI/eodag/pull/1789
79
+ .. _#1839: https://github.com/CS-SI/eodag/pull/1839
80
+ .. _#1840: https://github.com/CS-SI/eodag/pull/1840
81
+ .. _#1868: https://github.com/CS-SI/eodag/pull/1868
82
+ .. _#1869: https://github.com/CS-SI/eodag/pull/1869
83
+ .. _#1877: https://github.com/CS-SI/eodag/pull/1877
84
+ .. _#1880: https://github.com/CS-SI/eodag/pull/1880
85
+ .. _#1886: https://github.com/CS-SI/eodag/pull/1886
86
+ .. _#1888: https://github.com/CS-SI/eodag/pull/1888
87
+ .. _#1891: https://github.com/CS-SI/eodag/pull/1891
88
+ .. _#1892: https://github.com/CS-SI/eodag/pull/1892
89
+ .. _#1894: https://github.com/CS-SI/eodag/pull/1894
90
+ .. _#1897: https://github.com/CS-SI/eodag/pull/1897
91
+ .. _#1899: https://github.com/CS-SI/eodag/pull/1899
92
+ .. _#1906: https://github.com/CS-SI/eodag/pull/1906
93
+ .. _#1907: https://github.com/CS-SI/eodag/pull/1907
94
+ .. _#1908: https://github.com/CS-SI/eodag/pull/1908
95
+ .. _#1911: https://github.com/CS-SI/eodag/pull/1911
96
+ .. _#1914: https://github.com/CS-SI/eodag/pull/1914
97
+ .. _#1915: https://github.com/CS-SI/eodag/pull/1915
98
+ .. _#1917: https://github.com/CS-SI/eodag/pull/1917
99
+ .. _#1919: https://github.com/CS-SI/eodag/pull/1919
100
+ .. _#1920: https://github.com/CS-SI/eodag/pull/1920
101
+ .. _#1921: https://github.com/CS-SI/eodag/pull/1921
102
+ .. _#1923: https://github.com/CS-SI/eodag/pull/1923
103
+ .. _#1924: https://github.com/CS-SI/eodag/pull/1924
104
+ .. _090c0bd: https://github.com/CS-SI/eodag/commit/090c0bdee39041eb9b572112602be9477771a5fe
105
+ .. _0929a7c: https://github.com/CS-SI/eodag/commit/0929a7c7f883a5c5efcb87b903e2752a6efd789b
106
+ .. _0b88c50: https://github.com/CS-SI/eodag/commit/0b88c5041ec4d838cad64dbf864185b72325c791
107
+ .. _0d42f00: https://github.com/CS-SI/eodag/commit/0d42f00e9c237188c0ffc7de8aad3b5a0a37a6ae
108
+ .. _219e669: https://github.com/CS-SI/eodag/commit/219e669fa6e8bbbfa96357b21b964dd53c445233
109
+ .. _2500af7: https://github.com/CS-SI/eodag/commit/2500af7753cbbc1cfe6d315ea3247aebf6299859
110
+ .. _2bb99ba: https://github.com/CS-SI/eodag/commit/2bb99babf59ec2b7cf60a05148f20217ba6bfac9
111
+ .. _41c2fc4: https://github.com/CS-SI/eodag/commit/41c2fc4735df6b4498a5333dc13007ece279afce
112
+ .. _43d9fb4: https://github.com/CS-SI/eodag/commit/43d9fb442a8f33ab94873be251b230d1838d01c8
113
+ .. _4b57160: https://github.com/CS-SI/eodag/commit/4b571601b8a872265adc14c7fdb0be8e8566aa4c
114
+ .. _650d21b: https://github.com/CS-SI/eodag/commit/650d21b84e3c929eee7c1b100e6ee7ecfd0a70b8
115
+ .. _99df712: https://github.com/CS-SI/eodag/commit/99df71295a9a4c9f03bcb05cec814c4f50e43fb2
116
+ .. _9abe670: https://github.com/CS-SI/eodag/commit/9abe670945a70878ed7de5c53c46e5d5776e96c1
117
+ .. _9ebb872: https://github.com/CS-SI/eodag/commit/9ebb87297d464d06430dd5271c20b44e0df9b14c
118
+ .. _cd84b88: https://github.com/CS-SI/eodag/commit/cd84b88ff1bcb765f0b7ecd4d67fea1b06bc403e
119
+ .. _d4f8379: https://github.com/CS-SI/eodag/commit/d4f8379b90c02346506bdb53ded4c06ef128df31
120
+ .. _dfa18e7: https://github.com/CS-SI/eodag/commit/dfa18e7212094204000da269d039f05906dcb294
121
+ .. _e996be9: https://github.com/CS-SI/eodag/commit/e996be9ae1d7d94703452df736aed6ec8115a1f5
122
+ .. _eb5dd5f: https://github.com/CS-SI/eodag/commit/eb5dd5fb85ae17f02ac3abf8d96ff72b84358fea
123
+
124
+
125
+
6
126
  v4.0.0a1 (2025-10-20)
7
127
  =====================
8
128
 
@@ -812,7 +932,7 @@ Core features and fixes
812
932
  ^^^^^^^^^^^^^^^^^^^^^^^
813
933
 
814
934
  * [v3.1.0b2] Assets keys uniformization using drivers (:pull:`1488`)
815
- * [v3.1.0b1] Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/5_queryables.html>`_
935
+ * [v3.1.0b1] Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_
816
936
  mechanism and ecmwf-like plugins (:pull:`1397`)(:pull:`1427`)(:pull:`1462`)
817
937
  * **[v3.1.0]** Customizable providers configuration file through ``EODAG_PRODUCT_TYPES_CFG_FILE`` environment
818
938
  variable (:pull:`1559`)
@@ -863,7 +983,7 @@ Miscellaneous
863
983
 
864
984
  * **[build]** remove dependencies max versions (:pull:`1519`)
865
985
  * **[docs]** ``eodag-cube`` `Python API documentation
866
- <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/9_post_process.html#Data-access-with-eodag-cube>`_
986
+ <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/8_post_process.html#Data-access-with-eodag-cube>`_
867
987
  (:pull:`1511`), ``usgs`` registration update (:pull:`1551`)
868
988
  * Various minor fixes and improvements (:pull:`1502`)(:pull:`1540`)(:pull:`1541`)(:pull:`1547`)(:pull:`1552`)
869
989
  (:pull:`1566`)(:pull:`1568`)
@@ -903,7 +1023,7 @@ v3.1.0b1 (2025-01-13)
903
1023
  Core features and fixes
904
1024
  -----------------------
905
1025
 
906
- * Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/5_queryables.html>`_ mechanism
1026
+ * Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_ mechanism
907
1027
  and ecmwf-like plugins (:pull:`1397`)(:pull:`1427`)(:pull:`1462`)
908
1028
  * Order and download polling times update (:pull:`1440`)
909
1029
  * Do not retry downloading skipped products during download_all (:pull:`1465`)
@@ -941,7 +1061,7 @@ Server mode
941
1061
 
942
1062
  Miscellaneous
943
1063
  -------------
944
- * **[docs]** `Queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/5_queryables.html>`_
1064
+ * **[docs]** `Queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_
945
1065
  documentation in a dedicated section (:pull:`1447`)
946
1066
  * Various minor fixes and improvements (:pull:`1390`)(:pull:`1403`)(:pull:`1411`)(:pull:`1415`)(:pull:`1419`)
947
1067
  (:pull:`1428`)(:pull:`1430`)(:pull:`1434`)(:pull:`1445`)(:pull:`1448`)(:pull:`1458`)(:pull:`1466`)
@@ -992,7 +1112,7 @@ v3.0.0 (2024-10-10)
992
1112
  |:warning:| Breaking changes since last stable (`v2.12.1 <changelog.rst#v2-12-1-2024-03-05>`_)
993
1113
  ----------------------------------------------------------------------------------------------
994
1114
 
995
- * [v3.0.0b1] `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#search()>`_ method
1115
+ * [v3.0.0b1] `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#search()>`_ method
996
1116
  now returns only a :class:`~eodag.api.search_result.SearchResult` instead of a 2 values tuple (:pull:`1200`). It can
997
1117
  optionally store the estimated total number of products in ``SearchResult.number_matched`` if the method is called
998
1118
  with ``count=True`` (``False`` by default).
@@ -1161,7 +1281,7 @@ v3.0.0b1 (2024-06-24)
1161
1281
  |:warning:| Breaking changes
1162
1282
  ----------------------------
1163
1283
 
1164
- * `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#search()>`_ method now
1284
+ * `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#search()>`_ method now
1165
1285
  returns only a :class:`~eodag.api.search_result.SearchResult` instead of a 2 values tuple (:pull:`1200`). It can
1166
1286
  optionally store the estimated total number of products in ``SearchResult.number_matched`` if the method is called
1167
1287
  with ``count=True`` (``False`` by default).
@@ -1178,12 +1298,12 @@ Core features and fixes
1178
1298
  * Search results sort feature (:pull:`943`)
1179
1299
  * Providers groups (:pull:`1071`)
1180
1300
  * Configurable download timeout (:pull:`1124`)
1181
- * `Search by id <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/4_search.html#id-and-provider>`_ now
1301
+ * `Search by id <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/3_search.html#id-and-provider>`_ now
1182
1302
  uses :meth:`~eodag.api.core.EODataAccessGateway.search_all` and
1183
- `crunch <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/7_crunch.html#Filter-by-property>`_
1303
+ `crunch <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/6_crunch.html#Filter-by-property>`_
1184
1304
  (:pull:`1099`).
1185
- * Free text search available for all fields when `guessing a produc type
1186
- <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/7_crunch.html#Filter-by-property>`_ (:pull:`1070`),
1305
+ * Free text search available for all fields when `guessing a product type
1306
+ <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/6_crunch.html#Filter-by-property>`_ (:pull:`1070`),
1187
1307
  mission dates filtering support (:pull:`1222`)
1188
1308
  * Configurable requests ``ssl_verify`` (:pull:`1045`)
1189
1309
  * Download record hash independent from provider (:pull:`1023`)
@@ -1274,7 +1394,7 @@ v2.12.0 (2024-02-19)
1274
1394
 
1275
1395
  * Individual product asset download methods (:pull:`932`)
1276
1396
  * New environment variable `EODAG_CFG_DIR` available for custom configuration directory (:pull:`927`)
1277
- * New `list_queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#Queryables>`_
1397
+ * New `list_queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#Queryables>`_
1278
1398
  method, available through python API and server mode, and using product-types constraints if available (:pull:`911`)
1279
1399
  (:pull:`917`)(:pull:`974`)(:pull:`977`)(:pull:`978`)(:pull:`981`)(:pull:`1005`)
1280
1400
  * Removes limited RPC server (:pull:`1011`)
@@ -1339,7 +1459,7 @@ v2.11.0b1 (2023-07-28)
1339
1459
  * Enable single-link download for STAC providers (:pull:`757`)
1340
1460
  * Fixes missing provider in STAC download link (:pull:`774`)
1341
1461
  * Better documentation for `guess_product_type()\
1342
- <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#Guess-a-product-type>`_ (:pull:`756`)
1462
+ <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#Guess-a-collection>`_ (:pull:`756`)
1343
1463
  * Fixed issue with docker image user directory (:pull:`764`)
1344
1464
  * Various minor fixes and improvements (:pull:`720`)(:pull:`717`)(:pull:`722`)(:pull:`723`)(:pull:`724`)(:pull:`727`)
1345
1465
  (:pull:`729`)(:pull:`731`)(:pull:`737`)(:pull:`738`)(:pull:`743`)(:pull:`744`)(:pull:`745`)(:pull:`749`)(:pull:`751`)
@@ -1414,7 +1534,7 @@ v2.8.0 (2023-01-17)
1414
1534
  * Removes unavailable ```sobloo``` provider (:pull:`607`)
1415
1535
  * Landsat collection-1 data no more available on `usgs` (:pull:`601`)
1416
1536
  * `Product types catalog\
1417
- <https://eodag.readthedocs.io/en/latest/getting_started_guide/product_types.html#product-types-information-csv>`_
1537
+ <https://eodag.readthedocs.io/en/latest/getting_started_guide/collections.html#product-types-information-csv>`_
1418
1538
  more visible in documentation (:pull:`603`)
1419
1539
  * Metadata mapping `to_geo_interface()` renamed to `to_geojson()`
1420
1540
  (`d7565a4 <https://github.com/CS-SI/eodag/pull/604/commits/d7565a4984d356aca20310a87c02692cb879427e>`_)
@@ -1457,7 +1577,7 @@ v2.6.0 (2022-10-07)
1457
1577
  ===================
1458
1578
 
1459
1579
  * New `product types automatic discovery\
1460
- <https://eodag.rtfd.io/en/latest/notebooks/api_user_guide/2_providers_products_available.html#Product-types-discovery>`_
1580
+ <https://eodag.rtfd.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery>`_
1461
1581
  (:pull:`480`)(:pull:`467`)(:pull:`470`)(:pull:`471`)(:pull:`472`)(:pull:`473`)(:pull:`481`)(:pull:`486`)(:pull:`493`)
1462
1582
  (:pull:`491`)(:pull:`500`)
1463
1583
  * New providers `cop_ads <https://ads.atmosphere.copernicus.eu>`_ and `cop_cds <https://cds.climate.copernicus.eu>`_
@@ -37,11 +37,10 @@ If you intend to contribute to eodag source code:
37
37
  git clone https://github.com/CS-SI/eodag.git
38
38
  cd eodag
39
39
  python -m pip install -r requirements-dev.txt
40
- pre-commit install
41
40
 
42
- We use ``pre-commit`` to run a suite of linters, formatters and pre-commit hooks (``black``, ``isort``, ``flake8``) to
43
- ensure the code base is homogeneously formatted and easier to read. It's important that you install it, since we run
44
- the exact same hooks in the Continuous Integration.
41
+ We use ``prek`` (faster ``pre-commit``) to run a suite of linters, formatters and pre-commit hooks (``black``, ``isort``
42
+ , ``flake8``) to ensure the code base is homogeneously formatted and easier to read. It's important that you install it,
43
+ since we run the exact same hooks in the Continuous Integration.
45
44
 
46
45
  To run the default test suite (which excludes end-to-end tests):
47
46
 
@@ -48,6 +48,7 @@ https://github.com/pypa/setuptools
48
48
  https://github.com/pydantic/pydantic
49
49
  https://github.com/pydantic/pydantic-core
50
50
  https://github.com/pydantic/pydantic-settings
51
+ https://github.com/stac-utils/stac-pydantic
51
52
  https://github.com/geopython/pygeofilter
52
53
  https://github.com/tkem/cachetools
53
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eodag
3
- Version: 4.0.0a1
3
+ Version: 4.0.0a3
4
4
  Summary: Earth Observation Data Access Gateway
5
5
  Home-page: https://github.com/CS-SI/eodag
6
6
  Author: CS GROUP - France
@@ -50,6 +50,7 @@ Requires-Dist: python-dateutil
50
50
  Requires-Dist: PyYAML
51
51
  Requires-Dist: requests
52
52
  Requires-Dist: shapely>=2.0.6
53
+ Requires-Dist: stac-pydantic
53
54
  Requires-Dist: tqdm
54
55
  Requires-Dist: typing_extensions>=4.8.0
55
56
  Requires-Dist: urllib3
@@ -102,7 +103,7 @@ Requires-Dist: moto>=5; extra == "dev"
102
103
  Requires-Dist: twine; extra == "dev"
103
104
  Requires-Dist: wheel; extra == "dev"
104
105
  Requires-Dist: flake8; extra == "dev"
105
- Requires-Dist: pre-commit; extra == "dev"
106
+ Requires-Dist: prek; extra == "dev"
106
107
  Requires-Dist: responses!=0.24.0; extra == "dev"
107
108
  Requires-Dist: fastapi[all]; extra == "dev"
108
109
  Requires-Dist: stdlib-list; extra == "dev"
@@ -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