eodag 3.9.1__py3-none-any.whl → 4.0.0a1__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.
- eodag/api/core.py +378 -419
- eodag/api/product/__init__.py +3 -3
- eodag/api/product/_product.py +68 -40
- eodag/api/product/drivers/__init__.py +3 -5
- eodag/api/product/drivers/base.py +1 -18
- eodag/api/product/metadata_mapping.py +151 -215
- eodag/api/search_result.py +13 -7
- eodag/cli.py +72 -395
- eodag/config.py +46 -50
- eodag/plugins/apis/base.py +2 -2
- eodag/plugins/apis/ecmwf.py +20 -21
- eodag/plugins/apis/usgs.py +37 -33
- eodag/plugins/authentication/aws_auth.py +36 -1
- eodag/plugins/authentication/base.py +18 -3
- eodag/plugins/authentication/sas_auth.py +15 -0
- eodag/plugins/crunch/filter_date.py +3 -3
- eodag/plugins/crunch/filter_latest_intersect.py +2 -2
- eodag/plugins/crunch/filter_latest_tpl_name.py +1 -1
- eodag/plugins/download/aws.py +45 -41
- eodag/plugins/download/base.py +13 -14
- eodag/plugins/download/http.py +65 -65
- eodag/plugins/manager.py +28 -29
- eodag/plugins/search/__init__.py +3 -4
- eodag/plugins/search/base.py +128 -77
- eodag/plugins/search/build_search_result.py +105 -107
- eodag/plugins/search/cop_marine.py +44 -47
- eodag/plugins/search/csw.py +33 -33
- eodag/plugins/search/qssearch.py +335 -354
- eodag/plugins/search/stac_list_assets.py +1 -1
- eodag/plugins/search/static_stac_search.py +31 -31
- eodag/resources/{product_types.yml → collections.yml} +2353 -2429
- eodag/resources/ext_collections.json +1 -0
- eodag/resources/ext_product_types.json +1 -1
- eodag/resources/providers.yml +2432 -2714
- eodag/resources/stac_provider.yml +46 -90
- eodag/types/queryables.py +55 -91
- eodag/types/search_args.py +1 -1
- eodag/utils/__init__.py +94 -21
- eodag/utils/exceptions.py +6 -6
- eodag/utils/free_text_search.py +3 -3
- {eodag-3.9.1.dist-info → eodag-4.0.0a1.dist-info}/METADATA +11 -88
- eodag-4.0.0a1.dist-info/RECORD +92 -0
- {eodag-3.9.1.dist-info → eodag-4.0.0a1.dist-info}/entry_points.txt +0 -4
- eodag/plugins/authentication/oauth.py +0 -60
- eodag/plugins/download/creodias_s3.py +0 -64
- eodag/plugins/download/s3rest.py +0 -351
- eodag/plugins/search/data_request_search.py +0 -565
- eodag/resources/stac.yml +0 -294
- eodag/resources/stac_api.yml +0 -2105
- eodag/rest/__init__.py +0 -24
- eodag/rest/cache.py +0 -70
- eodag/rest/config.py +0 -67
- eodag/rest/constants.py +0 -26
- eodag/rest/core.py +0 -764
- eodag/rest/errors.py +0 -210
- eodag/rest/server.py +0 -604
- eodag/rest/server.wsgi +0 -6
- eodag/rest/stac.py +0 -1032
- eodag/rest/templates/README +0 -1
- eodag/rest/types/__init__.py +0 -18
- eodag/rest/types/collections_search.py +0 -44
- eodag/rest/types/eodag_search.py +0 -386
- eodag/rest/types/queryables.py +0 -174
- eodag/rest/types/stac_search.py +0 -272
- eodag/rest/utils/__init__.py +0 -207
- eodag/rest/utils/cql_evaluate.py +0 -119
- eodag/rest/utils/rfc3339.py +0 -64
- eodag-3.9.1.dist-info/RECORD +0 -115
- {eodag-3.9.1.dist-info → eodag-4.0.0a1.dist-info}/WHEEL +0 -0
- {eodag-3.9.1.dist-info → eodag-4.0.0a1.dist-info}/licenses/LICENSE +0 -0
- {eodag-3.9.1.dist-info → eodag-4.0.0a1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eodag
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0a1
|
|
4
4
|
Summary: Earth Observation Data Access Gateway
|
|
5
5
|
Home-page: https://github.com/CS-SI/eodag
|
|
6
6
|
Author: CS GROUP - France
|
|
@@ -40,7 +40,7 @@ Requires-Dist: importlib_metadata>=5.0
|
|
|
40
40
|
Requires-Dist: jsonpath-ng
|
|
41
41
|
Requires-Dist: lxml
|
|
42
42
|
Requires-Dist: orjson
|
|
43
|
-
Requires-Dist: pydantic!=2.10.0,>=2.1.0
|
|
43
|
+
Requires-Dist: pydantic!=2.10.0,<2.12.0,>=2.1.0
|
|
44
44
|
Requires-Dist: pydantic_core
|
|
45
45
|
Requires-Dist: PyJWT[crypto]>=2.5.0
|
|
46
46
|
Requires-Dist: pyproj>=2.1.0
|
|
@@ -119,6 +119,7 @@ Requires-Dist: types-tqdm; extra == "stubs"
|
|
|
119
119
|
Requires-Dist: types-urllib3; extra == "stubs"
|
|
120
120
|
Provides-Extra: docs
|
|
121
121
|
Requires-Dist: eodag[all,stubs]; extra == "docs"
|
|
122
|
+
Requires-Dist: autodoc_pydantic; extra == "docs"
|
|
122
123
|
Requires-Dist: nbsphinx; extra == "docs"
|
|
123
124
|
Requires-Dist: sphinx; extra == "docs"
|
|
124
125
|
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
@@ -174,9 +175,9 @@ EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugi
|
|
|
174
175
|
aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the
|
|
175
176
|
data provider. The EODAG SDK is structured around three functions:
|
|
176
177
|
|
|
177
|
-
* List
|
|
178
|
+
* List collections: list of supported products and their description
|
|
178
179
|
|
|
179
|
-
* Search products (by
|
|
180
|
+
* Search products (by collection or uid): searches products according to the search criteria provided
|
|
180
181
|
|
|
181
182
|
* Download products: download product “as is"
|
|
182
183
|
|
|
@@ -189,7 +190,7 @@ integrate new data providers. Three types of plugins compose the tool:
|
|
|
189
190
|
* Download plugins, allowing to download and retrieve data locally (via HTTP, S3, ...), always with the same directory
|
|
190
191
|
organization
|
|
191
192
|
|
|
192
|
-
* Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth,
|
|
193
|
+
* Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth, OIDC, ...).
|
|
193
194
|
|
|
194
195
|
Read `the documentation <https://eodag.readthedocs.io/en/latest/>`_ for more insights.
|
|
195
196
|
|
|
@@ -240,7 +241,7 @@ Example usage for interacting with the api in your Python code:
|
|
|
240
241
|
dag = EODataAccessGateway()
|
|
241
242
|
|
|
242
243
|
search_results = dag.search(
|
|
243
|
-
|
|
244
|
+
collection='S2_MSI_L1C',
|
|
244
245
|
geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # accepts WKT polygons, shapely.geometry, ...
|
|
245
246
|
start='2021-01-01',
|
|
246
247
|
end='2021-01-15'
|
|
@@ -261,84 +262,6 @@ check the `Python API User Guide <https://eodag.readthedocs.io/en/latest/api_use
|
|
|
261
262
|
`search() <https://eodag.readthedocs.io/en/latest/api_reference/core.html#eodag.api.core.EODataAccessGateway.search>`_ method now returns
|
|
262
263
|
only a single ``SearchResult`` instead of a 2 values tuple.
|
|
263
264
|
|
|
264
|
-
STAC REST API
|
|
265
|
-
-------------
|
|
266
|
-
|
|
267
|
-
An eodag instance can be exposed through a STAC compliant REST api from the command line (``eodag[server]`` needed):
|
|
268
|
-
|
|
269
|
-
.. code-block:: bash
|
|
270
|
-
|
|
271
|
-
$ eodag serve-rest --help
|
|
272
|
-
Usage: eodag serve-rest [OPTIONS]
|
|
273
|
-
|
|
274
|
-
Start eodag HTTP server
|
|
275
|
-
|
|
276
|
-
Set EODAG_CORS_ALLOWED_ORIGINS environment variable to configure Cross-
|
|
277
|
-
Origin Resource Sharing allowed origins as comma-separated URLs (e.g.
|
|
278
|
-
'http://somewhere,htttp://somewhere.else').
|
|
279
|
-
|
|
280
|
-
Options:
|
|
281
|
-
-f, --config PATH File path to the user configuration file with its
|
|
282
|
-
credentials, default is ~/.config/eodag/eodag.yml
|
|
283
|
-
-l, --locs PATH File path to the location shapefiles configuration file
|
|
284
|
-
-d, --daemon run in daemon mode
|
|
285
|
-
-w, --world run uvicorn using IPv4 0.0.0.0 (all network interfaces),
|
|
286
|
-
otherwise bind to 127.0.0.1 (localhost).
|
|
287
|
-
-p, --port INTEGER The port on which to listen [default: 5000]
|
|
288
|
-
--debug Run in debug mode (for development purpose)
|
|
289
|
-
--help Show this message and exit.
|
|
290
|
-
|
|
291
|
-
# run server
|
|
292
|
-
$ eodag serve-rest
|
|
293
|
-
|
|
294
|
-
# list available product types for ``peps`` provider:
|
|
295
|
-
$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id"
|
|
296
|
-
"S1_SAR_GRD"
|
|
297
|
-
"S1_SAR_OCN"
|
|
298
|
-
"S1_SAR_SLC"
|
|
299
|
-
"S2_MSI_L1C"
|
|
300
|
-
"S2_MSI_L2A"
|
|
301
|
-
|
|
302
|
-
# search for items
|
|
303
|
-
$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" \
|
|
304
|
-
| jq ".numberMatched"
|
|
305
|
-
6
|
|
306
|
-
|
|
307
|
-
# get download link
|
|
308
|
-
$ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" \
|
|
309
|
-
| jq ".features[0].assets.downloadLink.href"
|
|
310
|
-
"http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
|
|
311
|
-
|
|
312
|
-
# download
|
|
313
|
-
$ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
``eodag-server`` is available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.com/r/csspace/eodag-server>`_:
|
|
317
|
-
|
|
318
|
-
.. code-block:: bash
|
|
319
|
-
|
|
320
|
-
docker run -p 5000:5000 --rm csspace/eodag-server:3.9.1
|
|
321
|
-
|
|
322
|
-
You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
|
|
323
|
-
Simply run:
|
|
324
|
-
|
|
325
|
-
.. code-block:: bash
|
|
326
|
-
|
|
327
|
-
git clone https://github.com/CS-SI/eodag.git
|
|
328
|
-
cd eodag
|
|
329
|
-
docker-compose up
|
|
330
|
-
# or for a more verbose logging:
|
|
331
|
-
EODAG_LOGGING=3 docker-compose up
|
|
332
|
-
|
|
333
|
-
And browse http://127.0.0.1:5001:
|
|
334
|
-
|
|
335
|
-
.. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example_600.png
|
|
336
|
-
:target: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example.png
|
|
337
|
-
:alt: STAC browser example
|
|
338
|
-
:width: 600px
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
For more information, see `STAC REST API usage <https://eodag.readthedocs.io/en/latest/stac_rest.html>`_.
|
|
342
265
|
|
|
343
266
|
Command line interface
|
|
344
267
|
----------------------
|
|
@@ -347,9 +270,9 @@ Start playing with the CLI:
|
|
|
347
270
|
|
|
348
271
|
- To search for some products::
|
|
349
272
|
|
|
350
|
-
eodag search --
|
|
273
|
+
eodag search --collection S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
|
|
351
274
|
|
|
352
|
-
The request above searches for ``S2_MSI_L1C``
|
|
275
|
+
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).
|
|
353
276
|
|
|
354
277
|
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::
|
|
355
278
|
|
|
@@ -363,11 +286,11 @@ Start playing with the CLI:
|
|
|
363
286
|
|
|
364
287
|
eodag download --quicklooks --search-results search_results.geojson
|
|
365
288
|
|
|
366
|
-
- To list all available
|
|
289
|
+
- To list all available collections and supported providers::
|
|
367
290
|
|
|
368
291
|
eodag list
|
|
369
292
|
|
|
370
|
-
- To list available
|
|
293
|
+
- To list available collections on a specified supported provider::
|
|
371
294
|
|
|
372
295
|
eodag list -p creodias
|
|
373
296
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
eodag/__init__.py,sha256=qADIO6H3KR0CMs0qePdJROjSzcGnHaYpv-RFIk18WGQ,1608
|
|
2
|
+
eodag/cli.py,sha256=HG7coeNsi_yC434HLf9oBxCrFv4x2eNBvYzzmK8NlBc,21871
|
|
3
|
+
eodag/config.py,sha256=k8aRt8dLfTHhocoiV6uSfEdRT5kkbk7Y6E-AYDvrjPk,48130
|
|
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/core.py,sha256=3HC8UFgxgXxdNp09AmYxhlBzm-g7P7OILk5FrzrJyKk,107273
|
|
8
|
+
eodag/api/search_result.py,sha256=C1weJaiUPUwgu66uTeDu-TFSI7Z12wMOD3jEl4YLLaA,14618
|
|
9
|
+
eodag/api/product/__init__.py,sha256=6-RXKAw-sZVNU-7KjpmSqLc35dfc0V42wI5GqIzH2QA,2501
|
|
10
|
+
eodag/api/product/_assets.py,sha256=9bWIe_SYvsQO-q_lQFd7SxhUIWv7feze2-wnXOe8hhs,7570
|
|
11
|
+
eodag/api/product/_product.py,sha256=kj1M1MKDZ3LQGFp0pZ76EBmMll1fX732piVgmaonYOU,27884
|
|
12
|
+
eodag/api/product/metadata_mapping.py,sha256=GTd1kanBbG2gtXdsSOl__F11P3vdp_PP-NDnDwCvehI,75390
|
|
13
|
+
eodag/api/product/drivers/__init__.py,sha256=sZB9dfs63A-y4Q0ZItZjwcyG7uHDRJbacfrErt8u5jw,3327
|
|
14
|
+
eodag/api/product/drivers/base.py,sha256=2x_x5xE8vaXQokgRlVGs82j90ienU2tT37rqNvE0dms,3330
|
|
15
|
+
eodag/api/product/drivers/generic.py,sha256=obwH8paf2TP7afnjfx4GxSZPSrTs3suTYJWQvebmigY,2207
|
|
16
|
+
eodag/api/product/drivers/sentinel1.py,sha256=xpvhOvVhpuwVihPMo_q79VI67ru-FqKtbRa5kA79D3k,3253
|
|
17
|
+
eodag/api/product/drivers/sentinel2.py,sha256=dMfIrcwF4h8KoyUj94yPUhRiN7FIef4mTzfbkkhLIc8,3124
|
|
18
|
+
eodag/plugins/__init__.py,sha256=KQkD5aVwb9I6C-Rmi5ABEG1-j8w5FP1zKN12vagsT9Y,739
|
|
19
|
+
eodag/plugins/base.py,sha256=8Us6InkQu59Ya0Ne8se2Q6ZtU85IpCpcQqO9Z2ECDWI,2746
|
|
20
|
+
eodag/plugins/manager.py,sha256=SlUPCa_mvpqAFZ4IMFqidyR_OgTV2mlUOrBAWC13ll8,20106
|
|
21
|
+
eodag/plugins/apis/__init__.py,sha256=PyY4f7P2iu3MkLPnw5eOrVew2fuavbBL3Asci3Ulwoo,744
|
|
22
|
+
eodag/plugins/apis/base.py,sha256=PZwAg0uINSEQcHSzTgU9xSAb-WaGMbmDL-jhrmybtLQ,2814
|
|
23
|
+
eodag/plugins/apis/ecmwf.py,sha256=H9iIAAbBNvbhf2F5vhRLToLaxKa7bsKMxPRE06oiR5k,11282
|
|
24
|
+
eodag/plugins/apis/usgs.py,sha256=FOgXqtXn9w7xf8cdFffz0MLbbRy2HYZSqOwBZNj17iA,19753
|
|
25
|
+
eodag/plugins/authentication/__init__.py,sha256=_LVw42Bb1IhGAZH5xHRaS4b1iFoF9e27KDZOyoSoJHY,1039
|
|
26
|
+
eodag/plugins/authentication/aws_auth.py,sha256=A0sr5mVmCkAwCldlGSGFcZqnthusbcB52THthja77cw,12651
|
|
27
|
+
eodag/plugins/authentication/base.py,sha256=wp-OI0G4DbUFykuehvyh4IJLAJyicyKiIH9k5z3W7Mo,3506
|
|
28
|
+
eodag/plugins/authentication/generic.py,sha256=z-u4WMixeG4nKwc70cUGVBXt3IVheDPA6tQWs2iDH4Q,2673
|
|
29
|
+
eodag/plugins/authentication/header.py,sha256=U_KnUqgZTLHXM5OKdGbH6jRqoQ0uIfOoxO6krUeAAcQ,4284
|
|
30
|
+
eodag/plugins/authentication/keycloak.py,sha256=m5c6Os_T8UGfdXS9SemhuUBhwsC4foxmrVA6VXEXamU,7358
|
|
31
|
+
eodag/plugins/authentication/openid_connect.py,sha256=lj-9RPz2BADU-1ckawLmuSi3TSexABsDDPCHLp8Frsc,27084
|
|
32
|
+
eodag/plugins/authentication/qsauth.py,sha256=bkepO_sFRIhYm3Dzecx3VJP0Ap37vUuJSRmEY8HrV1U,3947
|
|
33
|
+
eodag/plugins/authentication/sas_auth.py,sha256=-ye_Bgarni91V7B7XWzMyJwekFhujyRbw1seTa1Xi8w,5777
|
|
34
|
+
eodag/plugins/authentication/token.py,sha256=f2SossIJ_XlnBuOw_OprLNrF1p-uolL_KEX71_BhzKw,15798
|
|
35
|
+
eodag/plugins/authentication/token_exchange.py,sha256=raFIN8UnO9MpqQukDJg4Pog-LJLzq8Bk54_6k9cCwFc,4963
|
|
36
|
+
eodag/plugins/crunch/__init__.py,sha256=58D7kJhEpHJWobIKaNFPynfbSqAWgS90BiHzitqS5Ds,746
|
|
37
|
+
eodag/plugins/crunch/base.py,sha256=XW4HISgR0UswiEZmE4t42HxnSxknZBtVpuK8XVLYHzU,1415
|
|
38
|
+
eodag/plugins/crunch/filter_date.py,sha256=GwoAoYTj6-pFXDtgz8rNES9YW9zfIZkAvkFLX5mUZQU,4313
|
|
39
|
+
eodag/plugins/crunch/filter_latest_intersect.py,sha256=Bc2-DEqqWJDaQpZDSVtQJFC24f7KTbpV6YPs4J4cZd8,4402
|
|
40
|
+
eodag/plugins/crunch/filter_latest_tpl_name.py,sha256=Aau0RMBRCblVL2kapEaV0SMZXdfItwLUFhAZ3cUA02o,3667
|
|
41
|
+
eodag/plugins/crunch/filter_overlap.py,sha256=mkm5_ljgK_7QOOp-KgJjDjbVfss4gwRjIYUTMyKrw5o,7272
|
|
42
|
+
eodag/plugins/crunch/filter_property.py,sha256=2BKb7wxw1Yi2NTtnPCBtdZ-caJXxlVUUS2ps4LHXOMI,3187
|
|
43
|
+
eodag/plugins/download/__init__.py,sha256=zqszaeNgYP0YHlZDkLMf6odcwNw0KrAahGpcA-l0kAw,740
|
|
44
|
+
eodag/plugins/download/aws.py,sha256=x0HWR9O5U3kFo7W8qHcZhkCqzWEkSw_XEVIdx1zX7Qg,46884
|
|
45
|
+
eodag/plugins/download/base.py,sha256=TVUCDMuDkRo9EKYj5o3zUuOl76VJfQ6GlefD1EFwSTs,30807
|
|
46
|
+
eodag/plugins/download/http.py,sha256=Supm6UL4isoZ5LLqR3tzZDZi3fQYsj4u4dI9RppMnlc,58609
|
|
47
|
+
eodag/plugins/search/__init__.py,sha256=loDfpYZUI2xaglNjKhb0uNdlyZX0HanXzF16T-mk05U,2021
|
|
48
|
+
eodag/plugins/search/base.py,sha256=et1S3xrssGAKfGBSjIt7Rz0ouguzBnvxVbXRsF0-Om4,22250
|
|
49
|
+
eodag/plugins/search/build_search_result.py,sha256=oqQQPe_mSN63VDdm4FEviikaZWYopPkKWkz4EIWKKTE,57493
|
|
50
|
+
eodag/plugins/search/cop_marine.py,sha256=fK9Rxl0xQQUJvIUuJoEa6fWIKWRbuuEYKMgRftjGHZ8,20108
|
|
51
|
+
eodag/plugins/search/creodias_s3.py,sha256=q-fzgKIp9hPgcxZ1fQz8N7veDdqZVZuVvygGOIA9zf0,3845
|
|
52
|
+
eodag/plugins/search/csw.py,sha256=Yc1pb4l8kGwETXNRaBQw6urzhA0Q4U3exOWunJPIpiA,12367
|
|
53
|
+
eodag/plugins/search/qssearch.py,sha256=1kYsg09Y8-YOtyl9eOntcE7roy0e4r-nVGjoDGANznY,93817
|
|
54
|
+
eodag/plugins/search/stac_list_assets.py,sha256=OS2E13w2OVcPUearXRzp4EfvibtmUz6l8okpAMNH-sA,3442
|
|
55
|
+
eodag/plugins/search/static_stac_search.py,sha256=DZCor9zz45LUmgXJyve2UblAvlwhxUtklOgtEuioMns,10432
|
|
56
|
+
eodag/resources/collections.yml,sha256=QuKAPlao9hRGjmaFb_opgVqB-CIPQEVQ6Ffrkt8BsU0,439214
|
|
57
|
+
eodag/resources/ext_collections.json,sha256=tEaokFOh37iWzXocWzDH68Vb7zS4vdn09NkRNY6khmQ,2635905
|
|
58
|
+
eodag/resources/ext_product_types.json,sha256=5AHQ6O8BqilEQBoXWDdb12FZHJW1CHEfHJPe-RmPKzI,2526068
|
|
59
|
+
eodag/resources/locations_conf_template.yml,sha256=_eBv-QKHYMIKhY0b0kp4Ee33RsayxN8LWH3kDXxfFSk,986
|
|
60
|
+
eodag/resources/providers.yml,sha256=eIe6o_h5U22OiExRopEXeKNUZnl6q1y0iocxjQqzZeY,227976
|
|
61
|
+
eodag/resources/stac_provider.yml,sha256=ROin3Nvu0hJP1dZWulJH57MsMiGtsZrGf8wUFDBq6aU,4530
|
|
62
|
+
eodag/resources/user_conf_template.yml,sha256=jqyWzPDm7_61ooVG7JcgHnfOypNnXvOie_tqROdSeRs,7348
|
|
63
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt,sha256=CHSo_jbv-4d4D0MYRbWn2FvmV_K9mYzo7qznF4YNO3g,7
|
|
64
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.cpg,sha256=FG1nif_gM6UpfBrQRuamLuNTGbhrAhRE8FtuoqqKH0o,6
|
|
65
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.dbf,sha256=uEEO22hZ_crWxMNhuQ_ix889c1Us1awYXAglxbf1K-s,393747
|
|
66
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.prj,sha256=oaohy2UQUlLMiTy3HhYS1Kurl_7z3A3LYcOmVf_TbNo,148
|
|
67
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.shp,sha256=GMVJQ1pe0JfaJnVfAew0MvembDJDkfUs0To2Qc82Aos,181628
|
|
68
|
+
eodag/resources/shp/ne_110m_admin_0_map_units.shx,sha256=N74fDl6sQAljmHQ_e9DO7suO6BXuwC0LwmriAnDBH-U,1564
|
|
69
|
+
eodag/types/__init__.py,sha256=CCNBBM1NTq5UkN7s5zdl-uZdT8nOGX0z9Y8g7kwEyAw,16150
|
|
70
|
+
eodag/types/bbox.py,sha256=jbfX58KOKIl0OoGZc93kAYhG_mEOjuBQGJtR2hl3-_Y,4354
|
|
71
|
+
eodag/types/download_args.py,sha256=urSl5KbLRN1XetMa2XzxYltny8CCFmHpjxU3j3BEGO8,1565
|
|
72
|
+
eodag/types/queryables.py,sha256=4hWTUMqs_SOKae6n_GjMrqG-Sf3_e8xVi8dcZeJdS5s,8865
|
|
73
|
+
eodag/types/search_args.py,sha256=hnLID6n8lKbisVYO45xos_5ndkofCNYxzwCGTgdminA,5648
|
|
74
|
+
eodag/utils/__init__.py,sha256=O1pbvcyvg3A3VEuE7kIINVoWNOP-BDLTqNTA_e2dJeU,56770
|
|
75
|
+
eodag/utils/cache.py,sha256=UNvnzhJnNBuKLdH_0KnhuTMlBvz4GS3nr2IH2Lj6Swc,2580
|
|
76
|
+
eodag/utils/dates.py,sha256=dSKmWC3spQrpo0XLYAnUe32k3SPHQ9yih_K3nQ7z1fE,7470
|
|
77
|
+
eodag/utils/env.py,sha256=_sgCzDmaJnMnCv1qk9xe9jBhBKqqXbEYmsyGYwYw4NI,1085
|
|
78
|
+
eodag/utils/exceptions.py,sha256=UE2RQ9BJFDIdqQHZZ1bH_pk1vXkpQieUFVY_cK2vlxI,4576
|
|
79
|
+
eodag/utils/free_text_search.py,sha256=k0CrzMslrBrPYTEWOrGOAnwuy6Ktt7NPz07illkRCyM,8066
|
|
80
|
+
eodag/utils/import_system.py,sha256=1vwcSRlsZwuaP8ssrpRBP5jldZ54eLv2ttNCdLf0TtA,3901
|
|
81
|
+
eodag/utils/logging.py,sha256=KoMsyS1f6O1hr_SMDOIxvt842mOJgmu_yLUk0-0EKFs,3507
|
|
82
|
+
eodag/utils/notebook.py,sha256=AUxtayvu26qYf3x3Eu3ujRl1XDgy24EfQaETbqmXSZw,2703
|
|
83
|
+
eodag/utils/repr.py,sha256=o6NhScogBPI69m83GsHh3hXONb9-byPfuWgJ1U39Kfw,5463
|
|
84
|
+
eodag/utils/requests.py,sha256=avNHKrOZ7Kp6lUA7u4kqupIth9MoirLzDsMrrmQDt4s,4560
|
|
85
|
+
eodag/utils/s3.py,sha256=eESanPLVv-Luqo_o1WgUuO7YLqiXg_iEzHZ15fu-ugY,30063
|
|
86
|
+
eodag/utils/stac_reader.py,sha256=8r6amio5EtwGF9iu9zHaGDz4oUPKKeXRuyTzPNakrO4,9406
|
|
87
|
+
eodag-4.0.0a1.dist-info/licenses/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
|
|
88
|
+
eodag-4.0.0a1.dist-info/METADATA,sha256=yt1i2jjok0axgs8ap96_ZZCukSLqj64GAvHDXZGbLAY,12669
|
|
89
|
+
eodag-4.0.0a1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
90
|
+
eodag-4.0.0a1.dist-info/entry_points.txt,sha256=atMIh-Q4hRsOdw1_778mDIhWFHQJigEo3x-0fMqhqLE,2254
|
|
91
|
+
eodag-4.0.0a1.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
|
|
92
|
+
eodag-4.0.0a1.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,64 +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 typing import Optional
|
|
19
|
-
|
|
20
|
-
from eodag import EOProduct
|
|
21
|
-
from eodag.plugins.download.aws import AwsDownload
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class CreodiasS3Download(AwsDownload):
|
|
25
|
-
"""
|
|
26
|
-
Download on creodias s3 from their VMs (extension of :class:`~eodag.plugins.download.aws.AwsDownload`)
|
|
27
|
-
|
|
28
|
-
:param provider: provider name
|
|
29
|
-
:param config: Download plugin configuration:
|
|
30
|
-
|
|
31
|
-
* :attr:`~eodag.config.PluginConfig.type` (``str``) (**mandatory**): CreodiasS3Download
|
|
32
|
-
* :attr:`~eodag.config.PluginConfig.base_uri` (``str``) (**mandatory**): s3 endpoint url
|
|
33
|
-
* :attr:`~eodag.config.PluginConfig.s3_bucket` (``str``) (**mandatory**): bucket where the products can be found
|
|
34
|
-
* :attr:`~eodag.config.PluginConfig.ssl_verify` (``bool``): if the ssl certificates should be
|
|
35
|
-
verified in requests; default: ``True``
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
def _get_bucket_names_and_prefixes(
|
|
39
|
-
self,
|
|
40
|
-
product: EOProduct,
|
|
41
|
-
asset_filter: Optional[str],
|
|
42
|
-
ignore_assets: bool,
|
|
43
|
-
complementary_url_keys: list[str],
|
|
44
|
-
) -> list[tuple[str, Optional[str]]]:
|
|
45
|
-
"""
|
|
46
|
-
Retrieves the bucket names and path prefixes for the assets
|
|
47
|
-
|
|
48
|
-
:param product: product for which the assets shall be downloaded
|
|
49
|
-
:param asset_filter: text for which the assets should be filtered
|
|
50
|
-
:param ignore_assets: if product instead of individual assets should be used
|
|
51
|
-
:return: tuples of bucket names and prefixes
|
|
52
|
-
"""
|
|
53
|
-
# if assets are defined, use them instead of scanning product.location
|
|
54
|
-
if len(product.assets) > 0 and not ignore_assets:
|
|
55
|
-
bucket_names_and_prefixes = super()._get_bucket_names_and_prefixes(
|
|
56
|
-
product, asset_filter, ignore_assets, complementary_url_keys
|
|
57
|
-
)
|
|
58
|
-
else:
|
|
59
|
-
# if no assets are given, use productIdentifier to get S3 path for download
|
|
60
|
-
s3_url = "s3:/" + product.properties["productIdentifier"]
|
|
61
|
-
bucket_names_and_prefixes = [
|
|
62
|
-
self.get_product_bucket_name_and_prefix(product, s3_url)
|
|
63
|
-
]
|
|
64
|
-
return bucket_names_and_prefixes
|