eodag 3.0.0b3__py3-none-any.whl → 3.1.0b1__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 (77) hide show
  1. eodag/api/core.py +292 -198
  2. eodag/api/product/_assets.py +6 -6
  3. eodag/api/product/_product.py +18 -18
  4. eodag/api/product/metadata_mapping.py +51 -14
  5. eodag/api/search_result.py +29 -3
  6. eodag/cli.py +57 -20
  7. eodag/config.py +413 -117
  8. eodag/plugins/apis/base.py +10 -4
  9. eodag/plugins/apis/ecmwf.py +49 -16
  10. eodag/plugins/apis/usgs.py +30 -7
  11. eodag/plugins/authentication/aws_auth.py +14 -5
  12. eodag/plugins/authentication/base.py +10 -1
  13. eodag/plugins/authentication/generic.py +14 -3
  14. eodag/plugins/authentication/header.py +12 -4
  15. eodag/plugins/authentication/keycloak.py +41 -22
  16. eodag/plugins/authentication/oauth.py +11 -1
  17. eodag/plugins/authentication/openid_connect.py +178 -163
  18. eodag/plugins/authentication/qsauth.py +12 -4
  19. eodag/plugins/authentication/sas_auth.py +19 -2
  20. eodag/plugins/authentication/token.py +93 -15
  21. eodag/plugins/authentication/token_exchange.py +19 -19
  22. eodag/plugins/crunch/base.py +4 -1
  23. eodag/plugins/crunch/filter_date.py +5 -2
  24. eodag/plugins/crunch/filter_latest_intersect.py +5 -4
  25. eodag/plugins/crunch/filter_latest_tpl_name.py +1 -1
  26. eodag/plugins/crunch/filter_overlap.py +5 -7
  27. eodag/plugins/crunch/filter_property.py +6 -6
  28. eodag/plugins/download/aws.py +50 -34
  29. eodag/plugins/download/base.py +41 -50
  30. eodag/plugins/download/creodias_s3.py +40 -2
  31. eodag/plugins/download/http.py +221 -195
  32. eodag/plugins/download/s3rest.py +25 -25
  33. eodag/plugins/manager.py +168 -23
  34. eodag/plugins/search/base.py +106 -39
  35. eodag/plugins/search/build_search_result.py +1065 -324
  36. eodag/plugins/search/cop_marine.py +112 -29
  37. eodag/plugins/search/creodias_s3.py +45 -24
  38. eodag/plugins/search/csw.py +41 -1
  39. eodag/plugins/search/data_request_search.py +109 -9
  40. eodag/plugins/search/qssearch.py +549 -257
  41. eodag/plugins/search/static_stac_search.py +20 -21
  42. eodag/resources/ext_product_types.json +1 -1
  43. eodag/resources/product_types.yml +577 -87
  44. eodag/resources/providers.yml +1619 -2776
  45. eodag/resources/stac.yml +3 -163
  46. eodag/resources/user_conf_template.yml +112 -97
  47. eodag/rest/config.py +1 -2
  48. eodag/rest/constants.py +0 -1
  49. eodag/rest/core.py +138 -98
  50. eodag/rest/errors.py +181 -0
  51. eodag/rest/server.py +55 -329
  52. eodag/rest/stac.py +93 -544
  53. eodag/rest/types/eodag_search.py +19 -8
  54. eodag/rest/types/queryables.py +6 -8
  55. eodag/rest/types/stac_search.py +11 -2
  56. eodag/rest/utils/__init__.py +3 -0
  57. eodag/types/__init__.py +71 -18
  58. eodag/types/download_args.py +3 -3
  59. eodag/types/queryables.py +180 -73
  60. eodag/types/search_args.py +3 -3
  61. eodag/types/whoosh.py +126 -0
  62. eodag/utils/__init__.py +147 -66
  63. eodag/utils/exceptions.py +47 -26
  64. eodag/utils/logging.py +37 -77
  65. eodag/utils/repr.py +65 -6
  66. eodag/utils/requests.py +11 -13
  67. eodag/utils/stac_reader.py +1 -1
  68. {eodag-3.0.0b3.dist-info → eodag-3.1.0b1.dist-info}/METADATA +80 -81
  69. eodag-3.1.0b1.dist-info/RECORD +108 -0
  70. {eodag-3.0.0b3.dist-info → eodag-3.1.0b1.dist-info}/WHEEL +1 -1
  71. {eodag-3.0.0b3.dist-info → eodag-3.1.0b1.dist-info}/entry_points.txt +4 -2
  72. eodag/resources/constraints/climate-dt.json +0 -13
  73. eodag/resources/constraints/extremes-dt.json +0 -8
  74. eodag/utils/constraints.py +0 -244
  75. eodag-3.0.0b3.dist-info/RECORD +0 -110
  76. {eodag-3.0.0b3.dist-info → eodag-3.1.0b1.dist-info}/LICENSE +0 -0
  77. {eodag-3.0.0b3.dist-info → eodag-3.1.0b1.dist-info}/top_level.txt +0 -0
@@ -1,8 +0,0 @@
1
- [
2
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["oper"], "levtype": ["hl"], "levelist": ["100"], "step": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96"], "param": ["228246", "228247"]},
3
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["oper"], "levtype": ["pl"], "levelist": ["1000", "925", "850", "700", "600", "500", "400", "300", "250", "200", "150", "100", "70", "50", "30", "20", "10", "5", "1"], "step": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96"], "param": ["129", "130", "131", "132", "133", "157"]},
4
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["oper"], "levtype": ["sfc"], "step": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96"], "param": ["31", "34", "78", "134", "136", "137", "151", "165", "166", "167", "168", "3020", "228029", "228050", "228218", "228219", "228221", "228235", "260015"]},
5
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["oper"], "levtype": ["sfc"], "step": ["0-1", "1-2", "2-3", "3-4", "4-5", "5-6", "6-7", "7-8", "8-9", "9-10", "10-11", "11-12", "12-13", "13-14", "14-15", "15-16", "16-17", "17-18", "18-19", "19-20", "20-21", "21-22", "22-23", "23-24", "24-25", "25-26", "26-27", "27-28", "28-29", "29-30", "30-31", "31-32", "32-33", "33-34", "34-35", "35-36", "36-37", "37-38", "38-39", "39-40", "40-41", "41-42", "42-43", "43-44", "44-45", "45-46", "46-47", "47-48", "48-49", "49-50", "50-51", "51-52", "52-53", "53-54", "54-55", "55-56", "56-57", "57-58", "58-59", "59-60", "60-61", "61-62", "62-63", "63-64", "64-65", "65-66", "66-67", "67-68", "68-69", "69-70", "70-71", "71-72", "72-73", "73-74", "74-75", "75-76", "76-77", "77-78", "78-79", "79-80", "80-81", "81-82", "82-83", "83-84", "84-85", "85-86", "86-87", "87-88", "88-89", "89-90", "90-91", "91-92", "92-93", "93-94", "94-95", "95-96"], "param": ["142", "144", "169", "175", "176", "177", "178", "179", "180", "181", "205", "228", "228216"]},
6
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["oper"], "levtype": ["sfc"], "step": ["0-6", "6-12", "12-18", "18-24", "24-30", "30-36", "36-42", "42-48", "48-54", "54-60", "60-66", "66-72", "72-78", "78-84", "84-90", "90-96"], "param": ["228058"]},
7
- {"class": ["d1"], "dataset": ["extremes-dt"], "expver": ["0001"], "type": ["fc"], "date": ["20240404", "20240405", "20240406", "20240407", "20240408", "20240409", "20240410", "20240411", "20240412"], "time": ["0000"], "stream": ["wave"], "levtype": ["sfc"], "step": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96"], "param": ["140221", "140229", "140230", "140231", "140232"]}
8
- ]
@@ -1,244 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Copyright 2024, CS Systemes d'Information, 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
- import copy
19
- import logging
20
- from typing import Any, Dict, List, Set, Union
21
-
22
- from requests.auth import AuthBase
23
-
24
- from eodag.api.product.metadata_mapping import get_provider_queryable_key
25
- from eodag.plugins.apis.base import Api
26
- from eodag.plugins.search.base import Search
27
- from eodag.utils import deepcopy
28
- from eodag.utils.exceptions import RequestError, ValidationError
29
- from eodag.utils.requests import fetch_json
30
-
31
- logger = logging.getLogger("eodag.constraints")
32
-
33
-
34
- def get_constraint_queryables_with_additional_params(
35
- constraints: List[Any],
36
- input_params: Dict[str, Any],
37
- plugin: Union[Search, Api],
38
- product_type: str,
39
- ) -> Dict[str, Dict[str, Set[Any]]]:
40
- """
41
- gets the queryables from the constraints using the given parameters
42
- For all queryables only values matching the given parameters based on the constraints will be returned
43
- :param constraints: list of constraints fetched from the provider
44
- :param input_params: conditions the constraints should fulfil
45
- :param plugin: search or api plugin that is used
46
- :param product_type: product type for which the data should be fetched
47
- :returns: dict containing queryable data
48
- """
49
- defaults = copy.deepcopy(input_params)
50
- constraint_matches = {}
51
- params = {k: v for k, v in defaults.items() if v}
52
- for p in params.keys():
53
- defaults.pop(p, None)
54
- params_available = {k: False for k in params.keys()}
55
- # check which constraints match the given parameters
56
- eodag_provider_key_mapping = {}
57
- values_available: Dict[str, Set[Any]] = {k: set() for k in params.keys()}
58
- metadata_mapping = plugin.config.products.get(product_type, {}).get(
59
- "metadata_mapping", {}
60
- )
61
- if not metadata_mapping:
62
- metadata_mapping = plugin.config.metadata_mapping
63
- for i, constraint in enumerate(constraints):
64
- params_matched = {k: False for k in params.keys()}
65
- for param, value in params.items():
66
- provider_key = get_provider_queryable_key(
67
- param, constraint, metadata_mapping
68
- )
69
- if provider_key and provider_key in constraint:
70
- eodag_provider_key_mapping[provider_key] = param
71
- params_available[param] = True
72
- if (
73
- isinstance(value, list)
74
- and all([v in constraint[provider_key] for v in value])
75
- or not isinstance(value, list)
76
- and value in constraint[provider_key]
77
- ):
78
- params_matched[param] = True
79
- elif isinstance(value, str):
80
- # for Copernicus providers, values can be multiple and represented with a string
81
- # separated by slashes (example: time = "0000/0100/0200")
82
- values = value.split("/")
83
- params_matched[param] = all(
84
- [v in constraint[provider_key] for v in values]
85
- )
86
- values_available[param].update(constraint[provider_key])
87
- # match with default values of params
88
- for default_param, default_value in defaults.items():
89
- provider_key = get_provider_queryable_key(
90
- default_param,
91
- constraint,
92
- metadata_mapping,
93
- )
94
- if provider_key and provider_key in constraint:
95
- eodag_provider_key_mapping[provider_key] = default_param
96
- params_matched[default_param] = False
97
- if default_value in constraint[provider_key]:
98
- params_matched[default_param] = True
99
- constraint_matches[i] = params_matched
100
-
101
- # check if all parameters are available in the constraints
102
- not_available_params = set()
103
- for param, available in params_available.items():
104
- if not available:
105
- not_available_params.add(param)
106
- if not_available_params:
107
- return {"not_available": {"enum": not_available_params}}
108
-
109
- # clear constraint_matches if no combination matches
110
- matching_combinations = [
111
- False not in v.values() for v in constraint_matches.values()
112
- ]
113
- if not any(matching_combinations):
114
- constraint_matches = {}
115
-
116
- # add values of constraints matching params
117
- queryables: Dict[str, Dict[str, Set[Any]]] = {}
118
- for num, matches in constraint_matches.items():
119
- for key in constraints[num]:
120
- other_keys_matching = [v for k, v in matches.items() if k != key]
121
- key_matches_a_constraint = any(
122
- v.get(key, False) for v in constraint_matches.values()
123
- )
124
- if False in other_keys_matching or (
125
- not key_matches_a_constraint and key in matches
126
- ):
127
- continue
128
- if key in queryables:
129
- queryables[key]["enum"].update(constraints[num][key])
130
- else:
131
- queryables[key] = {}
132
- queryables[key]["enum"] = set(constraints[num][key])
133
-
134
- other_values = _get_other_possible_values_for_values_with_defaults(
135
- defaults, params, constraints, metadata_mapping
136
- )
137
- for key in queryables:
138
- if key in other_values:
139
- queryables[key]["enum"].update(other_values[key])
140
-
141
- # check if constraints matching params have been found
142
- if len(queryables) == 0:
143
- if len(params) > 1:
144
- raise ValidationError(
145
- f"combination of values {str(params)} is not possible"
146
- )
147
- elif len(params) == 1 and len(defaults) > 0:
148
- raise ValidationError(
149
- f"value {list(params.values())[0]} not available for param {list(params.keys())[0]} "
150
- f"with default values {str(defaults)}"
151
- )
152
-
153
- elif len(params) == 1:
154
- raise ValidationError(
155
- f"value {list(params.values())[0]} not available for param {list(params.keys())[0]}, "
156
- f"possible values: {str(sorted(values_available[list(params.keys())[0]]))}"
157
- )
158
- else:
159
- raise ValidationError(
160
- f"no constraints matching default params {str(defaults)} found"
161
- )
162
-
163
- return queryables
164
-
165
-
166
- def fetch_constraints(
167
- constraints_url: str, plugin: Union[Search, Api]
168
- ) -> List[Dict[Any, Any]]:
169
- """
170
- fetches the constraints from a provider
171
- :param constraints_url: url from which the constraints can be fetched
172
- :param plugin: api or search plugin of the provider
173
- :returns: list of constraints fetched from the provider
174
- """
175
- auth = (
176
- plugin.auth
177
- if hasattr(plugin, "auth") and isinstance(plugin.auth, AuthBase)
178
- else None
179
- )
180
- try:
181
- constraints_data = fetch_json(constraints_url, auth=auth)
182
- except RequestError as err:
183
- logger.error(str(err))
184
- return []
185
-
186
- config = plugin.config.__dict__
187
- if (
188
- "constraints_entry" in config
189
- and config["constraints_entry"]
190
- and config["constraints_entry"] in constraints_data
191
- ):
192
- constraints = constraints_data[config["constraints_entry"]]
193
- elif config.get("stop_without_constraints_entry_key", False):
194
- return []
195
- else:
196
- constraints = constraints_data
197
- return constraints
198
-
199
-
200
- def _get_other_possible_values_for_values_with_defaults(
201
- defaults: Dict[str, Any],
202
- params: Dict[str, Any],
203
- constraints: List[Dict[Any, Any]],
204
- metadata_mapping: Dict[str, Union[str, list]],
205
- ) -> Dict[str, Set[Any]]:
206
- possible_values = {}
207
- for param, default_value in defaults.items():
208
- fixed_params = deepcopy(params)
209
- param_values = set()
210
- for p in defaults:
211
- if p != param:
212
- fixed_params[p] = defaults[p]
213
- for constraint in constraints:
214
- provider_key = get_provider_queryable_key(
215
- param, constraint, metadata_mapping
216
- )
217
- if not provider_key:
218
- provider_key = param
219
- if (
220
- _matches_constraint(constraint, fixed_params, metadata_mapping)
221
- and provider_key in constraint
222
- ):
223
- param_values.update(constraint[provider_key])
224
- possible_values[provider_key] = param_values
225
- return possible_values
226
-
227
-
228
- def _matches_constraint(
229
- constraint: Dict[Any, Any],
230
- params: Dict[str, Any],
231
- metadata_mapping: Dict[str, Union[str, list]],
232
- ) -> bool:
233
- for p in params:
234
- provider_key = get_provider_queryable_key(p, constraint, metadata_mapping)
235
- if provider_key not in constraint:
236
- continue
237
- if isinstance(params[p], list):
238
- for value in params[p]:
239
- if value not in constraint[provider_key]:
240
- return False
241
- else:
242
- if params[p] not in constraint[provider_key]:
243
- return False
244
- return True
@@ -1,110 +0,0 @@
1
- eodag/__init__.py,sha256=qADIO6H3KR0CMs0qePdJROjSzcGnHaYpv-RFIk18WGQ,1608
2
- eodag/cli.py,sha256=v3cyHFuH2LJVu7d_wKeKlPikFjO0H3I81nqTKGel0Gk,28704
3
- eodag/config.py,sha256=BW5poLGrInU7e4Afm0983uxGWL2mF3-Nf2_jOuRq3e4,27665
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=BthN4mekd1JfJRIQIiuz65nTIM6JqFPIHVjL6Hk3uS0,105489
8
- eodag/api/search_result.py,sha256=r6LkozK42FDB0jCEwUMyhgZZVy7dyVYO59VRtFzj6_A,7717
9
- eodag/api/product/__init__.py,sha256=klSKudmnHHeXvcwIX6Y30UTiP39tMfTwLNexSnAZnx0,1154
10
- eodag/api/product/_assets.py,sha256=FfV9K_bsQzx0ZZ-xblK-t4kRlVYaER8eQJit6pRGsO4,6287
11
- eodag/api/product/_product.py,sha256=40RcEBGkLE-iCaQCVofVNOrDdeldoecKMgGcX7gT7-g,22990
12
- eodag/api/product/metadata_mapping.py,sha256=DXRQiG3q4mrYQ7NdLVniXgPp8MIZh_AlQsa3JLrIsW4,69925
13
- eodag/api/product/drivers/__init__.py,sha256=67fvk_Zmuasrlw7TYP5GfM5Z4fS5a4KjfohHFhg-WiU,1035
14
- eodag/api/product/drivers/base.py,sha256=TL_Kqbi7g4mLKn4CiBXrsAiTPVVFQBYY7DuG8pVlrlc,1793
15
- eodag/plugins/__init__.py,sha256=KQkD5aVwb9I6C-Rmi5ABEG1-j8w5FP1zKN12vagsT9Y,739
16
- eodag/plugins/base.py,sha256=I-kxG83mh805kZldrgl--VTVBzDNtyE8f_MRkm1VLCY,2689
17
- eodag/plugins/manager.py,sha256=dL3N90VZhA8PUNRIcpiD30C3K6UhJO41Cr2TkHbPENQ,14749
18
- eodag/plugins/apis/__init__.py,sha256=PyY4f7P2iu3MkLPnw5eOrVew2fuavbBL3Asci3Ulwoo,744
19
- eodag/plugins/apis/base.py,sha256=92Us1K9Ar1lGspXRCJzoFdp_P789Ix7WoAN9Yn2QF30,2657
20
- eodag/plugins/apis/ecmwf.py,sha256=qiJNo82msdu3hsNOYXR8efz5Fofmdd5HTgIA3ByKcLQ,9984
21
- eodag/plugins/apis/usgs.py,sha256=vpg5dotnn6QfhvTUPKdEPi3zsIQqb38nZ3A57CvSwso,17902
22
- eodag/plugins/authentication/__init__.py,sha256=_LVw42Bb1IhGAZH5xHRaS4b1iFoF9e27KDZOyoSoJHY,1039
23
- eodag/plugins/authentication/aws_auth.py,sha256=aCzQadBFoKoTTSvS18C_aBiB5dWcSzEAaoUCsHLHCqg,2647
24
- eodag/plugins/authentication/base.py,sha256=3UjNfOe1zAZbVG7CXi6CrOPG5ltwtl1ZUk3BtbpzSn4,2166
25
- eodag/plugins/authentication/generic.py,sha256=cgC7VTFUPzqTbTHgoWTdnzlQ1i26hIUoKQOfkwta9Ps,1846
26
- eodag/plugins/authentication/header.py,sha256=mAduHrwu4rhJpneuvocQ765XRxMICZij614TfgxM_J4,3922
27
- eodag/plugins/authentication/keycloak.py,sha256=eJIIldEyh63MKZOWnEAxPyzSEZEU2Aw7R8BITEyqkT8,5964
28
- eodag/plugins/authentication/oauth.py,sha256=x39Fcx6x1mOwc5BlukrJCVnGVu1XhU6ikRCWsQip5q0,1545
29
- eodag/plugins/authentication/openid_connect.py,sha256=KwM1hjBNY4Olk8ytmdJ07C9vAjrk_agQhWr6HzqGIL4,22434
30
- eodag/plugins/authentication/qsauth.py,sha256=54bI9V6cn6LcLR5q2lKBVuY3BqiKG5zdIeYBrgRj6zI,3614
31
- eodag/plugins/authentication/sas_auth.py,sha256=cOpXqKHKXM-PWXCEbpZzDoa5hWjKT512k8aYC-HgeHM,3939
32
- eodag/plugins/authentication/token.py,sha256=3QIHekwJMu8_cOZjmq1LNHkAylWqVoIgTBeOLlgoz_M,8103
33
- eodag/plugins/authentication/token_exchange.py,sha256=KsWXNw-zywh3t8AvAyFOYqWHP6PmsdfAeb53xp-gj_M,4447
34
- eodag/plugins/crunch/__init__.py,sha256=58D7kJhEpHJWobIKaNFPynfbSqAWgS90BiHzitqS5Ds,746
35
- eodag/plugins/crunch/base.py,sha256=bS2sQlOvHvBTeBRZWK1FNrQyNDrLAokLIRF61VXWR8c,1381
36
- eodag/plugins/crunch/filter_date.py,sha256=p6GbbatxAVDBLy3nWQb7lQ2qbZc98iQX8qJCpPC5eSM,4339
37
- eodag/plugins/crunch/filter_latest_intersect.py,sha256=IHvXNdZNHL1LntBQR4s9-G5KfMY_tTmjm18tkxhMBJY,4351
38
- eodag/plugins/crunch/filter_latest_tpl_name.py,sha256=EtbedumAW_jAI-fs_xTrn1Bfr25UVTSAM9beiQXFYoc,3679
39
- eodag/plugins/crunch/filter_overlap.py,sha256=Chv1nN-YrFUokeuG_Qstk2D8uMQVK1v6ogei7Tgwmus,7194
40
- eodag/plugins/crunch/filter_property.py,sha256=-Mkoz6nZ3Yc6l6ZXC6PHGXvJzUzO568-I5zQExlD-jM,3212
41
- eodag/plugins/download/__init__.py,sha256=zqszaeNgYP0YHlZDkLMf6odcwNw0KrAahGpcA-l0kAw,740
42
- eodag/plugins/download/aws.py,sha256=wfBHunFKnYa3iZSxvaD1dNm14VTqDmTj65zbHxnbR-s,54334
43
- eodag/plugins/download/base.py,sha256=LAaStZDNavTVyUD9AiTsAoj9PlEz62mZQqk-jbl5Xfc,30138
44
- eodag/plugins/download/creodias_s3.py,sha256=xAg_wxBiQ2PrIW9PYvLIU9bJAjl1PnRRumirE-b19Uo,2255
45
- eodag/plugins/download/http.py,sha256=Ks7e3tCitcgVc7K5RvQAXjuhOPIsZqIUwxP_ornQ0Bc,54905
46
- eodag/plugins/download/s3rest.py,sha256=o1lVWNVc8_Kz7ieWY1F4iHeXBsEG8rV7t8MtjjAd7tI,14452
47
- eodag/plugins/search/__init__.py,sha256=-1M-AB81A8KwLSEhSiNNEA77ecUvmvp4dUL8J1C1wFA,1986
48
- eodag/plugins/search/base.py,sha256=mo_lC8eST5BlYDFaiVkIWwSUsz1G0k_QkEZ_8RqJeKE,15310
49
- eodag/plugins/search/build_search_result.py,sha256=FpdcWzA_7-6KPucbVN9XNdWYHY2qNkGPitK01wW2MHs,21814
50
- eodag/plugins/search/cop_marine.py,sha256=MMh6WAKCuNYm31m-Q5XGBT39kPxZ-ygcGrYi29RTbz8,15055
51
- eodag/plugins/search/creodias_s3.py,sha256=2YRIfnoxuEzaShueyvlwHlcOwScjaK4COPABE-Y6A3A,5530
52
- eodag/plugins/search/csw.py,sha256=qZkjd_HtZwmCSOqeCEgJUJ9GEgfKks0VmwRi12zjrQU,9664
53
- eodag/plugins/search/data_request_search.py,sha256=UVpg0ECmBOQEKwjjdG-k6jX_QbAPc0szjTv0-7Cj50o,18833
54
- eodag/plugins/search/qssearch.py,sha256=WwWcrVVeDr5keaauemNZkUYUDOkDhu0mwHyJnomLtjA,74194
55
- eodag/plugins/search/static_stac_search.py,sha256=wZCOXw1YMk7kuO5nr5n_spJ2m6WYkDwclRdOh7dFsOk,8918
56
- eodag/resources/ext_product_types.json,sha256=qq34BtukSpdOTFPe1iLBZbk0boGO9Ls3IgvgD5FEv-4,1560666
57
- eodag/resources/locations_conf_template.yml,sha256=_eBv-QKHYMIKhY0b0kp4Ee33RsayxN8LWH3kDXxfFSk,986
58
- eodag/resources/product_types.yml,sha256=-tcOCE3Armw86TXS4VkDiU2WC3HeS1bfLxE5A5jV1bk,364131
59
- eodag/resources/providers.yml,sha256=jqvycOqxbV6PZRRseRNxPPpP8nUz59nVp_0LXv_SyWQ,255548
60
- eodag/resources/stac.yml,sha256=PWIwzr-du7XfV7Jz3F9tTeMkZzUbh1gVTYnJkwVoch0,15204
61
- eodag/resources/stac_api.yml,sha256=3wz1rAfxb_IWJHBdIONA7JPpAYVJpo9pzlSPFwfb41s,68893
62
- eodag/resources/stac_provider.yml,sha256=2yfdnuhJYV1f5el3aFkunoPqHAcD8oCDzvASbmldIvY,6703
63
- eodag/resources/user_conf_template.yml,sha256=3V02VIypIJQVxxwfSIpFHNEvcroeW00echsVRmno9ec,7404
64
- eodag/resources/constraints/climate-dt.json,sha256=4JjtzvOKdRTi22d2R0rqVpJbfO7TWfpdDqttRSyGsaI,247814
65
- eodag/resources/constraints/extremes-dt.json,sha256=b7AVXWWdygqHPRdqR8gxStkJy5ou6ds2utfAJzaVyQA,5507
66
- eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt,sha256=CHSo_jbv-4d4D0MYRbWn2FvmV_K9mYzo7qznF4YNO3g,7
67
- eodag/resources/shp/ne_110m_admin_0_map_units.cpg,sha256=FG1nif_gM6UpfBrQRuamLuNTGbhrAhRE8FtuoqqKH0o,6
68
- eodag/resources/shp/ne_110m_admin_0_map_units.dbf,sha256=uEEO22hZ_crWxMNhuQ_ix889c1Us1awYXAglxbf1K-s,393747
69
- eodag/resources/shp/ne_110m_admin_0_map_units.prj,sha256=oaohy2UQUlLMiTy3HhYS1Kurl_7z3A3LYcOmVf_TbNo,148
70
- eodag/resources/shp/ne_110m_admin_0_map_units.shp,sha256=GMVJQ1pe0JfaJnVfAew0MvembDJDkfUs0To2Qc82Aos,181628
71
- eodag/resources/shp/ne_110m_admin_0_map_units.shx,sha256=N74fDl6sQAljmHQ_e9DO7suO6BXuwC0LwmriAnDBH-U,1564
72
- eodag/rest/__init__.py,sha256=v4SI9gLuFP81YXi5_k98lvVNGzz6h8YZ_aUdhKAbE2M,916
73
- eodag/rest/cache.py,sha256=zGqVt8AAbqwhRmWmAbRPLMJgEb1ZD67WO-QnWwoe3a4,2103
74
- eodag/rest/config.py,sha256=mNXmixiRBpV_39sUlrl_r2H7PFyYfHyvvv1mxy49xjg,2141
75
- eodag/rest/constants.py,sha256=HJgCQcMgSdBgwYX9-ozNlrFT-htU2-lxLGuGqp1nR6E,977
76
- eodag/rest/core.py,sha256=vtJLG4V6NR67zzRfjzk7SXZoI38XH4REAODz4t2UUq8,24645
77
- eodag/rest/server.py,sha256=-R6zfSyfmSaFqRgI-QZYevEwsBZaYp3qFzqyNPGiX_0,26600
78
- eodag/rest/server.wsgi,sha256=ssM4JQi8tZpOYj03CTdM0weyUF1b3Lbh38pdD-vBfXs,152
79
- eodag/rest/stac.py,sha256=0ag5JfuDsxAQffXtKVnjuOo367Qo9gso1WQy5zqj9Wk,52644
80
- eodag/rest/templates/README,sha256=qFgCBE6XC4YiXkpPoSHkYbMTQr8Zg5Wc5eAKVcooXmw,57
81
- eodag/rest/types/__init__.py,sha256=Bu0C3dzXHe8kocnz2PIHV0GjQWlAQas6ToIfwusNPQs,742
82
- eodag/rest/types/collections_search.py,sha256=76dvL9y_Cq0ERoJdAn6btXx-0EFWxlfPYSoO7xkFA7c,1533
83
- eodag/rest/types/eodag_search.py,sha256=kkhsrSbTaXle-q6NYwzp3_8Ddc26DTwd1iStXWV_CVg,13876
84
- eodag/rest/types/queryables.py,sha256=dUNgdYxvZOzzi_D43IeaK3Rq2W7L-yVNGnl0iydseDM,6310
85
- eodag/rest/types/stac_search.py,sha256=5lfwVJUpOpGrDOiv1Hn2GanpwjH0HfkfaWxGNnC4Efo,8813
86
- eodag/rest/utils/__init__.py,sha256=D6SWRK_UF3yY-s1PweehJ1Oesnyw6ySMrhxQzjn3dJs,6544
87
- eodag/rest/utils/cql_evaluate.py,sha256=cren4gxNyi_3gIEq0CADpqyi5sVnr93rY26CXWCyM3Y,4106
88
- eodag/rest/utils/rfc3339.py,sha256=pZf6PXpUiQCNLAd-EJwgQ0sHJdTwac2RDEUv92LG3Os,2241
89
- eodag/types/__init__.py,sha256=YDBVb5LrLdkXwDXh-7J18BLWJP6ZtR0vbRqL42HiJO0,11772
90
- eodag/types/bbox.py,sha256=okc8oFgvoSTQnXJew740i41HArAoSD36Xjr_XmZ1Q4M,4373
91
- eodag/types/download_args.py,sha256=xP4cLBocbJsscaJBGUFIDeif3HSe9pTusMTT_PKA5H8,1554
92
- eodag/types/queryables.py,sha256=oELD822--6aZiJGG82eIH3HLKHcmUpXW-gL5TtaN-WQ,6010
93
- eodag/types/search_args.py,sha256=Luw7nXxHxWsFzfCvGFcADpFtgys2HNmqeRGpEytTL3I,5658
94
- eodag/types/whoosh.py,sha256=dmfS8UIjmdP4kLkeFK99lfiS0owzHa4bLUfB4hrXb5w,2503
95
- eodag/utils/__init__.py,sha256=K-oE4NpquCbC7f2pV0byX4_hDAPTMGmUsW84MteR8NE,48470
96
- eodag/utils/constraints.py,sha256=NAFI-UzrC0zMCG3rVzB_UeutC-sFaZPGRhlI0ytQbbE,9560
97
- eodag/utils/exceptions.py,sha256=B4OYQD8yZfgS6HK4h-o-uTK0zDlIWzQXUGuvxJZHTSE,3564
98
- eodag/utils/import_system.py,sha256=TqfRi_Kl0mzqNBapnOr3A7Y3qjCAgd7wYZ0bkPLeuJU,3908
99
- eodag/utils/logging.py,sha256=4WrqfQE7qO3i9cwXcKZjUOIkHavY3orj7x1RJsVyIiE,5064
100
- eodag/utils/notebook.py,sha256=AUxtayvu26qYf3x3Eu3ujRl1XDgy24EfQaETbqmXSZw,2703
101
- eodag/utils/repr.py,sha256=6ocR8WyatAvh0oAM40bj_FvIt_XMmu-sW0nPxbH9UnM,3683
102
- eodag/utils/requests.py,sha256=a4tkT9ZdqC74P_1e2z4ZUYXbWcDWfi2hqbBcw3zgSf4,4623
103
- eodag/utils/rest.py,sha256=Jd7HMbPCaGW5fFK1Ud0FyocEXqGInwneLFdB7mNRW9A,3361
104
- eodag/utils/stac_reader.py,sha256=qb0zN7Z1gWS2ha6lpvgup_Yv2Zuc1q154m6tdk9rumk,9237
105
- eodag-3.0.0b3.dist-info/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
106
- eodag-3.0.0b3.dist-info/METADATA,sha256=PjDOzSERHoroQliTy-Z4gfj4_XrLUfvwk2k1NhdMFvw,15731
107
- eodag-3.0.0b3.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
108
- eodag-3.0.0b3.dist-info/entry_points.txt,sha256=XKlXM_KuExc_-smc9Gf5MptkNkb-zFgz7bOX9kU7d8Y,2340
109
- eodag-3.0.0b3.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
110
- eodag-3.0.0b3.dist-info/RECORD,,