eodag 3.10.1__py3-none-any.whl → 4.0.0a2__py3-none-any.whl

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 (75) hide show
  1. eodag/__init__.py +6 -1
  2. eodag/api/collection.py +353 -0
  3. eodag/api/core.py +606 -641
  4. eodag/api/product/__init__.py +3 -3
  5. eodag/api/product/_product.py +74 -56
  6. eodag/api/product/drivers/__init__.py +4 -46
  7. eodag/api/product/drivers/base.py +0 -28
  8. eodag/api/product/metadata_mapping.py +178 -216
  9. eodag/api/search_result.py +156 -15
  10. eodag/cli.py +83 -403
  11. eodag/config.py +81 -51
  12. eodag/plugins/apis/base.py +2 -2
  13. eodag/plugins/apis/ecmwf.py +36 -25
  14. eodag/plugins/apis/usgs.py +55 -40
  15. eodag/plugins/authentication/base.py +1 -3
  16. eodag/plugins/crunch/filter_date.py +3 -3
  17. eodag/plugins/crunch/filter_latest_intersect.py +2 -2
  18. eodag/plugins/crunch/filter_latest_tpl_name.py +1 -1
  19. eodag/plugins/download/aws.py +46 -42
  20. eodag/plugins/download/base.py +13 -14
  21. eodag/plugins/download/http.py +65 -65
  22. eodag/plugins/manager.py +28 -29
  23. eodag/plugins/search/__init__.py +6 -4
  24. eodag/plugins/search/base.py +131 -80
  25. eodag/plugins/search/build_search_result.py +245 -173
  26. eodag/plugins/search/cop_marine.py +87 -56
  27. eodag/plugins/search/csw.py +47 -37
  28. eodag/plugins/search/qssearch.py +653 -429
  29. eodag/plugins/search/stac_list_assets.py +1 -1
  30. eodag/plugins/search/static_stac_search.py +43 -44
  31. eodag/resources/{product_types.yml → collections.yml} +2594 -2453
  32. eodag/resources/ext_collections.json +1 -1
  33. eodag/resources/ext_product_types.json +1 -1
  34. eodag/resources/providers.yml +2706 -2733
  35. eodag/resources/stac_provider.yml +50 -92
  36. eodag/resources/user_conf_template.yml +9 -0
  37. eodag/types/__init__.py +2 -0
  38. eodag/types/queryables.py +70 -91
  39. eodag/types/search_args.py +1 -1
  40. eodag/utils/__init__.py +97 -21
  41. eodag/utils/dates.py +0 -12
  42. eodag/utils/exceptions.py +6 -6
  43. eodag/utils/free_text_search.py +3 -3
  44. eodag/utils/repr.py +2 -0
  45. {eodag-3.10.1.dist-info → eodag-4.0.0a2.dist-info}/METADATA +13 -99
  46. eodag-4.0.0a2.dist-info/RECORD +93 -0
  47. {eodag-3.10.1.dist-info → eodag-4.0.0a2.dist-info}/entry_points.txt +0 -4
  48. eodag/plugins/authentication/oauth.py +0 -60
  49. eodag/plugins/download/creodias_s3.py +0 -71
  50. eodag/plugins/download/s3rest.py +0 -351
  51. eodag/plugins/search/data_request_search.py +0 -565
  52. eodag/resources/stac.yml +0 -294
  53. eodag/resources/stac_api.yml +0 -2105
  54. eodag/rest/__init__.py +0 -24
  55. eodag/rest/cache.py +0 -70
  56. eodag/rest/config.py +0 -67
  57. eodag/rest/constants.py +0 -26
  58. eodag/rest/core.py +0 -764
  59. eodag/rest/errors.py +0 -210
  60. eodag/rest/server.py +0 -604
  61. eodag/rest/server.wsgi +0 -6
  62. eodag/rest/stac.py +0 -1032
  63. eodag/rest/templates/README +0 -1
  64. eodag/rest/types/__init__.py +0 -18
  65. eodag/rest/types/collections_search.py +0 -44
  66. eodag/rest/types/eodag_search.py +0 -386
  67. eodag/rest/types/queryables.py +0 -174
  68. eodag/rest/types/stac_search.py +0 -272
  69. eodag/rest/utils/__init__.py +0 -207
  70. eodag/rest/utils/cql_evaluate.py +0 -119
  71. eodag/rest/utils/rfc3339.py +0 -64
  72. eodag-3.10.1.dist-info/RECORD +0 -116
  73. {eodag-3.10.1.dist-info → eodag-4.0.0a2.dist-info}/WHEEL +0 -0
  74. {eodag-3.10.1.dist-info → eodag-4.0.0a2.dist-info}/licenses/LICENSE +0 -0
  75. {eodag-3.10.1.dist-info → eodag-4.0.0a2.dist-info}/top_level.txt +0 -0
eodag/utils/exceptions.py CHANGED
@@ -49,11 +49,11 @@ class UnsupportedProvider(EodagError):
49
49
  """An error indicating that eodag does not support a provider"""
50
50
 
51
51
 
52
- class UnsupportedProductType(EodagError):
53
- """An error indicating that eodag does not support a product type"""
52
+ class UnsupportedCollection(EodagError):
53
+ """An error indicating that eodag does not support a collection"""
54
54
 
55
- def __init__(self, product_type: str) -> None:
56
- self.product_type = product_type
55
+ def __init__(self, collection: str) -> None:
56
+ self.collection = collection
57
57
 
58
58
 
59
59
  class UnsupportedDatasetAddressScheme(EodagError):
@@ -70,8 +70,8 @@ class NotAvailableError(EodagError):
70
70
  """An error indicating that the product is not available for download"""
71
71
 
72
72
 
73
- class NoMatchingProductType(EodagError):
74
- """An error indicating that eodag was unable to derive a product type from a set
73
+ class NoMatchingCollection(EodagError):
74
+ """An error indicating that eodag was unable to derive a collection from a set
75
75
  of search parameters"""
76
76
 
77
77
 
@@ -197,17 +197,17 @@ def compile_free_text_query(query: str) -> Callable[[dict[str, str]], bool]:
197
197
  >>> evaluator = compile_free_text_query('("FooAndBar" OR BAR) AND "FOOBAR collection"')
198
198
  >>> evaluator({
199
199
  ... "title": "titleFOOBAR - Lorem FOOBAR collection",
200
- ... "abstract": "abstract FOOBAR - This is FOOBAR. FooAndBar"
200
+ ... "description": "abstract FOOBAR - This is FOOBAR. FooAndBar"
201
201
  ... })
202
202
  True
203
203
  >>> evaluator({
204
204
  ... "title": "collection FOOBAR",
205
- ... "abstract": "abstract FOOBAR - This is FOOBAR. FooAndBar"
205
+ ... "description": "abstract FOOBAR - This is FOOBAR. FooAndBar"
206
206
  ... })
207
207
  False
208
208
  >>> evaluator({
209
209
  ... "title": "titleFOOBAR - Lorem FOOBAR ",
210
- ... "abstract": "abstract FOOBAR - This is FOOBAR."
210
+ ... "description": "abstract FOOBAR - This is FOOBAR."
211
211
  ... })
212
212
  False
213
213
  >>> evaluator({"title": "Only Bar here"})
eodag/utils/repr.py CHANGED
@@ -90,6 +90,7 @@ def dict_to_html_table(
90
90
  </tr>
91
91
  """
92
92
  for k, v in input_dict.items()
93
+ if v is not None
93
94
  ]
94
95
  )
95
96
  + f"</table>{closing_bracket}"
@@ -103,6 +104,7 @@ def dict_to_html_table(
103
104
  '{k}': {html_table(v, depth=depth)}
104
105
  </span>"""
105
106
  for k, v in input_dict.items()
107
+ if v is not None
106
108
  ]
107
109
  )
108
110
  + f"{closing_bracket}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eodag
3
- Version: 3.10.1
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
@@ -23,7 +23,6 @@ Classifier: Programming Language :: Python :: 3.10
23
23
  Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Programming Language :: Python :: 3.12
25
25
  Classifier: Programming Language :: Python :: 3.13
26
- Classifier: Programming Language :: Python :: 3.14
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
27
  Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
29
28
  Classifier: Topic :: Scientific/Engineering :: GIS
@@ -41,7 +40,7 @@ Requires-Dist: importlib_metadata>=5.0
41
40
  Requires-Dist: jsonpath-ng
42
41
  Requires-Dist: lxml
43
42
  Requires-Dist: orjson
44
- Requires-Dist: pydantic!=2.10.0,>=2.1.0
43
+ Requires-Dist: pydantic!=2.10.0,<2.12.0,>=2.1.0
45
44
  Requires-Dist: pydantic_core
46
45
  Requires-Dist: PyJWT[crypto]>=2.5.0
47
46
  Requires-Dist: pyproj>=2.1.0
@@ -51,6 +50,7 @@ Requires-Dist: python-dateutil
51
50
  Requires-Dist: PyYAML
52
51
  Requires-Dist: requests
53
52
  Requires-Dist: shapely>=2.0.6
53
+ Requires-Dist: stac-pydantic
54
54
  Requires-Dist: tqdm
55
55
  Requires-Dist: typing_extensions>=4.8.0
56
56
  Requires-Dist: urllib3
@@ -103,7 +103,7 @@ Requires-Dist: moto>=5; extra == "dev"
103
103
  Requires-Dist: twine; extra == "dev"
104
104
  Requires-Dist: wheel; extra == "dev"
105
105
  Requires-Dist: flake8; extra == "dev"
106
- Requires-Dist: pre-commit; extra == "dev"
106
+ Requires-Dist: prek; extra == "dev"
107
107
  Requires-Dist: responses!=0.24.0; extra == "dev"
108
108
  Requires-Dist: fastapi[all]; extra == "dev"
109
109
  Requires-Dist: stdlib-list; extra == "dev"
@@ -121,6 +121,7 @@ Requires-Dist: types-tqdm; extra == "stubs"
121
121
  Requires-Dist: types-urllib3; extra == "stubs"
122
122
  Provides-Extra: docs
123
123
  Requires-Dist: eodag[all,stubs]; extra == "docs"
124
+ Requires-Dist: autodoc_pydantic; extra == "docs"
124
125
  Requires-Dist: nbsphinx; extra == "docs"
125
126
  Requires-Dist: sphinx; extra == "docs"
126
127
  Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
@@ -176,9 +177,9 @@ EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugi
176
177
  aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the
177
178
  data provider. The EODAG SDK is structured around three functions:
178
179
 
179
- * List product types: list of supported products and their description
180
+ * List collections: list of supported products and their description
180
181
 
181
- * Search products (by product type or uid): searches products according to the search criteria provided
182
+ * Search products (by collection or uid): searches products according to the search criteria provided
182
183
 
183
184
  * Download products: download product “as is"
184
185
 
@@ -191,7 +192,7 @@ integrate new data providers. Three types of plugins compose the tool:
191
192
  * Download plugins, allowing to download and retrieve data locally (via HTTP, S3, ...), always with the same directory
192
193
  organization
193
194
 
194
- * Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth, OAUTH, ...).
195
+ * Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth, OIDC, ...).
195
196
 
196
197
  Read `the documentation <https://eodag.readthedocs.io/en/latest/>`_ for more insights.
197
198
 
@@ -242,7 +243,7 @@ Example usage for interacting with the api in your Python code:
242
243
  dag = EODataAccessGateway()
243
244
 
244
245
  search_results = dag.search(
245
- productType='S2_MSI_L1C',
246
+ collection='S2_MSI_L1C',
246
247
  geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # accepts WKT polygons, shapely.geometry, ...
247
248
  start='2021-01-01',
248
249
  end='2021-01-15'
@@ -263,84 +264,6 @@ check the `Python API User Guide <https://eodag.readthedocs.io/en/latest/api_use
263
264
  `search() <https://eodag.readthedocs.io/en/latest/api_reference/core.html#eodag.api.core.EODataAccessGateway.search>`_ method now returns
264
265
  only a single ``SearchResult`` instead of a 2 values tuple.
265
266
 
266
- STAC REST API
267
- -------------
268
-
269
- An eodag instance can be exposed through a STAC compliant REST api from the command line (``eodag[server]`` needed):
270
-
271
- .. code-block:: bash
272
-
273
- $ eodag serve-rest --help
274
- Usage: eodag serve-rest [OPTIONS]
275
-
276
- Start eodag HTTP server
277
-
278
- Set EODAG_CORS_ALLOWED_ORIGINS environment variable to configure Cross-
279
- Origin Resource Sharing allowed origins as comma-separated URLs (e.g.
280
- 'http://somewhere,htttp://somewhere.else').
281
-
282
- Options:
283
- -f, --config PATH File path to the user configuration file with its
284
- credentials, default is ~/.config/eodag/eodag.yml
285
- -l, --locs PATH File path to the location shapefiles configuration file
286
- -d, --daemon run in daemon mode
287
- -w, --world run uvicorn using IPv4 0.0.0.0 (all network interfaces),
288
- otherwise bind to 127.0.0.1 (localhost).
289
- -p, --port INTEGER The port on which to listen [default: 5000]
290
- --debug Run in debug mode (for development purpose)
291
- --help Show this message and exit.
292
-
293
- # run server
294
- $ eodag serve-rest
295
-
296
- # list available product types for ``peps`` provider:
297
- $ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id"
298
- "S1_SAR_GRD"
299
- "S1_SAR_OCN"
300
- "S1_SAR_SLC"
301
- "S2_MSI_L1C"
302
- "S2_MSI_L2A"
303
-
304
- # search for items
305
- $ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" \
306
- | jq ".numberMatched"
307
- 6
308
-
309
- # get download link
310
- $ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" \
311
- | jq ".features[0].assets.downloadLink.href"
312
- "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
313
-
314
- # download
315
- $ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
316
-
317
-
318
- ``eodag-server`` is available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.com/r/csspace/eodag-server>`_:
319
-
320
- .. code-block:: bash
321
-
322
- docker run -p 5000:5000 --rm csspace/eodag-server:3.10.1
323
-
324
- You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
325
- Simply run:
326
-
327
- .. code-block:: bash
328
-
329
- git clone https://github.com/CS-SI/eodag.git
330
- cd eodag
331
- docker-compose up
332
- # or for a more verbose logging:
333
- EODAG_LOGGING=3 docker-compose up
334
-
335
- And browse http://127.0.0.1:5001:
336
-
337
- .. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example_600.png
338
- :target: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example.png
339
- :alt: STAC browser example
340
- :width: 600px
341
-
342
-
343
- For more information, see `STAC REST API usage <https://eodag.readthedocs.io/en/latest/stac_rest.html>`_.
344
267
 
345
268
  Command line interface
346
269
  ----------------------
@@ -349,9 +272,9 @@ Start playing with the CLI:
349
272
 
350
273
  - To search for some products::
351
274
 
352
- eodag search --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
275
+ eodag search --collection S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
353
276
 
354
- The request above searches for ``S2_MSI_L1C`` product types in a given bounding box, in March 2021. It saves the results in a GeoJSON file (``search_results.geojson`` by default).
277
+ The request above searches for ``S2_MSI_L1C`` collections in a given bounding box, in March 2021. It saves the results in a GeoJSON file (``search_results.geojson`` by default).
355
278
 
356
279
  Results are paginated, you may want to get all pages at once with ``--all``, or search products having 20% of maximum coud cover with ``--cloudCover 20``. For more information on available options::
357
280
 
@@ -365,11 +288,11 @@ Start playing with the CLI:
365
288
 
366
289
  eodag download --quicklooks --search-results search_results.geojson
367
290
 
368
- - To list all available product types and supported providers::
291
+ - To list all available collections and supported providers::
369
292
 
370
293
  eodag list
371
294
 
372
- - To list available product types on a specified supported provider::
295
+ - To list available collections on a specified supported provider::
373
296
 
374
297
  eodag list -p creodias
375
298
 
@@ -379,15 +302,6 @@ Start playing with the CLI:
379
302
 
380
303
  - To print log messages, add ``-v`` to eodag master command. e.g. ``eodag -v list``. The more ``v`` given (up to 3), the more verbose the tool is. For a full verbose output, do for example: ``eodag -vvv list``
381
304
 
382
- Docker image
383
- ------------
384
-
385
- A Docker image is available via the `GitHub Container Registry <https://github.com/CS-SI/eodag/pkgs/container/eodag>`_:
386
-
387
- .. code-block:: bash
388
-
389
- docker pull ghcr.io/cs-si/eodag:v3.10.x
390
-
391
305
  Contribute
392
306
  ==========
393
307
 
@@ -0,0 +1,93 @@
1
+ eodag/__init__.py,sha256=vS9nq3ZOcdlHxCakeRqCV4nm8q3r7ZKr-p7RQg0gatg,1627
2
+ eodag/cli.py,sha256=gHxZmE0qCnChhiW0C-9aoet7vsMsloMIt5gvT82zIZM,22051
3
+ eodag/config.py,sha256=uErvz-nQHPRAzUnlxSgq5SxHCxWfDSML3xhm_BDBR1s,49862
4
+ eodag/crunch.py,sha256=fLVAPGVPw31N_DrnFk4gkCpQZLMY8oBhK6NUSYmdr24,1099
5
+ eodag/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ eodag/api/__init__.py,sha256=ytr30NUVmEtmJTsp3QCwkCIhS1nF6UlFCv0vmySHN7g,735
7
+ eodag/api/collection.py,sha256=qiVtXO6eqAJTmJFiKKXbHFXbQRlttojW_3kKegOjZYo,13720
8
+ eodag/api/core.py,sha256=82c7CHEhHdnkHDlzIxHigaYGereQ8aECkTnsBv5dWUk,107085
9
+ eodag/api/search_result.py,sha256=LGWIQgbhQF5Lz489vcvalb2VsYtplyzUXGWMqduP0uc,21107
10
+ eodag/api/product/__init__.py,sha256=6-RXKAw-sZVNU-7KjpmSqLc35dfc0V42wI5GqIzH2QA,2501
11
+ eodag/api/product/_assets.py,sha256=9bWIe_SYvsQO-q_lQFd7SxhUIWv7feze2-wnXOe8hhs,7570
12
+ eodag/api/product/_product.py,sha256=wwj-L95TgUJsfcYVfbqwNfTdOTciAUISknxeujBtLEg,27387
13
+ eodag/api/product/metadata_mapping.py,sha256=OhB5JhyMLwCrXYJbdk2Nep0Kd-lFeiCWLtw1pa3XukU,76821
14
+ eodag/api/product/drivers/__init__.py,sha256=v85lXHsfrkn59uyMgConb5ZY9acCCx95srdsh_wFIlM,1998
15
+ eodag/api/product/drivers/base.py,sha256=MvaXicICn9DxXsaJuK34nPM3__TksstZXSVfABcINAc,2776
16
+ eodag/api/product/drivers/generic.py,sha256=obwH8paf2TP7afnjfx4GxSZPSrTs3suTYJWQvebmigY,2207
17
+ eodag/api/product/drivers/sentinel1.py,sha256=xpvhOvVhpuwVihPMo_q79VI67ru-FqKtbRa5kA79D3k,3253
18
+ eodag/api/product/drivers/sentinel2.py,sha256=dMfIrcwF4h8KoyUj94yPUhRiN7FIef4mTzfbkkhLIc8,3124
19
+ eodag/plugins/__init__.py,sha256=KQkD5aVwb9I6C-Rmi5ABEG1-j8w5FP1zKN12vagsT9Y,739
20
+ eodag/plugins/base.py,sha256=8Us6InkQu59Ya0Ne8se2Q6ZtU85IpCpcQqO9Z2ECDWI,2746
21
+ eodag/plugins/manager.py,sha256=SlUPCa_mvpqAFZ4IMFqidyR_OgTV2mlUOrBAWC13ll8,20106
22
+ eodag/plugins/apis/__init__.py,sha256=PyY4f7P2iu3MkLPnw5eOrVew2fuavbBL3Asci3Ulwoo,744
23
+ eodag/plugins/apis/base.py,sha256=PZwAg0uINSEQcHSzTgU9xSAb-WaGMbmDL-jhrmybtLQ,2814
24
+ eodag/plugins/apis/ecmwf.py,sha256=6_Zr3u2XHJl6XijNZOWazdtqi8v_b9D4WNET-Eub5qs,11767
25
+ eodag/plugins/apis/usgs.py,sha256=V1R13tqPgVJ_kMoEdbbFT-lx5mZ7yYqRtna--wmTXAk,20029
26
+ eodag/plugins/authentication/__init__.py,sha256=_LVw42Bb1IhGAZH5xHRaS4b1iFoF9e27KDZOyoSoJHY,1039
27
+ eodag/plugins/authentication/aws_auth.py,sha256=A0sr5mVmCkAwCldlGSGFcZqnthusbcB52THthja77cw,12651
28
+ eodag/plugins/authentication/base.py,sha256=wp-OI0G4DbUFykuehvyh4IJLAJyicyKiIH9k5z3W7Mo,3506
29
+ eodag/plugins/authentication/generic.py,sha256=z-u4WMixeG4nKwc70cUGVBXt3IVheDPA6tQWs2iDH4Q,2673
30
+ eodag/plugins/authentication/header.py,sha256=U_KnUqgZTLHXM5OKdGbH6jRqoQ0uIfOoxO6krUeAAcQ,4284
31
+ eodag/plugins/authentication/keycloak.py,sha256=m5c6Os_T8UGfdXS9SemhuUBhwsC4foxmrVA6VXEXamU,7358
32
+ eodag/plugins/authentication/openid_connect.py,sha256=lj-9RPz2BADU-1ckawLmuSi3TSexABsDDPCHLp8Frsc,27084
33
+ eodag/plugins/authentication/qsauth.py,sha256=bkepO_sFRIhYm3Dzecx3VJP0Ap37vUuJSRmEY8HrV1U,3947
34
+ eodag/plugins/authentication/sas_auth.py,sha256=-ye_Bgarni91V7B7XWzMyJwekFhujyRbw1seTa1Xi8w,5777
35
+ eodag/plugins/authentication/token.py,sha256=f2SossIJ_XlnBuOw_OprLNrF1p-uolL_KEX71_BhzKw,15798
36
+ eodag/plugins/authentication/token_exchange.py,sha256=raFIN8UnO9MpqQukDJg4Pog-LJLzq8Bk54_6k9cCwFc,4963
37
+ eodag/plugins/crunch/__init__.py,sha256=58D7kJhEpHJWobIKaNFPynfbSqAWgS90BiHzitqS5Ds,746
38
+ eodag/plugins/crunch/base.py,sha256=XW4HISgR0UswiEZmE4t42HxnSxknZBtVpuK8XVLYHzU,1415
39
+ eodag/plugins/crunch/filter_date.py,sha256=GwoAoYTj6-pFXDtgz8rNES9YW9zfIZkAvkFLX5mUZQU,4313
40
+ eodag/plugins/crunch/filter_latest_intersect.py,sha256=FvWzXxg-oepxoq3AqnEfFpWZVWWSPWY9km8qg0dGCKU,4438
41
+ eodag/plugins/crunch/filter_latest_tpl_name.py,sha256=Aau0RMBRCblVL2kapEaV0SMZXdfItwLUFhAZ3cUA02o,3667
42
+ eodag/plugins/crunch/filter_overlap.py,sha256=tU3h15jyfePOQPgGvowHFm2ZuckEbAo6lgLQNaPiJ2Q,7142
43
+ eodag/plugins/crunch/filter_property.py,sha256=2BKb7wxw1Yi2NTtnPCBtdZ-caJXxlVUUS2ps4LHXOMI,3187
44
+ eodag/plugins/download/__init__.py,sha256=zqszaeNgYP0YHlZDkLMf6odcwNw0KrAahGpcA-l0kAw,740
45
+ eodag/plugins/download/aws.py,sha256=x0HWR9O5U3kFo7W8qHcZhkCqzWEkSw_XEVIdx1zX7Qg,46884
46
+ eodag/plugins/download/base.py,sha256=TVUCDMuDkRo9EKYj5o3zUuOl76VJfQ6GlefD1EFwSTs,30807
47
+ eodag/plugins/download/http.py,sha256=Supm6UL4isoZ5LLqR3tzZDZi3fQYsj4u4dI9RppMnlc,58609
48
+ eodag/plugins/search/__init__.py,sha256=z_OD0bIloltQIJ9D0-pLC6o6nT0VmX2PRtMn_nLwWDQ,2174
49
+ eodag/plugins/search/base.py,sha256=yBmfca1EcR8c8pDD0GLnyZkU1UQ_8RNh1X8xqV-gHRQ,22235
50
+ eodag/plugins/search/build_search_result.py,sha256=4QZKXEBj5n1EE0BGciLfApSEYxxk-2srlVrq27lL1hg,62934
51
+ eodag/plugins/search/cop_marine.py,sha256=ubfZzM75CGgSMngP6Okon_UP5flV-nCIQNzyfFSsTbo,21328
52
+ eodag/plugins/search/creodias_s3.py,sha256=q-fzgKIp9hPgcxZ1fQz8N7veDdqZVZuVvygGOIA9zf0,3845
53
+ eodag/plugins/search/csw.py,sha256=L5UbSngFnEqD6nYir7SkijJtPeWDC8LAUps74e8HWM4,12674
54
+ eodag/plugins/search/qssearch.py,sha256=W3g9J8xhnKZn8ksygBKzFXx0xUdIILlDvB-ePLEGO14,104919
55
+ eodag/plugins/search/stac_list_assets.py,sha256=OS2E13w2OVcPUearXRzp4EfvibtmUz6l8okpAMNH-sA,3442
56
+ eodag/plugins/search/static_stac_search.py,sha256=zQc51c0VI52gt4eKF-yUC-1xsVIM4XKB96ZKazhtCjU,10379
57
+ eodag/resources/collections.yml,sha256=0JZr5y8V8QlB1MGqGzs5-Pmrk1ZYkEBlS3VYrg22Npc,473536
58
+ eodag/resources/ext_collections.json,sha256=8BSdJ_G0F9LG9h_Z_EOTmSmhceDl3-uFVaW7iVoh4qo,2438459
59
+ eodag/resources/ext_product_types.json,sha256=DaM0YN_V5gdMDyb1zHnF37YC8eOQhG4i-byB9d2gcT8,2456884
60
+ eodag/resources/locations_conf_template.yml,sha256=_eBv-QKHYMIKhY0b0kp4Ee33RsayxN8LWH3kDXxfFSk,986
61
+ eodag/resources/providers.yml,sha256=1EK66cdWNG0T6d8YfPfs1nl4fQ4oDvX10vn5h_WsxWE,237678
62
+ eodag/resources/stac_provider.yml,sha256=RNhFNhv7593VkY2od-LQgUBdIO1WXL1Rko7UyjLaxFY,4648
63
+ eodag/resources/user_conf_template.yml,sha256=aHSiscSQ3B4Dd18709iQAX7tFrkMufRC1a9akcNVVTs,7541
64
+ eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt,sha256=CHSo_jbv-4d4D0MYRbWn2FvmV_K9mYzo7qznF4YNO3g,7
65
+ eodag/resources/shp/ne_110m_admin_0_map_units.cpg,sha256=FG1nif_gM6UpfBrQRuamLuNTGbhrAhRE8FtuoqqKH0o,6
66
+ eodag/resources/shp/ne_110m_admin_0_map_units.dbf,sha256=uEEO22hZ_crWxMNhuQ_ix889c1Us1awYXAglxbf1K-s,393747
67
+ eodag/resources/shp/ne_110m_admin_0_map_units.prj,sha256=oaohy2UQUlLMiTy3HhYS1Kurl_7z3A3LYcOmVf_TbNo,148
68
+ eodag/resources/shp/ne_110m_admin_0_map_units.shp,sha256=GMVJQ1pe0JfaJnVfAew0MvembDJDkfUs0To2Qc82Aos,181628
69
+ eodag/resources/shp/ne_110m_admin_0_map_units.shx,sha256=N74fDl6sQAljmHQ_e9DO7suO6BXuwC0LwmriAnDBH-U,1564
70
+ eodag/types/__init__.py,sha256=CcNcA8mupjjkQZRtycgiMOubXsTDglwEyp3vGT9VE_M,16225
71
+ eodag/types/bbox.py,sha256=jbfX58KOKIl0OoGZc93kAYhG_mEOjuBQGJtR2hl3-_Y,4354
72
+ eodag/types/download_args.py,sha256=urSl5KbLRN1XetMa2XzxYltny8CCFmHpjxU3j3BEGO8,1565
73
+ eodag/types/queryables.py,sha256=x6nQgnLgHo85f_OBREt90S5LsXkB2MZTfuwjXxvtKWo,9479
74
+ eodag/types/search_args.py,sha256=hnLID6n8lKbisVYO45xos_5ndkofCNYxzwCGTgdminA,5648
75
+ eodag/utils/__init__.py,sha256=4kFmoxrq8Tb5rlbsmpX1DVj5UxcDU2GYxPClVh0UINg,58358
76
+ eodag/utils/cache.py,sha256=UNvnzhJnNBuKLdH_0KnhuTMlBvz4GS3nr2IH2Lj6Swc,2580
77
+ eodag/utils/dates.py,sha256=dSKmWC3spQrpo0XLYAnUe32k3SPHQ9yih_K3nQ7z1fE,7470
78
+ eodag/utils/env.py,sha256=_sgCzDmaJnMnCv1qk9xe9jBhBKqqXbEYmsyGYwYw4NI,1085
79
+ eodag/utils/exceptions.py,sha256=UE2RQ9BJFDIdqQHZZ1bH_pk1vXkpQieUFVY_cK2vlxI,4576
80
+ eodag/utils/free_text_search.py,sha256=k0CrzMslrBrPYTEWOrGOAnwuy6Ktt7NPz07illkRCyM,8066
81
+ eodag/utils/import_system.py,sha256=1vwcSRlsZwuaP8ssrpRBP5jldZ54eLv2ttNCdLf0TtA,3901
82
+ eodag/utils/logging.py,sha256=KoMsyS1f6O1hr_SMDOIxvt842mOJgmu_yLUk0-0EKFs,3507
83
+ eodag/utils/notebook.py,sha256=AUxtayvu26qYf3x3Eu3ujRl1XDgy24EfQaETbqmXSZw,2703
84
+ eodag/utils/repr.py,sha256=72BIKFq07aU4YrQVJJX-AADdWXAhJqC4LXGmkbCo1kA,5537
85
+ eodag/utils/requests.py,sha256=avNHKrOZ7Kp6lUA7u4kqupIth9MoirLzDsMrrmQDt4s,4560
86
+ eodag/utils/s3.py,sha256=eESanPLVv-Luqo_o1WgUuO7YLqiXg_iEzHZ15fu-ugY,30063
87
+ eodag/utils/stac_reader.py,sha256=8r6amio5EtwGF9iu9zHaGDz4oUPKKeXRuyTzPNakrO4,9406
88
+ eodag-4.0.0a2.dist-info/licenses/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
89
+ eodag-4.0.0a2.dist-info/METADATA,sha256=GDIvwACmfGQA6E-XFIfoCkkr4tblKoFg2m4jgdIEuek,12739
90
+ eodag-4.0.0a2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
+ eodag-4.0.0a2.dist-info/entry_points.txt,sha256=atMIh-Q4hRsOdw1_778mDIhWFHQJigEo3x-0fMqhqLE,2254
92
+ eodag-4.0.0a2.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
93
+ eodag-4.0.0a2.dist-info/RECORD,,
@@ -11,7 +11,6 @@ GenericAuth = eodag.plugins.authentication.generic:GenericAuth
11
11
  HTTPHeaderAuth = eodag.plugins.authentication.header:HTTPHeaderAuth
12
12
  HttpQueryStringAuth = eodag.plugins.authentication.qsauth:HttpQueryStringAuth
13
13
  KeycloakOIDCPasswordAuth = eodag.plugins.authentication.keycloak:KeycloakOIDCPasswordAuth
14
- OAuth = eodag.plugins.authentication.oauth:OAuth
15
14
  OIDCAuthorizationCodeFlowAuth = eodag.plugins.authentication.openid_connect:OIDCAuthorizationCodeFlowAuth
16
15
  OIDCTokenExchangeAuth = eodag.plugins.authentication.token_exchange:OIDCTokenExchangeAuth
17
16
  SASAuth = eodag.plugins.authentication.sas_auth:SASAuth
@@ -26,15 +25,12 @@ FilterProperty = eodag.plugins.crunch.filter_property:FilterProperty
26
25
 
27
26
  [eodag.plugins.download]
28
27
  AwsDownload = eodag.plugins.download.aws:AwsDownload
29
- CreodiasS3Download = eodag.plugins.download.creodias_s3:CreodiasS3Download
30
28
  HTTPDownload = eodag.plugins.download.http:HTTPDownload
31
- S3RestDownload = eodag.plugins.download.s3rest:S3RestDownload
32
29
 
33
30
  [eodag.plugins.search]
34
31
  CSWSearch = eodag.plugins.search.csw:CSWSearch [csw]
35
32
  CopMarineSearch = eodag.plugins.search.cop_marine:CopMarineSearch
36
33
  CreodiasS3Search = eodag.plugins.search.creodias_s3:CreodiasS3Search
37
- DataRequestSearch = eodag.plugins.search.data_request_search:DataRequestSearch
38
34
  ECMWFSearch = eodag.plugins.search.build_search_result:ECMWFSearch
39
35
  MeteoblueSearch = eodag.plugins.search.build_search_result:MeteoblueSearch
40
36
  ODataV4Search = eodag.plugins.search.qssearch:ODataV4Search
@@ -1,60 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Copyright 2018, CS GROUP - France, https://www.csgroup.eu/
3
- #
4
- # This file is part of EODAG project
5
- # https://www.github.com/CS-SI/EODAG
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- from __future__ import annotations
19
-
20
- from typing import TYPE_CHECKING, Optional
21
-
22
- from eodag.plugins.authentication.base import Authentication
23
- from eodag.utils import _deprecated
24
-
25
- if TYPE_CHECKING:
26
- from eodag.config import PluginConfig
27
- from eodag.types import S3SessionKwargs
28
-
29
-
30
- @_deprecated(
31
- reason="Plugin was used to authenticate using S3 credentials, use AwsAuth instead",
32
- version="3.8.1",
33
- )
34
- class OAuth(Authentication):
35
- """OAuth authentication plugin
36
-
37
- The mandatory parameters that have to be added in the eodag config are ``aws_access_key_id``
38
- and ``aws_secret_access_key``.
39
-
40
- :param provider: provider name
41
- :param config: Authentication plugin configuration:
42
-
43
- * :attr:`~eodag.config.PluginConfig.type` (``str``) (**mandatory**): OAuth
44
-
45
- """
46
-
47
- def __init__(self, provider: str, config: PluginConfig) -> None:
48
- super(OAuth, self).__init__(provider, config)
49
- self.access_key: Optional[str] = None
50
- self.secret_key: Optional[str] = None
51
-
52
- def authenticate(self) -> S3SessionKwargs:
53
- """Authenticate"""
54
- self.validate_config_credentials()
55
- self.access_key = self.config.credentials["aws_access_key_id"]
56
- self.secret_key = self.config.credentials["aws_secret_access_key"]
57
- return {
58
- "aws_access_key_id": self.access_key,
59
- "aws_secret_access_key": self.secret_key,
60
- }
@@ -1,71 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Copyright 2024, CS GROUP - France, https://www.csgroup.eu/
3
- #
4
- # This file is part of EODAG project
5
- # https://www.github.com/CS-SI/EODAG
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- from __future__ import annotations
19
-
20
- from typing import Optional
21
-
22
- from eodag import EOProduct
23
- from eodag.plugins.download.aws import AwsDownload
24
- from eodag.utils import _deprecated
25
-
26
-
27
- @_deprecated(
28
- reason="Plugin that was used in creodias_s3 provider configuration, but not anymore",
29
- version="3.10.0",
30
- )
31
- class CreodiasS3Download(AwsDownload):
32
- """
33
- Download on creodias s3 from their VMs (extension of :class:`~eodag.plugins.download.aws.AwsDownload`)
34
-
35
- :param provider: provider name
36
- :param config: Download plugin configuration:
37
-
38
- * :attr:`~eodag.config.PluginConfig.type` (``str``) (**mandatory**): CreodiasS3Download
39
- * :attr:`~eodag.config.PluginConfig.base_uri` (``str``) (**mandatory**): s3 endpoint url
40
- * :attr:`~eodag.config.PluginConfig.s3_bucket` (``str``) (**mandatory**): bucket where the products can be found
41
- * :attr:`~eodag.config.PluginConfig.ssl_verify` (``bool``): if the ssl certificates should be
42
- verified in requests; default: ``True``
43
- """
44
-
45
- def _get_bucket_names_and_prefixes(
46
- self,
47
- product: EOProduct,
48
- asset_filter: Optional[str],
49
- ignore_assets: bool,
50
- complementary_url_keys: list[str],
51
- ) -> list[tuple[str, Optional[str]]]:
52
- """
53
- Retrieves the bucket names and path prefixes for the assets
54
-
55
- :param product: product for which the assets shall be downloaded
56
- :param asset_filter: text for which the assets should be filtered
57
- :param ignore_assets: if product instead of individual assets should be used
58
- :return: tuples of bucket names and prefixes
59
- """
60
- # if assets are defined, use them instead of scanning product.location
61
- if len(product.assets) > 0 and not ignore_assets:
62
- bucket_names_and_prefixes = super()._get_bucket_names_and_prefixes(
63
- product, asset_filter, ignore_assets, complementary_url_keys
64
- )
65
- else:
66
- # if no assets are given, use productIdentifier to get S3 path for download
67
- s3_url = "s3:/" + product.properties["productIdentifier"]
68
- bucket_names_and_prefixes = [
69
- self.get_product_bucket_name_and_prefix(product, s3_url)
70
- ]
71
- return bucket_names_and_prefixes