eodag 3.3.2__tar.gz → 3.4.0__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.
- {eodag-3.3.2 → eodag-3.4.0}/CHANGES.rst +30 -0
- {eodag-3.3.2/eodag.egg-info → eodag-3.4.0}/PKG-INFO +3 -3
- {eodag-3.3.2 → eodag-3.4.0}/README.rst +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/Chart.yaml +2 -2
- {eodag-3.3.2 → eodag-3.4.0}/docs/stac_rest.rst +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/manager.py +8 -15
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/cop_marine.py +12 -2
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/qssearch.py +25 -6
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/static_stac_search.py +31 -1
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/ext_product_types.json +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/providers.yml +3 -0
- {eodag-3.3.2 → eodag-3.4.0/eodag.egg-info}/PKG-INFO +3 -3
- {eodag-3.3.2 → eodag-3.4.0}/eodag.egg-info/requires.txt +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/pyproject.toml +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/setup.cfg +1 -1
- {eodag-3.3.2 → eodag-3.4.0}/.dockerignore +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.editorconfig +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.gitattributes +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/pull_request_template.md +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/changelog.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/deploy.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/fetch.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/github-pages.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/lint-pr-title.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.github/workflows/test.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.gitignore +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/.pre-commit-config.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/BREAKING_CHANGES.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/CODE_OF_CONDUCT.md +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/CONTRIBUTING.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/LICENSE +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/MANIFEST.in +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/NOTICE +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/Chart.lock +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/README.md +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/NOTES.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/_helpers.tpl +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/configmap.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/deployment.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/extra-list.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/hpa.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/ingress.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/pv.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/pvc.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/secret.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/service.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/templates/serviceaccount.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/charts/eodag-server/values.yaml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docker/run-stac-server.sh +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docker/stac-browser.dockerfile +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docker/stac-server.dockerfile +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docker-compose.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/Makefile +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/custom.css +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/download_methods.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_advanced_calls_graph.svg +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_bycs.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_fetch_product_types.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_logo_160.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_logo_160r.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_main_calls_graph.svg +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_overview.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_stac_client.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/eodag_stac_server.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/favicon-32x32.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/params_mapping_extra.csv +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/params_mapping_offline_infos.json +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/params_mapping_opensearch.csv +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/product_types_information.csv +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/progress_1.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/progress_1_none.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/progress_2.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/progress_2_none.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/stac_browser_example.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/_static/stac_browser_example_600.png +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/add_product_type.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/add_provider.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/assets.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/call_graphs.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/core.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/eoproduct.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/exceptions.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/index.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/searchresult.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/types.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_reference/utils.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/api_user_guide.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/breaking_changes.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/changelog.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/cli_user_guide.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/conf.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/contribute.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/drivers.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/configure.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/index.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/install.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/overview.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/product_storage_status.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/product_types.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/providers.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/register.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/getting_started_guide/side_projects.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/index.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/make.bat +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/1_overview.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/2_providers_products_available.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/3_configuration.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/4_search.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/5_queryables.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/6_serialize_deserialize.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/7_crunch.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/8_download.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/9_post_process.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/data/crunch_search_results.geojson +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/api_user_guide/data/download_search_results.geojson +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/intro_notebooks.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.cpg +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.dbf +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.prj +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qix +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.qpj +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shp +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/Gulf_of_Trieste_seamask_UTM33.shx +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/auxdata/sentinel2_tiling_grid_centroids.zip +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_burnt_areas_snappy.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_cds.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_cop_dem.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_ecmwf.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_meteoblue.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_search_location_tile.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_ship_detection.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_stac_client.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/notebooks/tutos/tuto_wekeo.ipynb +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/params_mapping.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins_reference/api.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins_reference/auth.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins_reference/crunch.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins_reference/download.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/plugins_reference/search.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/stac.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/docs/tutos.rst +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/core.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/_assets.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/_product.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/drivers/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/drivers/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/drivers/generic.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/drivers/sentinel1.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/drivers/sentinel2.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/product/metadata_mapping.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/api/search_result.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/cli.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/config.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/crunch.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/apis/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/apis/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/apis/ecmwf.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/apis/usgs.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/aws_auth.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/generic.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/header.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/keycloak.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/oauth.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/openid_connect.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/qsauth.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/sas_auth.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/token.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/authentication/token_exchange.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/filter_date.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/filter_latest_intersect.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/filter_latest_tpl_name.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/filter_overlap.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/crunch/filter_property.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/aws.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/creodias_s3.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/http.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/download/s3rest.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/base.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/build_search_result.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/creodias_s3.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/csw.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/data_request_search.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/plugins/search/stac_list_assets.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/py.typed +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/locations_conf_template.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/product_types.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.cpg +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.dbf +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.prj +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.shp +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/shp/ne_110m_admin_0_map_units.shx +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/stac.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/stac_api.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/stac_provider.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/resources/user_conf_template.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/cache.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/config.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/constants.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/core.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/errors.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/server.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/server.wsgi +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/stac.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/templates/README +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/types/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/types/collections_search.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/types/eodag_search.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/types/queryables.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/types/stac_search.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/utils/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/utils/cql_evaluate.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/rest/utils/rfc3339.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/bbox.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/download_args.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/queryables.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/search_args.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/types/whoosh.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/__init__.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/exceptions.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/import_system.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/logging.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/notebook.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/repr.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/requests.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/rest.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/s3.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag/utils/stac_reader.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag.egg-info/SOURCES.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag.egg-info/dependency_links.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag.egg-info/entry_points.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/eodag.egg-info/top_level.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/get_pypi_latest_version.sh +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/pytest.ini +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/readthedocs.yml +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/requirements-dev.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/requirements-docs.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/requirements-tutorials.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/requirements.txt +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/setup.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/tox.ini +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/utils/params_mapping_to_csv.py +0 -0
- {eodag-3.3.2 → eodag-3.4.0}/utils/product_types_information_to_csv.py +0 -0
|
@@ -3,6 +3,36 @@ Release history
|
|
|
3
3
|
===============
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
v3.4.0 (2025-04-30)
|
|
7
|
+
===================
|
|
8
|
+
|
|
9
|
+
Bug Fixes
|
|
10
|
+
---------
|
|
11
|
+
|
|
12
|
+
* **plugins**: Stac providers datetime queryables handling (`#1625`_, `9417fd9`_)
|
|
13
|
+
|
|
14
|
+
* **providers**: cop_ewds metadata mapping (`#1629`_, `30b5554`_)
|
|
15
|
+
|
|
16
|
+
Features
|
|
17
|
+
--------
|
|
18
|
+
|
|
19
|
+
* **plugins**: Add queryables to cop_marine (`#1638`_, `bcc793e`_)
|
|
20
|
+
|
|
21
|
+
Refactoring
|
|
22
|
+
-----------
|
|
23
|
+
|
|
24
|
+
* **core**: Use importlib.metadata instead of the deprecated pkg_resources (`#1631`_, `3675690`_, thanks `@avalentino <https://github.com/avalentino>`_)
|
|
25
|
+
|
|
26
|
+
.. _#1625: https://github.com/CS-SI/eodag/pull/1625
|
|
27
|
+
.. _#1629: https://github.com/CS-SI/eodag/pull/1629
|
|
28
|
+
.. _#1631: https://github.com/CS-SI/eodag/pull/1631
|
|
29
|
+
.. _#1638: https://github.com/CS-SI/eodag/pull/1638
|
|
30
|
+
.. _30b5554: https://github.com/CS-SI/eodag/commit/30b5554d96c58a0aca53849bd38db80902823bdf
|
|
31
|
+
.. _3675690: https://github.com/CS-SI/eodag/commit/3675690e04813de6b9402f0028277c091d0e51b0
|
|
32
|
+
.. _9417fd9: https://github.com/CS-SI/eodag/commit/9417fd90049ccfb8ee30f6eef7e497da2c1bea60
|
|
33
|
+
.. _bcc793e: https://github.com/CS-SI/eodag/commit/bcc793e83ae6c7fec3e282046e4516510e9015fb
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
v3.3.2 (2025-04-24)
|
|
7
37
|
===================
|
|
8
38
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eodag
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0
|
|
4
4
|
Summary: Earth Observation Data Access Gateway
|
|
5
5
|
Home-page: https://github.com/CS-SI/eodag
|
|
6
6
|
Author: CS GROUP - France
|
|
@@ -36,6 +36,7 @@ Requires-Dist: boto3
|
|
|
36
36
|
Requires-Dist: botocore
|
|
37
37
|
Requires-Dist: click
|
|
38
38
|
Requires-Dist: geojson
|
|
39
|
+
Requires-Dist: importlib_metadata>=5.0
|
|
39
40
|
Requires-Dist: jsonpath-ng
|
|
40
41
|
Requires-Dist: lxml
|
|
41
42
|
Requires-Dist: orjson
|
|
@@ -48,7 +49,6 @@ Requires-Dist: pystac>=1.0.0b1
|
|
|
48
49
|
Requires-Dist: python-dateutil
|
|
49
50
|
Requires-Dist: PyYAML
|
|
50
51
|
Requires-Dist: requests
|
|
51
|
-
Requires-Dist: setuptools
|
|
52
52
|
Requires-Dist: shapely>=2.0.6
|
|
53
53
|
Requires-Dist: stream-zip
|
|
54
54
|
Requires-Dist: tqdm
|
|
@@ -317,7 +317,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
|
|
|
317
317
|
|
|
318
318
|
.. code-block:: bash
|
|
319
319
|
|
|
320
|
-
docker run -p 5000:5000 --rm csspace/eodag-server:3.
|
|
320
|
+
docker run -p 5000:5000 --rm csspace/eodag-server:3.4.0
|
|
321
321
|
|
|
322
322
|
You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
|
|
323
323
|
Simply run:
|
|
@@ -187,7 +187,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
|
|
|
187
187
|
|
|
188
188
|
.. code-block:: bash
|
|
189
189
|
|
|
190
|
-
docker run -p 5000:5000 --rm csspace/eodag-server:3.
|
|
190
|
+
docker run -p 5000:5000 --rm csspace/eodag-server:3.4.0
|
|
191
191
|
|
|
192
192
|
You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
|
|
193
193
|
Simply run:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
apiVersion: v2
|
|
2
|
-
appVersion: 3.
|
|
2
|
+
appVersion: 3.4.0
|
|
3
3
|
dependencies:
|
|
4
4
|
- name: common
|
|
5
5
|
repository: oci://registry-1.docker.io/bitnamicharts
|
|
@@ -15,4 +15,4 @@ name: eodag-server
|
|
|
15
15
|
sources:
|
|
16
16
|
- https://github.com/CS-SI/eodag
|
|
17
17
|
type: application
|
|
18
|
-
version: 3.
|
|
18
|
+
version: 3.4.0
|
|
@@ -115,7 +115,7 @@ available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.
|
|
|
115
115
|
|
|
116
116
|
.. code-block:: bash
|
|
117
117
|
|
|
118
|
-
$ docker run -p 5000:5000 --rm csspace/eodag-server:3.
|
|
118
|
+
$ docker run -p 5000:5000 --rm csspace/eodag-server:3.4.0
|
|
119
119
|
|
|
120
120
|
Example
|
|
121
121
|
-------
|
|
@@ -20,10 +20,9 @@ from __future__ import annotations
|
|
|
20
20
|
import logging
|
|
21
21
|
import re
|
|
22
22
|
from operator import attrgetter
|
|
23
|
-
from pathlib import Path
|
|
24
23
|
from typing import TYPE_CHECKING, Any, Iterator, Optional, Union, cast
|
|
25
24
|
|
|
26
|
-
import
|
|
25
|
+
import importlib_metadata
|
|
27
26
|
|
|
28
27
|
from eodag.config import (
|
|
29
28
|
AUTH_TOPIC_KEYS,
|
|
@@ -91,12 +90,12 @@ class PluginManager:
|
|
|
91
90
|
# have it discovered as long as they declare an entry point of the type
|
|
92
91
|
# 'eodag.plugins.search' for example in its setup script. See the setup
|
|
93
92
|
# script of eodag for an example of how to do this.
|
|
94
|
-
for entry_point in
|
|
95
|
-
"eodag.plugins.{}".format(topic)
|
|
93
|
+
for entry_point in importlib_metadata.entry_points(
|
|
94
|
+
group="eodag.plugins.{}".format(topic)
|
|
96
95
|
):
|
|
97
96
|
try:
|
|
98
97
|
entry_point.load()
|
|
99
|
-
except
|
|
98
|
+
except ModuleNotFoundError:
|
|
100
99
|
logger.debug(
|
|
101
100
|
"%s plugin skipped, eodag[%s] or eodag[all] needed",
|
|
102
101
|
entry_point.name,
|
|
@@ -112,18 +111,12 @@ class PluginManager:
|
|
|
112
111
|
"Check that the plugin module (%s) is importable",
|
|
113
112
|
entry_point.module_name,
|
|
114
113
|
)
|
|
115
|
-
if
|
|
116
|
-
entry_point.dist
|
|
117
|
-
and entry_point.dist.key != "eodag"
|
|
118
|
-
and entry_point.dist.location is not None
|
|
119
|
-
):
|
|
114
|
+
if entry_point.dist and entry_point.dist.name != "eodag":
|
|
120
115
|
# use plugin providers if any
|
|
116
|
+
name = entry_point.dist.name
|
|
117
|
+
dist = entry_point.dist
|
|
121
118
|
plugin_providers_config_path = [
|
|
122
|
-
str(x)
|
|
123
|
-
for x in Path(
|
|
124
|
-
entry_point.dist.location,
|
|
125
|
-
pkg_resources.to_filename(entry_point.dist.key),
|
|
126
|
-
).rglob("providers.yml")
|
|
119
|
+
str(x) for x in dist.locate_file(name).rglob("providers.yml")
|
|
127
120
|
]
|
|
128
121
|
if plugin_providers_config_path:
|
|
129
122
|
plugin_providers_config = load_config(
|
|
@@ -37,7 +37,7 @@ from eodag.api.product import AssetsDict
|
|
|
37
37
|
from eodag.config import PluginConfig
|
|
38
38
|
from eodag.plugins.search import PreparedSearch
|
|
39
39
|
from eodag.plugins.search.static_stac_search import StaticStacSearch
|
|
40
|
-
from eodag.utils import get_bucket_name_and_prefix
|
|
40
|
+
from eodag.utils import get_bucket_name_and_prefix, get_geometry_from_various
|
|
41
41
|
from eodag.utils.exceptions import RequestError, UnsupportedProductType, ValidationError
|
|
42
42
|
|
|
43
43
|
if TYPE_CHECKING:
|
|
@@ -215,10 +215,14 @@ class CopMarineSearch(StaticStacSearch):
|
|
|
215
215
|
|
|
216
216
|
item_id = os.path.splitext(item_key.split("/")[-1])[0]
|
|
217
217
|
download_url = s3_url + "/" + item_key
|
|
218
|
+
geometry = (
|
|
219
|
+
get_geometry_from_various(**dataset_item)
|
|
220
|
+
or self.config.metadata_mapping["defaultGeometry"]
|
|
221
|
+
)
|
|
218
222
|
properties = {
|
|
219
223
|
"id": item_id,
|
|
220
224
|
"title": item_id,
|
|
221
|
-
"geometry":
|
|
225
|
+
"geometry": geometry,
|
|
222
226
|
"downloadLink": download_url,
|
|
223
227
|
"dataset": dataset_item["id"],
|
|
224
228
|
}
|
|
@@ -308,10 +312,16 @@ class CopMarineSearch(StaticStacSearch):
|
|
|
308
312
|
"parameter product type is required for search with cop_marine provider"
|
|
309
313
|
)
|
|
310
314
|
collection_dict, datasets_items_list = self._get_product_type_info(product_type)
|
|
315
|
+
geometry = kwargs.pop("geometry", None)
|
|
311
316
|
products: list[EOProduct] = []
|
|
312
317
|
start_index = items_per_page * (page - 1) + 1
|
|
313
318
|
num_total = 0
|
|
314
319
|
for i, dataset_item in enumerate(datasets_items_list):
|
|
320
|
+
# Filter by geometry
|
|
321
|
+
if "id" not in kwargs and geometry:
|
|
322
|
+
dataset_geom = get_geometry_from_various(**dataset_item)
|
|
323
|
+
if dataset_geom and not dataset_geom.intersects(geometry):
|
|
324
|
+
continue
|
|
315
325
|
try:
|
|
316
326
|
logger.debug("searching data for dataset %s", dataset_item["id"])
|
|
317
327
|
|
|
@@ -70,6 +70,7 @@ from eodag.api.search_result import RawSearchResult
|
|
|
70
70
|
from eodag.plugins.search import PreparedSearch
|
|
71
71
|
from eodag.plugins.search.base import Search
|
|
72
72
|
from eodag.types import json_field_definition_to_python, model_fields_to_annotated
|
|
73
|
+
from eodag.types.queryables import Queryables
|
|
73
74
|
from eodag.types.search_args import SortByList
|
|
74
75
|
from eodag.utils import (
|
|
75
76
|
DEFAULT_SEARCH_TIMEOUT,
|
|
@@ -80,6 +81,7 @@ from eodag.utils import (
|
|
|
80
81
|
REQ_RETRY_TOTAL,
|
|
81
82
|
USER_AGENT,
|
|
82
83
|
_deprecated,
|
|
84
|
+
copy_deepcopy,
|
|
83
85
|
deepcopy,
|
|
84
86
|
dict_items_recursive_apply,
|
|
85
87
|
format_dict_items,
|
|
@@ -1896,30 +1898,47 @@ class StacSearch(PostJsonSearch):
|
|
|
1896
1898
|
"No queryable found for %s on %s", product_type, self.provider
|
|
1897
1899
|
)
|
|
1898
1900
|
return None
|
|
1899
|
-
|
|
1900
1901
|
# convert json results to pydantic model fields
|
|
1901
1902
|
field_definitions: dict[str, Any] = dict()
|
|
1903
|
+
STAC_TO_EODAG_QUERYABLES = {
|
|
1904
|
+
"start_datetime": "start",
|
|
1905
|
+
"end_datetime": "end",
|
|
1906
|
+
"datetime": None,
|
|
1907
|
+
"bbox": "geom",
|
|
1908
|
+
}
|
|
1902
1909
|
for json_param, json_mtd in json_queryables.items():
|
|
1903
|
-
param = (
|
|
1910
|
+
param = STAC_TO_EODAG_QUERYABLES.get(
|
|
1911
|
+
json_param,
|
|
1904
1912
|
get_queryable_from_provider(
|
|
1905
1913
|
json_param, self.get_metadata_mapping(product_type)
|
|
1906
1914
|
)
|
|
1907
|
-
or json_param
|
|
1915
|
+
or json_param,
|
|
1908
1916
|
)
|
|
1917
|
+
if param is None:
|
|
1918
|
+
continue
|
|
1909
1919
|
|
|
1910
|
-
default = kwargs.get(param,
|
|
1920
|
+
default = kwargs.get(param, json_mtd.get("default"))
|
|
1911
1921
|
annotated_def = json_field_definition_to_python(
|
|
1912
1922
|
json_mtd, default_value=default
|
|
1913
1923
|
)
|
|
1914
1924
|
field_definitions[param] = get_args(annotated_def)
|
|
1915
1925
|
|
|
1916
1926
|
python_queryables = create_model("m", **field_definitions).model_fields
|
|
1917
|
-
# replace geometry by geom
|
|
1918
1927
|
geom_queryable = python_queryables.pop("geometry", None)
|
|
1919
1928
|
if geom_queryable:
|
|
1920
1929
|
python_queryables["geom"] = geom_queryable
|
|
1921
1930
|
|
|
1922
|
-
|
|
1931
|
+
queryables_dict = model_fields_to_annotated(python_queryables)
|
|
1932
|
+
|
|
1933
|
+
# append "datetime" as "start" & "end" if needed
|
|
1934
|
+
if "datetime" in json_queryables:
|
|
1935
|
+
eodag_queryables = copy_deepcopy(
|
|
1936
|
+
model_fields_to_annotated(Queryables.model_fields)
|
|
1937
|
+
)
|
|
1938
|
+
queryables_dict.setdefault("start", eodag_queryables["start"])
|
|
1939
|
+
queryables_dict.setdefault("end", eodag_queryables["end"])
|
|
1940
|
+
|
|
1941
|
+
return queryables_dict
|
|
1923
1942
|
|
|
1924
1943
|
|
|
1925
1944
|
class PostJsonSearchWithStacQueryables(StacSearch, PostJsonSearch):
|
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
20
|
import logging
|
|
21
|
-
from typing import TYPE_CHECKING, Any, Optional
|
|
21
|
+
from typing import TYPE_CHECKING, Annotated, Any, Optional
|
|
22
22
|
from unittest import mock
|
|
23
23
|
|
|
24
24
|
import geojson
|
|
25
|
+
from pydantic.fields import FieldInfo
|
|
25
26
|
|
|
26
27
|
from eodag.api.product.metadata_mapping import get_metadata_path_value
|
|
27
28
|
from eodag.api.search_result import SearchResult
|
|
@@ -30,6 +31,7 @@ from eodag.plugins.crunch.filter_overlap import FilterOverlap
|
|
|
30
31
|
from eodag.plugins.crunch.filter_property import FilterProperty
|
|
31
32
|
from eodag.plugins.search import PreparedSearch
|
|
32
33
|
from eodag.plugins.search.qssearch import StacSearch
|
|
34
|
+
from eodag.types.queryables import Queryables
|
|
33
35
|
from eodag.utils import HTTP_REQ_TIMEOUT, MockResponse
|
|
34
36
|
from eodag.utils.stac_reader import fetch_stac_collections, fetch_stac_items
|
|
35
37
|
|
|
@@ -123,6 +125,34 @@ class StaticStacSearch(StacSearch):
|
|
|
123
125
|
|
|
124
126
|
return conf_update_dict
|
|
125
127
|
|
|
128
|
+
def discover_queryables(
|
|
129
|
+
self, **kwargs: Any
|
|
130
|
+
) -> dict[str, Annotated[Any, FieldInfo]]:
|
|
131
|
+
"""Set static available queryables for :class:`~eodag.plugins.search.static_stac_search.StaticStacSearch`
|
|
132
|
+
search plugin
|
|
133
|
+
|
|
134
|
+
:param kwargs: additional filters for queryables (`productType` and other search
|
|
135
|
+
arguments)
|
|
136
|
+
:returns: queryable parameters dict
|
|
137
|
+
"""
|
|
138
|
+
return {
|
|
139
|
+
"productType": Queryables.get_with_default(
|
|
140
|
+
"productType", kwargs.get("productType")
|
|
141
|
+
),
|
|
142
|
+
"id": Queryables.get_with_default("id", kwargs.get("id")),
|
|
143
|
+
"start": Queryables.get_with_default(
|
|
144
|
+
"start", kwargs.get("start") or kwargs.get("startTimeFromAscendingNode")
|
|
145
|
+
),
|
|
146
|
+
"end": Queryables.get_with_default(
|
|
147
|
+
"end",
|
|
148
|
+
kwargs.get("end") or kwargs.get("completionTimeFromAscendingNode"),
|
|
149
|
+
),
|
|
150
|
+
"geom": Queryables.get_with_default(
|
|
151
|
+
"geom",
|
|
152
|
+
kwargs.get("geom") or kwargs.get("geometry") or kwargs.get("area"),
|
|
153
|
+
),
|
|
154
|
+
}
|
|
155
|
+
|
|
126
156
|
def query(
|
|
127
157
|
self,
|
|
128
158
|
prep: PreparedSearch = PreparedSearch(),
|