eodag 4.0.0a1__tar.gz → 4.0.0a2__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.0a2}/.github/workflows/changelog.yml +1 -1
  2. eodag-4.0.0a2/.github/workflows/fetch.yml +275 -0
  3. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/workflows/test.yml +3 -3
  4. {eodag-4.0.0a1 → eodag-4.0.0a2}/BREAKING_CHANGES.rst +13 -2
  5. {eodag-4.0.0a1 → eodag-4.0.0a2}/CHANGES.rst +118 -14
  6. {eodag-4.0.0a1 → eodag-4.0.0a2}/CONTRIBUTING.rst +3 -4
  7. {eodag-4.0.0a1 → eodag-4.0.0a2}/NOTICE +1 -0
  8. {eodag-4.0.0a1/eodag.egg-info → eodag-4.0.0a2}/PKG-INFO +4 -2
  9. eodag-4.0.0a2/docs/_static/collections_information.csv +298 -0
  10. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/custom.css +5 -23
  11. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/params_mapping_extra.csv +1 -1
  12. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/add_collection.rst +16 -16
  13. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/assets.rst +0 -1
  14. eodag-4.0.0a2/docs/api_reference/collection.rst +33 -0
  15. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/eoproduct.rst +0 -1
  16. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/index.rst +9 -0
  17. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/searchresult.rst +10 -1
  18. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/cli_user_guide.rst +2 -2
  19. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/drivers.rst +2 -5
  20. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/collections.rst +10 -9
  21. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/configure.rst +11 -5
  22. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/features_overview.ipynb +3292 -10116
  23. eodag-4.0.0a2/docs/notebooks/api_user_guide/1_providers_products_available.ipynb +27359 -0
  24. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/2_configuration.ipynb +6 -5
  25. eodag-4.0.0a2/docs/notebooks/api_user_guide/3_search.ipynb +34584 -0
  26. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/4_queryables.ipynb +1448 -655
  27. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/5_serialize_deserialize.ipynb +1032 -336
  28. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_cds.ipynb +42 -42
  29. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_cop_dem.ipynb +201 -5
  30. eodag-4.0.0a2/docs/notebooks/tutos/tuto_dedt_lumi_roi.ipynb +1382 -0
  31. eodag-4.0.0a2/docs/notebooks/tutos/tuto_fedeo_ceda.ipynb +15294 -0
  32. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_meteoblue.ipynb +1 -1
  33. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_stac_client.ipynb +1781 -1431
  34. eodag-4.0.0a2/docs/notebooks/tutos/tuto_wekeo.ipynb +4357 -0
  35. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins.rst +2 -0
  36. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/providers.rst +32 -0
  37. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/__init__.py +6 -1
  38. eodag-4.0.0a2/eodag/api/collection.py +353 -0
  39. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/core.py +308 -296
  40. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/_product.py +15 -29
  41. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/drivers/__init__.py +2 -42
  42. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/drivers/base.py +0 -11
  43. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/metadata_mapping.py +34 -5
  44. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/search_result.py +144 -9
  45. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/cli.py +18 -15
  46. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/config.py +37 -3
  47. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/apis/ecmwf.py +16 -4
  48. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/apis/usgs.py +18 -7
  49. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/filter_latest_intersect.py +1 -0
  50. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/filter_overlap.py +3 -7
  51. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/__init__.py +3 -0
  52. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/base.py +6 -6
  53. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/build_search_result.py +157 -56
  54. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/cop_marine.py +48 -8
  55. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/csw.py +18 -8
  56. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/qssearch.py +331 -88
  57. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/static_stac_search.py +11 -12
  58. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/collections.yml +610 -348
  59. eodag-4.0.0a2/eodag/resources/ext_collections.json +1 -0
  60. eodag-4.0.0a2/eodag/resources/ext_product_types.json +1 -0
  61. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/providers.yml +330 -58
  62. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/stac_provider.yml +4 -2
  63. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/user_conf_template.yml +9 -0
  64. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/types/__init__.py +2 -0
  65. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/types/queryables.py +16 -0
  66. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/__init__.py +47 -2
  67. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/repr.py +2 -0
  68. {eodag-4.0.0a1 → eodag-4.0.0a2/eodag.egg-info}/PKG-INFO +4 -2
  69. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag.egg-info/SOURCES.txt +4 -1
  70. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag.egg-info/requires.txt +3 -1
  71. {eodag-4.0.0a1 → eodag-4.0.0a2}/pyproject.toml +1 -3
  72. {eodag-4.0.0a1 → eodag-4.0.0a2}/pytest.ini +1 -0
  73. {eodag-4.0.0a1 → eodag-4.0.0a2}/setup.cfg +3 -1
  74. {eodag-4.0.0a1 → eodag-4.0.0a2}/tox.ini +1 -1
  75. {eodag-4.0.0a1 → eodag-4.0.0a2}/utils/collections_information_to_csv.py +12 -4
  76. eodag-4.0.0a2/utils/ext_collections_cmp.py +288 -0
  77. eodag-4.0.0a2/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.0a2}/.dockerignore +0 -0
  89. {eodag-4.0.0a1 → eodag-4.0.0a2}/.editorconfig +0 -0
  90. {eodag-4.0.0a1 → eodag-4.0.0a2}/.gitattributes +0 -0
  91. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  92. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  93. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/pull_request_template.md +0 -0
  94. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/workflows/deploy.yml +0 -0
  95. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/workflows/github-pages.yml +0 -0
  96. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/workflows/lint-pr-title.yml +0 -0
  97. {eodag-4.0.0a1 → eodag-4.0.0a2}/.github/workflows/publish.yml +0 -0
  98. {eodag-4.0.0a1 → eodag-4.0.0a2}/.gitignore +0 -0
  99. {eodag-4.0.0a1 → eodag-4.0.0a2}/.pre-commit-config.yaml +0 -0
  100. {eodag-4.0.0a1 → eodag-4.0.0a2}/CODE_OF_CONDUCT.md +0 -0
  101. {eodag-4.0.0a1 → eodag-4.0.0a2}/LICENSE +0 -0
  102. {eodag-4.0.0a1 → eodag-4.0.0a2}/MANIFEST.in +0 -0
  103. {eodag-4.0.0a1 → eodag-4.0.0a2}/README.rst +0 -0
  104. {eodag-4.0.0a1 → eodag-4.0.0a2}/docker-compose.yml +0 -0
  105. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/Makefile +0 -0
  106. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/download_methods.png +0 -0
  107. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_advanced_calls_graph.svg +0 -0
  108. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_bycs.png +0 -0
  109. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_fetch_collections.png +0 -0
  110. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_logo_160.png +0 -0
  111. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_logo_160r.png +0 -0
  112. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_main_calls_graph.svg +0 -0
  113. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_overview.png +0 -0
  114. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/eodag_stac_server.png +0 -0
  115. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/favicon-32x32.png +0 -0
  116. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/params_mapping_offline_infos.json +0 -0
  117. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/params_mapping_opensearch.csv +0 -0
  118. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/progress_1.png +0 -0
  119. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/progress_1_none.png +0 -0
  120. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/progress_2.png +0 -0
  121. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/progress_2_none.png +0 -0
  122. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/stac_browser_example.png +0 -0
  123. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/_static/stac_browser_example_600.png +0 -0
  124. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/add_provider.rst +0 -0
  125. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/call_graphs.rst +0 -0
  126. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/core.rst +0 -0
  127. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/exceptions.rst +0 -0
  128. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/queryables.rst +0 -0
  129. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/types.rst +0 -0
  130. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_reference/utils.rst +0 -0
  131. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/api_user_guide.rst +0 -0
  132. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/breaking_changes.rst +0 -0
  133. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/changelog.rst +0 -0
  134. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/conf.py +0 -0
  135. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/contribute.rst +0 -0
  136. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/ecosystem.rst +0 -0
  137. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/index.rst +0 -0
  138. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/install.rst +0 -0
  139. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/overview.rst +0 -0
  140. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/getting_started_guide/product_storage_status.rst +0 -0
  141. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/index.rst +0 -0
  142. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/make.bat +0 -0
  143. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/6_crunch.ipynb +0 -0
  144. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/7_download.ipynb +0 -0
  145. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/8_post_process.ipynb +0 -0
  146. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/api_user_guide/data/crunch_search_results.geojson +0 -0
  147. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/intro_notebooks.ipynb +0 -0
  148. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.cpg +0 -0
  149. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.dbf +0 -0
  150. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.prj +0 -0
  151. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qix +0 -0
  152. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qpj +0 -0
  153. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shp +0 -0
  154. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shx +0 -0
  155. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/auxdata/sentinel2_tiling_grid_centroids.zip +0 -0
  156. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_burnt_areas_snappy.ipynb +0 -0
  157. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_ecmwf.ipynb +0 -0
  158. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_search_location_tile.ipynb +0 -0
  159. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/notebooks/tutos/tuto_ship_detection.ipynb +0 -0
  160. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/params_mapping.rst +0 -0
  161. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins_reference/api.rst +0 -0
  162. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins_reference/auth.rst +0 -0
  163. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins_reference/crunch.rst +0 -0
  164. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins_reference/download.rst +0 -0
  165. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/plugins_reference/search.rst +0 -0
  166. {eodag-4.0.0a1 → eodag-4.0.0a2}/docs/tutos.rst +0 -0
  167. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/__init__.py +0 -0
  168. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/__init__.py +0 -0
  169. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/_assets.py +0 -0
  170. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/drivers/generic.py +0 -0
  171. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/drivers/sentinel1.py +0 -0
  172. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/api/product/drivers/sentinel2.py +0 -0
  173. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/crunch.py +0 -0
  174. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/__init__.py +0 -0
  175. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/apis/__init__.py +0 -0
  176. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/apis/base.py +0 -0
  177. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/__init__.py +0 -0
  178. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/aws_auth.py +0 -0
  179. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/base.py +0 -0
  180. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/generic.py +0 -0
  181. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/header.py +0 -0
  182. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/keycloak.py +0 -0
  183. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/openid_connect.py +0 -0
  184. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/qsauth.py +0 -0
  185. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/sas_auth.py +0 -0
  186. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/token.py +0 -0
  187. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/authentication/token_exchange.py +0 -0
  188. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/base.py +0 -0
  189. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/__init__.py +0 -0
  190. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/base.py +0 -0
  191. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/filter_date.py +0 -0
  192. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/filter_latest_tpl_name.py +0 -0
  193. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/crunch/filter_property.py +0 -0
  194. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/download/__init__.py +0 -0
  195. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/download/aws.py +0 -0
  196. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/download/base.py +0 -0
  197. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/download/http.py +0 -0
  198. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/manager.py +0 -0
  199. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/creodias_s3.py +0 -0
  200. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/plugins/search/stac_list_assets.py +0 -0
  201. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/py.typed +0 -0
  202. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/locations_conf_template.yml +0 -0
  203. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt +0 -0
  204. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.cpg +0 -0
  205. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.dbf +0 -0
  206. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.prj +0 -0
  207. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.shp +0 -0
  208. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/resources/shp/ne_110m_admin_0_map_units.shx +0 -0
  209. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/types/bbox.py +0 -0
  210. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/types/download_args.py +0 -0
  211. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/types/search_args.py +0 -0
  212. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/cache.py +0 -0
  213. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/dates.py +0 -0
  214. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/env.py +0 -0
  215. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/exceptions.py +0 -0
  216. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/free_text_search.py +0 -0
  217. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/import_system.py +0 -0
  218. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/logging.py +0 -0
  219. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/notebook.py +0 -0
  220. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/requests.py +0 -0
  221. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/s3.py +0 -0
  222. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag/utils/stac_reader.py +0 -0
  223. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag.egg-info/dependency_links.txt +0 -0
  224. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag.egg-info/entry_points.txt +0 -0
  225. {eodag-4.0.0a1 → eodag-4.0.0a2}/eodag.egg-info/top_level.txt +0 -0
  226. {eodag-4.0.0a1 → eodag-4.0.0a2}/get_pypi_latest_version.sh +0 -0
  227. {eodag-4.0.0a1 → eodag-4.0.0a2}/readthedocs.yml +0 -0
  228. {eodag-4.0.0a1 → eodag-4.0.0a2}/requirements-dev.txt +0 -0
  229. {eodag-4.0.0a1 → eodag-4.0.0a2}/requirements-docs.txt +0 -0
  230. {eodag-4.0.0a1 → eodag-4.0.0a2}/requirements-tutorials.txt +0 -0
  231. {eodag-4.0.0a1 → eodag-4.0.0a2}/requirements.txt +0 -0
  232. {eodag-4.0.0a1 → eodag-4.0.0a2}/setup.py +0 -0
  233. {eodag-4.0.0a1 → eodag-4.0.0a2}/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,110 @@ Release history
3
3
  ===============
4
4
 
5
5
 
6
+ v4.0.0a2 (2025-11-19)
7
+ =====================
8
+
9
+ Features
10
+ --------
11
+
12
+ * **core**: Collections representation classes (`#1731`_, `4b57160`_)
13
+
14
+ * **core**: Search pagination using next_page (`#1745`_, `9abe670`_)
15
+
16
+ * **plugins**: Use original copernicus provider to list queryables of wekeo_ecmwf (`#1897`_,
17
+ `0929a7c`_)
18
+
19
+ * **providers**: Add DEDT Marenostrum provider (`#1869`_, `650d21b`_)
20
+
21
+ * **providers**: Add DT_CLIMATE_ADAPTATION collection (`#1908`_, `cd84b88`_)
22
+
23
+ Bug Fixes
24
+ ---------
25
+
26
+ * **core**: Skip None EOProduct.properties (`#1892`_, `41c2fc4`_)
27
+
28
+ * **core**: Sort queryables and ecmwf alias support (`#1894`_, `090c0bd`_)
29
+
30
+ * **plugins**: Add temporal resolution to ecmwf properties (`#1899`_, `219e669`_)
31
+
32
+ * **plugins**: Cop_marine search by id (`#1923`_, `0d42f00`_)
33
+
34
+ * **plugins**: Ecmwf geometries support (`#1924`_, `e996be9`_)
35
+
36
+ Continuous Integration
37
+ ----------------------
38
+
39
+ * Better external collections summary in auto-update PR (`#1907`_, `43d9fb4`_)
40
+
41
+ * Fetch collections PR fix and refactor (`#1917`_, `0b88c50`_)
42
+
43
+ * Pre-commit replaced with faster prek (`#1914`_, `eb5dd5f`_)
44
+
45
+ Refactoring
46
+ -----------
47
+
48
+ * **collections**: CLMS and MetOp updates (`#1906`_, `9ebb872`_)
49
+
50
+ * **core**: Disable search pagination when less items got than expected (`#1920`_, `dfa18e7`_)
51
+
52
+ * **core**: Remove deprecatred legacy driver and get_data doc (`#1891`_, `2500af7`_)
53
+
54
+ * **core**: Whole world as default product geometry and shapely stubs (`#1915`_, `99df712`_)
55
+
56
+ * **providers**: Next_page_token_key added to confs (`#1921`_, `2bb99ba`_)
57
+
58
+ .. _#1730: https://github.com/CS-SI/eodag/pull/1730
59
+ .. _#1731: https://github.com/CS-SI/eodag/pull/1731
60
+ .. _#1745: https://github.com/CS-SI/eodag/pull/1745
61
+ .. _#1781: https://github.com/CS-SI/eodag/pull/1781
62
+ .. _#1789: https://github.com/CS-SI/eodag/pull/1789
63
+ .. _#1839: https://github.com/CS-SI/eodag/pull/1839
64
+ .. _#1840: https://github.com/CS-SI/eodag/pull/1840
65
+ .. _#1868: https://github.com/CS-SI/eodag/pull/1868
66
+ .. _#1869: https://github.com/CS-SI/eodag/pull/1869
67
+ .. _#1877: https://github.com/CS-SI/eodag/pull/1877
68
+ .. _#1880: https://github.com/CS-SI/eodag/pull/1880
69
+ .. _#1886: https://github.com/CS-SI/eodag/pull/1886
70
+ .. _#1888: https://github.com/CS-SI/eodag/pull/1888
71
+ .. _#1891: https://github.com/CS-SI/eodag/pull/1891
72
+ .. _#1892: https://github.com/CS-SI/eodag/pull/1892
73
+ .. _#1894: https://github.com/CS-SI/eodag/pull/1894
74
+ .. _#1897: https://github.com/CS-SI/eodag/pull/1897
75
+ .. _#1899: https://github.com/CS-SI/eodag/pull/1899
76
+ .. _#1906: https://github.com/CS-SI/eodag/pull/1906
77
+ .. _#1907: https://github.com/CS-SI/eodag/pull/1907
78
+ .. _#1908: https://github.com/CS-SI/eodag/pull/1908
79
+ .. _#1911: https://github.com/CS-SI/eodag/pull/1911
80
+ .. _#1914: https://github.com/CS-SI/eodag/pull/1914
81
+ .. _#1915: https://github.com/CS-SI/eodag/pull/1915
82
+ .. _#1917: https://github.com/CS-SI/eodag/pull/1917
83
+ .. _#1919: https://github.com/CS-SI/eodag/pull/1919
84
+ .. _#1920: https://github.com/CS-SI/eodag/pull/1920
85
+ .. _#1921: https://github.com/CS-SI/eodag/pull/1921
86
+ .. _#1923: https://github.com/CS-SI/eodag/pull/1923
87
+ .. _#1924: https://github.com/CS-SI/eodag/pull/1924
88
+ .. _090c0bd: https://github.com/CS-SI/eodag/commit/090c0bdee39041eb9b572112602be9477771a5fe
89
+ .. _0929a7c: https://github.com/CS-SI/eodag/commit/0929a7c7f883a5c5efcb87b903e2752a6efd789b
90
+ .. _0b88c50: https://github.com/CS-SI/eodag/commit/0b88c5041ec4d838cad64dbf864185b72325c791
91
+ .. _0d42f00: https://github.com/CS-SI/eodag/commit/0d42f00e9c237188c0ffc7de8aad3b5a0a37a6ae
92
+ .. _219e669: https://github.com/CS-SI/eodag/commit/219e669fa6e8bbbfa96357b21b964dd53c445233
93
+ .. _2500af7: https://github.com/CS-SI/eodag/commit/2500af7753cbbc1cfe6d315ea3247aebf6299859
94
+ .. _2bb99ba: https://github.com/CS-SI/eodag/commit/2bb99babf59ec2b7cf60a05148f20217ba6bfac9
95
+ .. _41c2fc4: https://github.com/CS-SI/eodag/commit/41c2fc4735df6b4498a5333dc13007ece279afce
96
+ .. _43d9fb4: https://github.com/CS-SI/eodag/commit/43d9fb442a8f33ab94873be251b230d1838d01c8
97
+ .. _4b57160: https://github.com/CS-SI/eodag/commit/4b571601b8a872265adc14c7fdb0be8e8566aa4c
98
+ .. _650d21b: https://github.com/CS-SI/eodag/commit/650d21b84e3c929eee7c1b100e6ee7ecfd0a70b8
99
+ .. _99df712: https://github.com/CS-SI/eodag/commit/99df71295a9a4c9f03bcb05cec814c4f50e43fb2
100
+ .. _9abe670: https://github.com/CS-SI/eodag/commit/9abe670945a70878ed7de5c53c46e5d5776e96c1
101
+ .. _9ebb872: https://github.com/CS-SI/eodag/commit/9ebb87297d464d06430dd5271c20b44e0df9b14c
102
+ .. _cd84b88: https://github.com/CS-SI/eodag/commit/cd84b88ff1bcb765f0b7ecd4d67fea1b06bc403e
103
+ .. _d4f8379: https://github.com/CS-SI/eodag/commit/d4f8379b90c02346506bdb53ded4c06ef128df31
104
+ .. _dfa18e7: https://github.com/CS-SI/eodag/commit/dfa18e7212094204000da269d039f05906dcb294
105
+ .. _e996be9: https://github.com/CS-SI/eodag/commit/e996be9ae1d7d94703452df736aed6ec8115a1f5
106
+ .. _eb5dd5f: https://github.com/CS-SI/eodag/commit/eb5dd5fb85ae17f02ac3abf8d96ff72b84358fea
107
+
108
+
109
+
6
110
  v4.0.0a1 (2025-10-20)
7
111
  =====================
8
112
 
@@ -812,7 +916,7 @@ Core features and fixes
812
916
  ^^^^^^^^^^^^^^^^^^^^^^^
813
917
 
814
918
  * [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>`_
919
+ * [v3.1.0b1] Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_
816
920
  mechanism and ecmwf-like plugins (:pull:`1397`)(:pull:`1427`)(:pull:`1462`)
817
921
  * **[v3.1.0]** Customizable providers configuration file through ``EODAG_PRODUCT_TYPES_CFG_FILE`` environment
818
922
  variable (:pull:`1559`)
@@ -863,7 +967,7 @@ Miscellaneous
863
967
 
864
968
  * **[build]** remove dependencies max versions (:pull:`1519`)
865
969
  * **[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>`_
970
+ <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/8_post_process.html#Data-access-with-eodag-cube>`_
867
971
  (:pull:`1511`), ``usgs`` registration update (:pull:`1551`)
868
972
  * Various minor fixes and improvements (:pull:`1502`)(:pull:`1540`)(:pull:`1541`)(:pull:`1547`)(:pull:`1552`)
869
973
  (:pull:`1566`)(:pull:`1568`)
@@ -903,7 +1007,7 @@ v3.1.0b1 (2025-01-13)
903
1007
  Core features and fixes
904
1008
  -----------------------
905
1009
 
906
- * Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/5_queryables.html>`_ mechanism
1010
+ * Updated `queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_ mechanism
907
1011
  and ecmwf-like plugins (:pull:`1397`)(:pull:`1427`)(:pull:`1462`)
908
1012
  * Order and download polling times update (:pull:`1440`)
909
1013
  * Do not retry downloading skipped products during download_all (:pull:`1465`)
@@ -941,7 +1045,7 @@ Server mode
941
1045
 
942
1046
  Miscellaneous
943
1047
  -------------
944
- * **[docs]** `Queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/5_queryables.html>`_
1048
+ * **[docs]** `Queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_queryables.html>`_
945
1049
  documentation in a dedicated section (:pull:`1447`)
946
1050
  * Various minor fixes and improvements (:pull:`1390`)(:pull:`1403`)(:pull:`1411`)(:pull:`1415`)(:pull:`1419`)
947
1051
  (:pull:`1428`)(:pull:`1430`)(:pull:`1434`)(:pull:`1445`)(:pull:`1448`)(:pull:`1458`)(:pull:`1466`)
@@ -992,7 +1096,7 @@ v3.0.0 (2024-10-10)
992
1096
  |:warning:| Breaking changes since last stable (`v2.12.1 <changelog.rst#v2-12-1-2024-03-05>`_)
993
1097
  ----------------------------------------------------------------------------------------------
994
1098
 
995
- * [v3.0.0b1] `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#search()>`_ method
1099
+ * [v3.0.0b1] `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#search()>`_ method
996
1100
  now returns only a :class:`~eodag.api.search_result.SearchResult` instead of a 2 values tuple (:pull:`1200`). It can
997
1101
  optionally store the estimated total number of products in ``SearchResult.number_matched`` if the method is called
998
1102
  with ``count=True`` (``False`` by default).
@@ -1161,7 +1265,7 @@ v3.0.0b1 (2024-06-24)
1161
1265
  |:warning:| Breaking changes
1162
1266
  ----------------------------
1163
1267
 
1164
- * `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/4_search.html#search()>`_ method now
1268
+ * `search() <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#search()>`_ method now
1165
1269
  returns only a :class:`~eodag.api.search_result.SearchResult` instead of a 2 values tuple (:pull:`1200`). It can
1166
1270
  optionally store the estimated total number of products in ``SearchResult.number_matched`` if the method is called
1167
1271
  with ``count=True`` (``False`` by default).
@@ -1178,12 +1282,12 @@ Core features and fixes
1178
1282
  * Search results sort feature (:pull:`943`)
1179
1283
  * Providers groups (:pull:`1071`)
1180
1284
  * 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
1285
+ * `Search by id <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/3_search.html#id-and-provider>`_ now
1182
1286
  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>`_
1287
+ `crunch <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/6_crunch.html#Filter-by-property>`_
1184
1288
  (: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`),
1289
+ * Free text search available for all fields when `guessing a product type
1290
+ <https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/6_crunch.html#Filter-by-property>`_ (:pull:`1070`),
1187
1291
  mission dates filtering support (:pull:`1222`)
1188
1292
  * Configurable requests ``ssl_verify`` (:pull:`1045`)
1189
1293
  * Download record hash independent from provider (:pull:`1023`)
@@ -1274,7 +1378,7 @@ v2.12.0 (2024-02-19)
1274
1378
 
1275
1379
  * Individual product asset download methods (:pull:`932`)
1276
1380
  * 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>`_
1381
+ * New `list_queryables <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#Queryables>`_
1278
1382
  method, available through python API and server mode, and using product-types constraints if available (:pull:`911`)
1279
1383
  (:pull:`917`)(:pull:`974`)(:pull:`977`)(:pull:`978`)(:pull:`981`)(:pull:`1005`)
1280
1384
  * Removes limited RPC server (:pull:`1011`)
@@ -1339,7 +1443,7 @@ v2.11.0b1 (2023-07-28)
1339
1443
  * Enable single-link download for STAC providers (:pull:`757`)
1340
1444
  * Fixes missing provider in STAC download link (:pull:`774`)
1341
1445
  * 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`)
1446
+ <https://eodag.readthedocs.io/en/latest/notebooks/api_user_guide/3_search.html#Guess-a-collection>`_ (:pull:`756`)
1343
1447
  * Fixed issue with docker image user directory (:pull:`764`)
1344
1448
  * Various minor fixes and improvements (:pull:`720`)(:pull:`717`)(:pull:`722`)(:pull:`723`)(:pull:`724`)(:pull:`727`)
1345
1449
  (:pull:`729`)(:pull:`731`)(:pull:`737`)(:pull:`738`)(:pull:`743`)(:pull:`744`)(:pull:`745`)(:pull:`749`)(:pull:`751`)
@@ -1414,7 +1518,7 @@ v2.8.0 (2023-01-17)
1414
1518
  * Removes unavailable ```sobloo``` provider (:pull:`607`)
1415
1519
  * Landsat collection-1 data no more available on `usgs` (:pull:`601`)
1416
1520
  * `Product types catalog\
1417
- <https://eodag.readthedocs.io/en/latest/getting_started_guide/product_types.html#product-types-information-csv>`_
1521
+ <https://eodag.readthedocs.io/en/latest/getting_started_guide/collections.html#product-types-information-csv>`_
1418
1522
  more visible in documentation (:pull:`603`)
1419
1523
  * Metadata mapping `to_geo_interface()` renamed to `to_geojson()`
1420
1524
  (`d7565a4 <https://github.com/CS-SI/eodag/pull/604/commits/d7565a4984d356aca20310a87c02692cb879427e>`_)
@@ -1457,7 +1561,7 @@ v2.6.0 (2022-10-07)
1457
1561
  ===================
1458
1562
 
1459
1563
  * New `product types automatic discovery\
1460
- <https://eodag.rtfd.io/en/latest/notebooks/api_user_guide/2_providers_products_available.html#Product-types-discovery>`_
1564
+ <https://eodag.rtfd.io/en/latest/notebooks/api_user_guide/1_providers_products_available.html#Collections-discovery>`_
1461
1565
  (:pull:`480`)(:pull:`467`)(:pull:`470`)(:pull:`471`)(:pull:`472`)(:pull:`473`)(:pull:`481`)(:pull:`486`)(:pull:`493`)
1462
1566
  (:pull:`491`)(:pull:`500`)
1463
1567
  * 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.0a2
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