eodag 3.0.1__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 (44) hide show
  1. eodag/api/core.py +116 -86
  2. eodag/api/product/_assets.py +6 -6
  3. eodag/api/product/_product.py +18 -18
  4. eodag/api/product/metadata_mapping.py +39 -11
  5. eodag/cli.py +22 -1
  6. eodag/config.py +14 -14
  7. eodag/plugins/apis/ecmwf.py +37 -14
  8. eodag/plugins/apis/usgs.py +5 -5
  9. eodag/plugins/authentication/openid_connect.py +2 -2
  10. eodag/plugins/authentication/token.py +37 -6
  11. eodag/plugins/crunch/filter_property.py +2 -3
  12. eodag/plugins/download/aws.py +11 -12
  13. eodag/plugins/download/base.py +30 -39
  14. eodag/plugins/download/creodias_s3.py +29 -0
  15. eodag/plugins/download/http.py +144 -152
  16. eodag/plugins/download/s3rest.py +5 -7
  17. eodag/plugins/search/base.py +73 -25
  18. eodag/plugins/search/build_search_result.py +1047 -310
  19. eodag/plugins/search/creodias_s3.py +25 -19
  20. eodag/plugins/search/data_request_search.py +1 -1
  21. eodag/plugins/search/qssearch.py +51 -139
  22. eodag/resources/ext_product_types.json +1 -1
  23. eodag/resources/product_types.yml +391 -32
  24. eodag/resources/providers.yml +678 -1744
  25. eodag/rest/core.py +92 -62
  26. eodag/rest/server.py +31 -4
  27. eodag/rest/types/eodag_search.py +6 -0
  28. eodag/rest/types/queryables.py +5 -6
  29. eodag/rest/utils/__init__.py +3 -0
  30. eodag/types/__init__.py +56 -15
  31. eodag/types/download_args.py +2 -2
  32. eodag/types/queryables.py +180 -72
  33. eodag/types/whoosh.py +126 -0
  34. eodag/utils/__init__.py +71 -10
  35. eodag/utils/exceptions.py +27 -20
  36. eodag/utils/repr.py +65 -6
  37. eodag/utils/requests.py +11 -11
  38. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/METADATA +76 -76
  39. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/RECORD +43 -44
  40. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/WHEEL +1 -1
  41. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/entry_points.txt +3 -2
  42. eodag/utils/constraints.py +0 -244
  43. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/LICENSE +0 -0
  44. {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/top_level.txt +0 -0
eodag/utils/repr.py CHANGED
@@ -18,12 +18,21 @@
18
18
  from __future__ import annotations
19
19
 
20
20
  import collections.abc
21
+ import re
21
22
  from typing import Any, Optional
22
23
  from urllib.parse import urlparse
23
24
 
24
25
 
25
26
  def str_as_href(link: str) -> str:
26
- """URL to html link"""
27
+ """URL to html link
28
+
29
+ :param link: URL to format
30
+ :returns: HMLT formatted link
31
+
32
+ >>> str_as_href("http://foo.bar")
33
+ "<a href='http://foo.bar' target='_blank'>http://foo.bar</a>"
34
+
35
+ """
27
36
  if urlparse(link).scheme in ("file", "http", "https", "s3"):
28
37
  return f"<a href='{link}' target='_blank'>{link}</a>"
29
38
  else:
@@ -31,7 +40,13 @@ def str_as_href(link: str) -> str:
31
40
 
32
41
 
33
42
  def html_table(input: Any, depth: Optional[int] = None) -> str:
34
- """Transform input to HTML table"""
43
+ """Transform input object to HTML table
44
+
45
+ :param input: input object to represent
46
+ :param depth: maximum depth level until which nested objects should be represented
47
+ in new tables (unlimited by default)
48
+ :returns: HTML table
49
+ """
35
50
  if isinstance(input, collections.abc.Mapping):
36
51
  return dict_to_html_table(input, depth=depth)
37
52
  elif isinstance(input, collections.abc.Sequence) and not isinstance(input, str):
@@ -47,7 +62,14 @@ def dict_to_html_table(
47
62
  depth: Optional[int] = None,
48
63
  brackets: bool = True,
49
64
  ) -> str:
50
- """Transform input dict to HTML table"""
65
+ """Transform input dict to HTML table
66
+
67
+ :param input_dict: input dict to represent
68
+ :param depth: maximum depth level until which nested objects should be represented
69
+ in new tables (unlimited by default)
70
+ :param brackets: whether surrounding brackets should be displayed or not
71
+ :returns: HTML table
72
+ """
51
73
  opening_bracket = "<span style='color: grey;'>{</span>" if brackets else ""
52
74
  closing_bracket = "<span style='color: grey;'>}</span>" if brackets else ""
53
75
  indent = "10px" if brackets else "0"
@@ -90,7 +112,13 @@ def dict_to_html_table(
90
112
  def list_to_html_table(
91
113
  input_list: collections.abc.Sequence, depth: Optional[int] = None
92
114
  ) -> str:
93
- """Transform input list to HTML table"""
115
+ """Transform input list to HTML table
116
+
117
+ :param input_list: input list to represent
118
+ :param depth: maximum depth level until which nested objects should be represented
119
+ in new tables (unlimited by default)
120
+ :returns: HTML table
121
+ """
94
122
  if depth is not None:
95
123
  depth -= 1
96
124
  separator = (
@@ -103,11 +131,42 @@ def list_to_html_table(
103
131
  + separator.join(
104
132
  [
105
133
  f"""<span style='text-align: left;'>{
106
- html_table(v, depth=depth)
107
- }</span>
134
+ html_table(v, depth=depth)
135
+ }</span>
108
136
  """
109
137
  for v in input_list
110
138
  ]
111
139
  )
112
140
  + "<span style='color: grey;'>]</span>"
113
141
  )
142
+
143
+
144
+ def remove_class_repr(type_repr: str) -> str:
145
+ """Removes class tag from type representation
146
+
147
+ :param type_repr: input type representation
148
+ :returns: type without class tag
149
+
150
+ >>> remove_class_repr(str(type("foo")))
151
+ 'str'
152
+ """
153
+ return re.sub(r"<class '(\w+)'>", r"\1", type_repr)
154
+
155
+
156
+ def shorter_type_repr(long_type: str) -> str:
157
+ """Shorten long type representation
158
+
159
+ :param long_type: long type representation
160
+ :returns: type reprensentation shortened
161
+
162
+ >>> import typing
163
+ >>> shorter_type_repr(str(typing.Literal["foo", "bar"]))
164
+ "Literal['foo', ...]"
165
+ """
166
+ # shorten lists
167
+ shorter = re.sub(r",[^\[^\]]+\]", ", ...]", str(long_type))
168
+ # remove class prefix
169
+ shorter = remove_class_repr(shorter)
170
+ # remove parent objects
171
+ shorter = re.sub(r"\w+\.", "", shorter)
172
+ return shorter
eodag/utils/requests.py CHANGED
@@ -30,7 +30,7 @@ logger = logging.getLogger("eodag.utils.requests")
30
30
 
31
31
 
32
32
  def fetch_json(
33
- file_url: str,
33
+ url: str,
34
34
  req_session: Optional[requests.Session] = None,
35
35
  auth: Optional[requests.auth.AuthBase] = None,
36
36
  timeout: float = HTTP_REQ_TIMEOUT,
@@ -38,32 +38,32 @@ def fetch_json(
38
38
  """
39
39
  Fetches http/distant or local json file
40
40
 
41
- :param file_url: url from which the file can be fetched
41
+ :param url: url from which the file can be fetched
42
42
  :param req_session: (optional) requests session
43
43
  :param auth: (optional) authenticated object if request needs authentication
44
44
  :param timeout: (optional) authenticated object
45
45
  :returns: json file content
46
46
  """
47
47
  if req_session is None:
48
- req_session = requests.Session()
48
+ req_session = requests.sessions.Session()
49
49
  try:
50
- if not file_url.lower().startswith("http"):
51
- file_url = path_to_uri(os.path.abspath(file_url))
50
+ if not url.lower().startswith("http"):
51
+ url = path_to_uri(os.path.abspath(url))
52
52
  req_session.mount("file://", LocalFileAdapter())
53
53
 
54
54
  headers = USER_AGENT
55
- logger.debug(f"fetching {file_url}")
55
+ logger.debug(f"fetching {url}")
56
56
  res = req_session.get(
57
- file_url,
57
+ url,
58
58
  headers=headers,
59
59
  auth=auth,
60
60
  timeout=timeout,
61
61
  )
62
62
  res.raise_for_status()
63
63
  except requests.exceptions.Timeout as exc:
64
- raise TimeOutError(exc, timeout=HTTP_REQ_TIMEOUT) from exc
64
+ raise TimeOutError(exc, timeout=timeout) from exc
65
65
  except requests.exceptions.RequestException as exc:
66
- raise RequestError.from_error(exc, f"Unable to fetch {file_url}") from exc
66
+ raise RequestError.from_error(exc, f"Unable to fetch {url}") from exc
67
67
  else:
68
68
  return res.json()
69
69
 
@@ -100,8 +100,8 @@ class LocalFileAdapter(requests.adapters.BaseAdapter):
100
100
  ) -> requests.Response:
101
101
  """Wraps a file, described in request, in a Response object.
102
102
 
103
- :param req: The PreparedRequest being "sent".
104
- :param kwargs: (not used) additionnal arguments of the request
103
+ :param request: The PreparedRequest being "sent".
104
+ :param kwargs: (not used) additional arguments of the request
105
105
  :returns: a Response object containing the file
106
106
  """
107
107
  response = requests.Response()
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: eodag
3
- Version: 3.0.1
3
+ Version: 3.1.0b1
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,95 +36,95 @@ Requires-Dist: boto3
36
36
  Requires-Dist: botocore
37
37
  Requires-Dist: click
38
38
  Requires-Dist: geojson
39
- Requires-Dist: jsonpath-ng <1.6.0
39
+ Requires-Dist: jsonpath-ng<1.6.0
40
40
  Requires-Dist: lxml
41
- Requires-Dist: pydantic >=2.1.0
42
- Requires-Dist: pydantic-core
43
- Requires-Dist: PyJWT >=2.5.0
44
- Requires-Dist: pyproj >=2.1.0
41
+ Requires-Dist: orjson<3.10.0; python_version >= "3.12" and platform_system == "Windows"
42
+ Requires-Dist: orjson; python_version < "3.12" or platform_system != "Windows"
43
+ Requires-Dist: pydantic!=2.10.0,>=2.1.0
44
+ Requires-Dist: pydantic_core
45
+ Requires-Dist: PyJWT[crypto]>=2.5.0
46
+ Requires-Dist: pyproj>=2.1.0
45
47
  Requires-Dist: pyshp
46
- Requires-Dist: pystac >=1.0.0b1
48
+ Requires-Dist: pystac>=1.0.0b1
47
49
  Requires-Dist: python-dateutil
48
50
  Requires-Dist: PyYAML
49
51
  Requires-Dist: requests
50
52
  Requires-Dist: setuptools
51
- Requires-Dist: shapely >=2.0.6
53
+ Requires-Dist: shapely>=2.0.6
52
54
  Requires-Dist: stream-zip
53
55
  Requires-Dist: tqdm
54
- Requires-Dist: typing-extensions >=4.8.0
56
+ Requires-Dist: typing_extensions>=4.8.0
55
57
  Requires-Dist: urllib3
56
58
  Requires-Dist: Whoosh
57
- Requires-Dist: orjson ; python_version < "3.12" or platform_system != "Windows"
58
- Requires-Dist: orjson <3.10.0 ; python_version >= "3.12" and platform_system == "Windows"
59
59
  Provides-Extra: all
60
- Requires-Dist: eodag[all-providers,csw,server,tutorials] ; extra == 'all'
60
+ Requires-Dist: eodag[all-providers,csw,server,tutorials]; extra == "all"
61
61
  Provides-Extra: all-providers
62
- Requires-Dist: eodag[ecmwf,usgs] ; extra == 'all-providers'
62
+ Requires-Dist: eodag[ecmwf,usgs]; extra == "all-providers"
63
63
  Provides-Extra: csw
64
- Requires-Dist: OWSLib >=0.27.1 ; extra == 'csw'
65
- Provides-Extra: dev
66
- Requires-Dist: eodag[all-providers,csw,server,stubs] ; extra == 'dev'
67
- Requires-Dist: pytest ; extra == 'dev'
68
- Requires-Dist: pytest-cov ; extra == 'dev'
69
- Requires-Dist: py >=1.8.2 ; extra == 'dev'
70
- Requires-Dist: pytest-html <3.2.0 ; extra == 'dev'
71
- Requires-Dist: pytest-xdist ; extra == 'dev'
72
- Requires-Dist: pytest-socket ; extra == 'dev'
73
- Requires-Dist: pytest-instafail ; extra == 'dev'
74
- Requires-Dist: tox ; extra == 'dev'
75
- Requires-Dist: tox-uv ; extra == 'dev'
76
- Requires-Dist: faker ; extra == 'dev'
77
- Requires-Dist: moto ; extra == 'dev'
78
- Requires-Dist: twine ; extra == 'dev'
79
- Requires-Dist: wheel ; extra == 'dev'
80
- Requires-Dist: flake8 ; extra == 'dev'
81
- Requires-Dist: pre-commit ; extra == 'dev'
82
- Requires-Dist: responses <0.24.0 ; extra == 'dev'
83
- Requires-Dist: fastapi[all] ; extra == 'dev'
84
- Requires-Dist: stdlib-list ; extra == 'dev'
85
- Requires-Dist: mypy ; extra == 'dev'
86
- Provides-Extra: docs
87
- Requires-Dist: eodag[all,stubs] ; extra == 'docs'
88
- Requires-Dist: sphinx ; extra == 'docs'
89
- Requires-Dist: sphinx-book-theme >=1.0.0 ; extra == 'docs'
90
- Requires-Dist: sphinx-copybutton ; extra == 'docs'
91
- Requires-Dist: sphinx-tabs ; extra == 'docs'
92
- Requires-Dist: nbsphinx ; extra == 'docs'
93
- Requires-Dist: sphinx-autodoc-typehints ; extra == 'docs'
94
- Requires-Dist: sphinxemoji ; extra == 'docs'
64
+ Requires-Dist: OWSLib>=0.27.1; extra == "csw"
95
65
  Provides-Extra: ecmwf
96
- Requires-Dist: ecmwf-api-client ; extra == 'ecmwf'
97
- Provides-Extra: notebook
98
- Requires-Dist: tqdm[notebook] ; extra == 'notebook'
66
+ Requires-Dist: ecmwf-api-client; extra == "ecmwf"
67
+ Provides-Extra: usgs
68
+ Requires-Dist: usgs>=0.3.1; extra == "usgs"
99
69
  Provides-Extra: server
100
- Requires-Dist: fastapi >=0.93.0 ; extra == 'server'
101
- Requires-Dist: pygeofilter ; extra == 'server'
102
- Requires-Dist: starlette ; extra == 'server'
103
- Requires-Dist: uvicorn[standard] ; extra == 'server'
104
- Requires-Dist: pydantic-settings ; extra == 'server'
105
- Requires-Dist: cachetools ; extra == 'server'
106
- Provides-Extra: stubs
107
- Requires-Dist: boto3-stubs[essential] ; extra == 'stubs'
108
- Requires-Dist: types-lxml ; extra == 'stubs'
109
- Requires-Dist: types-cachetools ; extra == 'stubs'
110
- Requires-Dist: types-requests ; extra == 'stubs'
111
- Requires-Dist: types-python-dateutil ; extra == 'stubs'
112
- Requires-Dist: types-setuptools ; extra == 'stubs'
113
- Requires-Dist: types-tqdm ; extra == 'stubs'
114
- Requires-Dist: types-urllib3 ; extra == 'stubs'
70
+ Requires-Dist: fastapi>=0.93.0; extra == "server"
71
+ Requires-Dist: pygeofilter; extra == "server"
72
+ Requires-Dist: starlette; extra == "server"
73
+ Requires-Dist: uvicorn[standard]; extra == "server"
74
+ Requires-Dist: pydantic-settings; extra == "server"
75
+ Requires-Dist: cachetools; extra == "server"
76
+ Provides-Extra: notebook
77
+ Requires-Dist: tqdm[notebook]; extra == "notebook"
115
78
  Provides-Extra: tutorials
116
- Requires-Dist: eodag[ecmwf,notebook] ; extra == 'tutorials'
117
- Requires-Dist: eodag-cube >=0.2.0 ; extra == 'tutorials'
118
- Requires-Dist: jupyter ; extra == 'tutorials'
119
- Requires-Dist: ipyleaflet >=0.10.0 ; extra == 'tutorials'
120
- Requires-Dist: ipywidgets ; extra == 'tutorials'
121
- Requires-Dist: matplotlib ; extra == 'tutorials'
122
- Requires-Dist: folium ; extra == 'tutorials'
123
- Requires-Dist: imageio ; extra == 'tutorials'
124
- Requires-Dist: rasterio ; extra == 'tutorials'
125
- Requires-Dist: netcdf4 ; extra == 'tutorials'
126
- Provides-Extra: usgs
127
- Requires-Dist: usgs >=0.3.1 ; extra == 'usgs'
79
+ Requires-Dist: eodag[ecmwf,notebook]; extra == "tutorials"
80
+ Requires-Dist: eodag-cube>=0.2.0; extra == "tutorials"
81
+ Requires-Dist: jupyter; extra == "tutorials"
82
+ Requires-Dist: ipyleaflet>=0.10.0; extra == "tutorials"
83
+ Requires-Dist: ipywidgets; extra == "tutorials"
84
+ Requires-Dist: matplotlib; extra == "tutorials"
85
+ Requires-Dist: folium; extra == "tutorials"
86
+ Requires-Dist: imageio; extra == "tutorials"
87
+ Requires-Dist: rasterio; extra == "tutorials"
88
+ Requires-Dist: netcdf4; extra == "tutorials"
89
+ Provides-Extra: dev
90
+ Requires-Dist: eodag[all-providers,csw,server,stubs]; extra == "dev"
91
+ Requires-Dist: pytest; extra == "dev"
92
+ Requires-Dist: pytest-cov; extra == "dev"
93
+ Requires-Dist: py>=1.8.2; extra == "dev"
94
+ Requires-Dist: pytest-html<3.2.0; extra == "dev"
95
+ Requires-Dist: pytest-xdist; extra == "dev"
96
+ Requires-Dist: pytest-socket; extra == "dev"
97
+ Requires-Dist: pytest-instafail; extra == "dev"
98
+ Requires-Dist: tox; extra == "dev"
99
+ Requires-Dist: tox-uv; extra == "dev"
100
+ Requires-Dist: faker; extra == "dev"
101
+ Requires-Dist: moto; extra == "dev"
102
+ Requires-Dist: twine; extra == "dev"
103
+ Requires-Dist: wheel; extra == "dev"
104
+ Requires-Dist: flake8; extra == "dev"
105
+ Requires-Dist: pre-commit; extra == "dev"
106
+ Requires-Dist: responses<0.24.0; extra == "dev"
107
+ Requires-Dist: fastapi[all]; extra == "dev"
108
+ Requires-Dist: stdlib-list; extra == "dev"
109
+ Requires-Dist: mypy; extra == "dev"
110
+ Provides-Extra: stubs
111
+ Requires-Dist: boto3-stubs[essential]; extra == "stubs"
112
+ Requires-Dist: types-lxml; extra == "stubs"
113
+ Requires-Dist: types-cachetools; extra == "stubs"
114
+ Requires-Dist: types-requests; extra == "stubs"
115
+ Requires-Dist: types-python-dateutil; extra == "stubs"
116
+ Requires-Dist: types-setuptools; extra == "stubs"
117
+ Requires-Dist: types-tqdm; extra == "stubs"
118
+ Requires-Dist: types-urllib3; extra == "stubs"
119
+ Provides-Extra: docs
120
+ Requires-Dist: eodag[all,stubs]; extra == "docs"
121
+ Requires-Dist: sphinx; extra == "docs"
122
+ Requires-Dist: sphinx-book-theme>=1.0.0; extra == "docs"
123
+ Requires-Dist: sphinx-copybutton; extra == "docs"
124
+ Requires-Dist: sphinx-tabs; extra == "docs"
125
+ Requires-Dist: nbsphinx; extra == "docs"
126
+ Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
127
+ Requires-Dist: sphinxemoji; extra == "docs"
128
128
 
129
129
  .. image:: https://eodag.readthedocs.io/en/latest/_static/eodag_bycs.png
130
130
  :target: https://github.com/CS-SI/eodag
@@ -315,7 +315,7 @@ An eodag instance can be exposed through a STAC compliant REST api from the comm
315
315
 
316
316
  .. code-block:: bash
317
317
 
318
- docker run -p 5000:5000 --rm csspace/eodag-server:3.0.1
318
+ docker run -p 5000:5000 --rm csspace/eodag-server:3.1.0b1
319
319
 
320
320
  You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
321
321
  Simply run:
@@ -1,15 +1,15 @@
1
1
  eodag/__init__.py,sha256=qADIO6H3KR0CMs0qePdJROjSzcGnHaYpv-RFIk18WGQ,1608
2
- eodag/cli.py,sha256=hq_mJmHSKisxdT0rddcXIGEFpjPINtgt0AEdWmh8niQ,29398
3
- eodag/config.py,sha256=yBArQy5gqVjWfWWuQ7rzIgZNcROFbBTI2R9A-orFHf8,45643
2
+ eodag/cli.py,sha256=WMU23Zv0riOuKkFwftIBmH0_OJSnSiaYMAVgKEe15i0,29976
3
+ eodag/config.py,sha256=1LTniwtMPW9jAJUUfFQf4EWTZgECH9ve5vIXgUMHZL0,45723
4
4
  eodag/crunch.py,sha256=fLVAPGVPw31N_DrnFk4gkCpQZLMY8oBhK6NUSYmdr24,1099
5
5
  eodag/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  eodag/api/__init__.py,sha256=ytr30NUVmEtmJTsp3QCwkCIhS1nF6UlFCv0vmySHN7g,735
7
- eodag/api/core.py,sha256=jS3TQVluul1lO-hwbtIV8uaaBFHEWGJBWG7FkjMKkEg,107335
7
+ eodag/api/core.py,sha256=R5hyr2fcKjmoIIt6fyfxO4xiBl7lT1RhQBbvRfvMLCo,109248
8
8
  eodag/api/search_result.py,sha256=LnWBHoMlkoaeqwEukg-MOwOCJvxm367g3AH6Llrk8zI,8236
9
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=Zcem_4PYXUgSPhDBjgWX84L9GbXMt32TQ8Pw9kdDhK4,70436
10
+ eodag/api/product/_assets.py,sha256=1fqCRT6Jd27qMJ95WJ5_bre5YsVPYidFit03wM_UmAM,6290
11
+ eodag/api/product/_product.py,sha256=E1rP0DOtksk6kUWfkRkHjRFLJfo0SLW6lw46PZsaHkY,22980
12
+ eodag/api/product/metadata_mapping.py,sha256=txlnpzGUBwGh1XDzXIs20kZZzhOG0O2l1SWi_eStKJY,71751
13
13
  eodag/api/product/drivers/__init__.py,sha256=67fvk_Zmuasrlw7TYP5GfM5Z4fS5a4KjfohHFhg-WiU,1035
14
14
  eodag/api/product/drivers/base.py,sha256=TL_Kqbi7g4mLKn4CiBXrsAiTPVVFQBYY7DuG8pVlrlc,1793
15
15
  eodag/plugins/__init__.py,sha256=KQkD5aVwb9I6C-Rmi5ABEG1-j8w5FP1zKN12vagsT9Y,739
@@ -17,8 +17,8 @@ eodag/plugins/base.py,sha256=I-kxG83mh805kZldrgl--VTVBzDNtyE8f_MRkm1VLCY,2689
17
17
  eodag/plugins/manager.py,sha256=efFycwmr5sZcICv-YnkCJ4qof3ew8c8nQuzVw5A3Kb4,20398
18
18
  eodag/plugins/apis/__init__.py,sha256=PyY4f7P2iu3MkLPnw5eOrVew2fuavbBL3Asci3Ulwoo,744
19
19
  eodag/plugins/apis/base.py,sha256=5QOjqD1jgUIOzCt53XJbTG4XX-4Lkd03h5ILBiEl8lE,2818
20
- eodag/plugins/apis/ecmwf.py,sha256=_WzUXxhXpcpRShfZroOXEbLNf3K49edXPtFt3cTGRVI,10672
21
- eodag/plugins/apis/usgs.py,sha256=Lrt-cac4NfK8tFH1BxsZ6rbTDZx4E3j5dGOvLyy1AsY,19552
20
+ eodag/plugins/apis/ecmwf.py,sha256=co6W9ThokUr8YNNX67H9HT9O8lCPbMlgTeOBOeIDrb0,11496
21
+ eodag/plugins/apis/usgs.py,sha256=QLzdKrb3OocwvVW__uC2-TUwEweBRkwWZjZVbAfOQk4,19566
22
22
  eodag/plugins/authentication/__init__.py,sha256=_LVw42Bb1IhGAZH5xHRaS4b1iFoF9e27KDZOyoSoJHY,1039
23
23
  eodag/plugins/authentication/aws_auth.py,sha256=N9o_SSTja6x8e1Wf1am-O_vkxJpv6SSngjRIuCX4YwI,3073
24
24
  eodag/plugins/authentication/base.py,sha256=-qnWabuC6FyeKYzMnbSccm4skMEIsj3ZVEWMDAMKZjY,2603
@@ -26,10 +26,10 @@ eodag/plugins/authentication/generic.py,sha256=LlOVPjvwRpbMDl62Brd7Ao34WmktKWoo0
26
26
  eodag/plugins/authentication/header.py,sha256=lgkNZpFj4himyhjgjsK500KBZeiQus-HWG6dHSgV3u4,4290
27
27
  eodag/plugins/authentication/keycloak.py,sha256=M0V9hU-wYO1IRtbg7aMdyizSvw5UJto5tfeX_fOQ9ik,7184
28
28
  eodag/plugins/authentication/oauth.py,sha256=tWs_kk77QG1G8fcsl-RIb1qj5HJ9ZHIcZ0ll3Vz8joI,1860
29
- eodag/plugins/authentication/openid_connect.py,sha256=R59gKip5E0T8gTiveDVgYD2V4gr036te3jdzAFAtNXQ,24665
29
+ eodag/plugins/authentication/openid_connect.py,sha256=iJ9NGYnxbQE6RAx86JnxI571mwSI44oQxE629hN-QdY,24723
30
30
  eodag/plugins/authentication/qsauth.py,sha256=bkepO_sFRIhYm3Dzecx3VJP0Ap37vUuJSRmEY8HrV1U,3947
31
31
  eodag/plugins/authentication/sas_auth.py,sha256=QIigbkKjRsdPdq0MP8c0jGOzrL_H7UIdgdhsmx6gk6U,4779
32
- eodag/plugins/authentication/token.py,sha256=9N1ECiNk61wcrxLSEf9rr-Vzscko22q6GNTe8ujtTTA,10872
32
+ eodag/plugins/authentication/token.py,sha256=HKrNvfzsStaWDqKklFt8EfznJjbEJ0wOFpH7S-e2Iy0,12885
33
33
  eodag/plugins/authentication/token_exchange.py,sha256=5HJfwC8FrPE6dhH-xRGM1W-lkpgJHMgQ6q7fiFNh5Oo,4902
34
34
  eodag/plugins/crunch/__init__.py,sha256=58D7kJhEpHJWobIKaNFPynfbSqAWgS90BiHzitqS5Ds,746
35
35
  eodag/plugins/crunch/base.py,sha256=vCaI2KsxMZp0TJ6IYHx4ssaachzrTxH98tKJh_fsuPM,1427
@@ -37,26 +37,26 @@ eodag/plugins/crunch/filter_date.py,sha256=CGRx4Pj7sT1her4E96ITgT2vYNPG3k0NaUGdt
37
37
  eodag/plugins/crunch/filter_latest_intersect.py,sha256=viDECk8RAKYxVeQGZ6m3Ff14bsnCcq3xYFX7bNx0blM,4438
38
38
  eodag/plugins/crunch/filter_latest_tpl_name.py,sha256=NAQNz1xuf1qDCF-of9-qhJCgR5uFkTdLv6k2u-c85Ew,3695
39
39
  eodag/plugins/crunch/filter_overlap.py,sha256=GdqS0yYvTp4yYNucXpYVIwO9E7KhmsmJSi3XWUtBfKM,7278
40
- eodag/plugins/crunch/filter_property.py,sha256=eZdwmOa6u0sfh2R-hqcIpzAQNkZuzfcw0vGA1SQYteU,3229
40
+ eodag/plugins/crunch/filter_property.py,sha256=1tqYzVwB7z9wTdoNH_t4h8JInEJ6IkuMyvpfPk78xiw,3199
41
41
  eodag/plugins/download/__init__.py,sha256=zqszaeNgYP0YHlZDkLMf6odcwNw0KrAahGpcA-l0kAw,740
42
- eodag/plugins/download/aws.py,sha256=doWLzoxHYOVPsMA9Bb8sX1orFPUqq_A17TRe11dyn0w,55693
43
- eodag/plugins/download/base.py,sha256=8Q_Vdxq-M_V7gZ5fZG7JEgskOzhbcP927V68oCKNLP0,30157
44
- eodag/plugins/download/creodias_s3.py,sha256=XZFYVP0aEj6GLe4WUGwJQUyPrTOPzpACYr0GC97WNFg,2875
45
- eodag/plugins/download/http.py,sha256=PkvSPVYR3H40HPUJHK0zsX4qkYNMyxehVm_-E7RqEhQ,57406
46
- eodag/plugins/download/s3rest.py,sha256=HVdkKfG17l2RfsxjZ46ytJJniEzWIAvZsPy3G_p6-fM,14836
42
+ eodag/plugins/download/aws.py,sha256=NN1ZFrCKTtfvpn6JUi20pw2x3H7_wcc8618XKUgwu0I,55722
43
+ eodag/plugins/download/base.py,sha256=FkQlql0gSvCvPtizMSCU9L-6YWW7gwVS9V3g6DZ4oNw,30007
44
+ eodag/plugins/download/creodias_s3.py,sha256=DoFX4XpIpFbahVE2IPEA_z4eYVHv70g77LUafsCSBO0,4164
45
+ eodag/plugins/download/http.py,sha256=UxglJzHlw_aSy7brkId82uIMTlLiKmuqzqPmEhwNH5w,56325
46
+ eodag/plugins/download/s3rest.py,sha256=XgFWnB56CgPl-ZtZDVcOZjFt53AuPFQW7WOlWRyjezg,14792
47
47
  eodag/plugins/search/__init__.py,sha256=-1M-AB81A8KwLSEhSiNNEA77ecUvmvp4dUL8J1C1wFA,1986
48
- eodag/plugins/search/base.py,sha256=ZNf9ZuSJBwk-CoRHEo03Qoyz0GHcGsYbDUQzX4kYVDY,16292
49
- eodag/plugins/search/build_search_result.py,sha256=mPyS6YKtcdVrhGmCUOxNkX5zW0maXs-hKB3UYNlpeVc,21573
48
+ eodag/plugins/search/base.py,sha256=7ohTJFy9o8JWMst_jJq22-DCn9UTEBJsr_iR3VDAHLc,18750
49
+ eodag/plugins/search/build_search_result.py,sha256=-n65mAPXTFU_ca1CU3kWAYeN4ki1wfHt8mHrZ7RIplY,47925
50
50
  eodag/plugins/search/cop_marine.py,sha256=3JOFtN6Adb0PDW8DfaViMIwXCO1mScEisDhcIDvruJM,19343
51
- eodag/plugins/search/creodias_s3.py,sha256=v0dnt8b93iqmFW8fifLgj9R24_O5BOVeRTIDnGlY1R8,6083
51
+ eodag/plugins/search/creodias_s3.py,sha256=eAHSOIvrunuxmR6B7R8oIUqyLfkZXBWsaxGn4Im1E8M,6350
52
52
  eodag/plugins/search/csw.py,sha256=rZ-0ctszEixZuM6_VTkglTgGqmT83TG3bTPWSgB5BC8,12567
53
- eodag/plugins/search/data_request_search.py,sha256=Ikt1o2eJPLBeof9SSSDWKQpFnWoYDfITDm6q40qKOdU,26683
54
- eodag/plugins/search/qssearch.py,sha256=KaurdbgzuQUDRU6NWp92qXmF673TGWmXuhWSlYkO8hs,98306
53
+ eodag/plugins/search/data_request_search.py,sha256=VDduqvpKo0UWC6c_sH19mCXaw1P3qfArGQ8Q9EvPk-g,26682
54
+ eodag/plugins/search/qssearch.py,sha256=t-pfGAh9ap-UyF8fOac8m9mCnNkCzZxUKlbjXvNPTmw,94356
55
55
  eodag/plugins/search/static_stac_search.py,sha256=EBBd4AB5R2Kiab3Ssc-b6A4McqcNRMjltgGW25ErH8g,9263
56
- eodag/resources/ext_product_types.json,sha256=RjMd40oPMF7UwLklQ0LneO7Hy3lKrx_-5mUh9D3k-3c,2872656
56
+ eodag/resources/ext_product_types.json,sha256=_qVPEQzedjBaPx-ksc_HB6-bMfI2FXfF_ZIOXZnAe3Q,3196797
57
57
  eodag/resources/locations_conf_template.yml,sha256=_eBv-QKHYMIKhY0b0kp4Ee33RsayxN8LWH3kDXxfFSk,986
58
- eodag/resources/product_types.yml,sha256=r3Ni9X5U-iMR31wWgClIW_qdBQa50JhOjsmTAMDguiQ,375381
59
- eodag/resources/providers.yml,sha256=9WIRx6QASRjPjFxPkd0yr--DsGoQcING9qCKDElXnNU,252626
58
+ eodag/resources/product_types.yml,sha256=eTkkbsnwEGV3acPNuEeW5lb9ArdHM6EFCvg2jBgEcwE,393028
59
+ eodag/resources/providers.yml,sha256=u03b3KA3QmkQ43OEY5lIU3l8EMo95caDboesbfwNu2c,225513
60
60
  eodag/resources/stac.yml,sha256=XgQFkJEfu_f2ZiVM5L1flkew7wq55p_PJmDuVkOG3fs,10442
61
61
  eodag/resources/stac_api.yml,sha256=3wz1rAfxb_IWJHBdIONA7JPpAYVJpo9pzlSPFwfb41s,68893
62
62
  eodag/resources/stac_provider.yml,sha256=2yfdnuhJYV1f5el3aFkunoPqHAcD8oCDzvASbmldIvY,6703
@@ -71,39 +71,38 @@ eodag/rest/__init__.py,sha256=v4SI9gLuFP81YXi5_k98lvVNGzz6h8YZ_aUdhKAbE2M,916
71
71
  eodag/rest/cache.py,sha256=zGqVt8AAbqwhRmWmAbRPLMJgEb1ZD67WO-QnWwoe3a4,2103
72
72
  eodag/rest/config.py,sha256=Bw4VH3M0iaz6rR3hkJuGF2ZNU-GQyqn3SeKrggUtM9g,2118
73
73
  eodag/rest/constants.py,sha256=XsNgjzv0Qvw1hhjeuscDuyQpCm99g3O-hEyslPSiFzQ,945
74
- eodag/rest/core.py,sha256=s_zxBL0ySYV7YW-tQjBEAbpXkiUUyFlMnqVTvq9gAec,25100
74
+ eodag/rest/core.py,sha256=2vs0PIoY1aFcn_SOeOfHxT1NzulkFfxOXYW8sT8wCKg,26562
75
75
  eodag/rest/errors.py,sha256=2tWYuPK67SFoxFVnu4HEx9WWdqzBAwv3_WCoJRAYspI,6211
76
- eodag/rest/server.py,sha256=r3KxAIUE-ZTb-8OsNwpyTT108syx-SRfUItsHYErD_Q,17641
76
+ eodag/rest/server.py,sha256=2NxRPhRNla8GnKk1CWscY-QH8ydODZeOyAgqbOUbNNk,18347
77
77
  eodag/rest/server.wsgi,sha256=ssM4JQi8tZpOYj03CTdM0weyUF1b3Lbh38pdD-vBfXs,152
78
78
  eodag/rest/stac.py,sha256=JtuCFa4bldO4exe-G8MUHYhuNVvOA7q_GxzU99xQPyI,35788
79
79
  eodag/rest/templates/README,sha256=qFgCBE6XC4YiXkpPoSHkYbMTQr8Zg5Wc5eAKVcooXmw,57
80
80
  eodag/rest/types/__init__.py,sha256=Bu0C3dzXHe8kocnz2PIHV0GjQWlAQas6ToIfwusNPQs,742
81
81
  eodag/rest/types/collections_search.py,sha256=76dvL9y_Cq0ERoJdAn6btXx-0EFWxlfPYSoO7xkFA7c,1533
82
- eodag/rest/types/eodag_search.py,sha256=DPfXp2zV0cNIUl4wGMumspP7vN47ew3rJY0xuSox5To,14001
83
- eodag/rest/types/queryables.py,sha256=sEcXdLjYkpdIqVNdNINfugfmJSoC_jjguAPHQpNY4Hc,6287
82
+ eodag/rest/types/eodag_search.py,sha256=iSGnWut-xJH1xAOpKBkVRm7BmBovmocefTcIBk4EPpQ,14300
83
+ eodag/rest/types/queryables.py,sha256=4VCIlA6_08SOJw8SRFPoM3n2ZNu8P8F4nBTagHwnPnA,6225
84
84
  eodag/rest/types/stac_search.py,sha256=0_gheVqe9BVxeWttVsrEQoWRkhyrD21ACm8sUmiCa9M,8825
85
- eodag/rest/utils/__init__.py,sha256=D6SWRK_UF3yY-s1PweehJ1Oesnyw6ySMrhxQzjn3dJs,6544
85
+ eodag/rest/utils/__init__.py,sha256=7z4GhubM3AW4zHpnpFtDeiPTZs2KZmMDEklYSQ98EvA,6613
86
86
  eodag/rest/utils/cql_evaluate.py,sha256=cren4gxNyi_3gIEq0CADpqyi5sVnr93rY26CXWCyM3Y,4106
87
87
  eodag/rest/utils/rfc3339.py,sha256=pZf6PXpUiQCNLAd-EJwgQ0sHJdTwac2RDEUv92LG3Os,2241
88
- eodag/types/__init__.py,sha256=36DX-ot1E4Y8DzaduQ0kxx-V7TEqKP5RDB-aseiwLU4,11816
88
+ eodag/types/__init__.py,sha256=1nwTiComVYVsIqK4sIEthl_89oUHygV8Q6_xC2erzn0,13203
89
89
  eodag/types/bbox.py,sha256=okc8oFgvoSTQnXJew740i41HArAoSD36Xjr_XmZ1Q4M,4373
90
- eodag/types/download_args.py,sha256=OeT7xc2JpFRqaZ1QdDwUqgWx8HI1zjGLEPBjLvbL1f8,1551
91
- eodag/types/queryables.py,sha256=yDpKE5qI8_o_lllxdsFttC0qXI-FNj61UWF5KXuQqUg,5981
90
+ eodag/types/download_args.py,sha256=WoK1u1N_qb3mrR2kh9rIlc14RVoVxy3wqFmfZgaPles,1571
91
+ eodag/types/queryables.py,sha256=bcmQvNSY1GFR86vflGmIPb7wTBMPEP1nmvDXOpGIbD8,9833
92
92
  eodag/types/search_args.py,sha256=YqVb04BAPnwhnyafcJo3sRiyOlQA46lTIjnctH_H5b0,5668
93
- eodag/types/whoosh.py,sha256=dmfS8UIjmdP4kLkeFK99lfiS0owzHa4bLUfB4hrXb5w,2503
94
- eodag/utils/__init__.py,sha256=0QADbT5O5QW-4pabQocgurLeu0bztboy3ZiCbjswsZY,49236
95
- eodag/utils/constraints.py,sha256=NAFI-UzrC0zMCG3rVzB_UeutC-sFaZPGRhlI0ytQbbE,9560
96
- eodag/utils/exceptions.py,sha256=TCT91f04dhY6ThazJC1ZVjIrZUKTR1NLVZZB4yLWs7c,4117
93
+ eodag/types/whoosh.py,sha256=0EwUxeNGmXdtmI63p9ow5DimoSPleEScPKpuDP5wDiQ,7250
94
+ eodag/utils/__init__.py,sha256=PVquvxHSFz3rEMKPAf21af3JApAGfH9yxQLf_wA0XOo,51205
95
+ eodag/utils/exceptions.py,sha256=QoI5QtwIwZPtnvYLvsXKNarOwT3f9vJEZEwOQAQg7Gs,4457
97
96
  eodag/utils/import_system.py,sha256=TqfRi_Kl0mzqNBapnOr3A7Y3qjCAgd7wYZ0bkPLeuJU,3908
98
97
  eodag/utils/logging.py,sha256=KoMsyS1f6O1hr_SMDOIxvt842mOJgmu_yLUk0-0EKFs,3507
99
98
  eodag/utils/notebook.py,sha256=AUxtayvu26qYf3x3Eu3ujRl1XDgy24EfQaETbqmXSZw,2703
100
- eodag/utils/repr.py,sha256=6ocR8WyatAvh0oAM40bj_FvIt_XMmu-sW0nPxbH9UnM,3683
101
- eodag/utils/requests.py,sha256=YfN37yA9a_rIEpzhIaG1AL-vpCZitVECicdrKgKgp3A,4604
99
+ eodag/utils/repr.py,sha256=o6NhScogBPI69m83GsHh3hXONb9-byPfuWgJ1U39Kfw,5463
100
+ eodag/utils/requests.py,sha256=PcZnzz3y7YvTwypman8zVX3uWvkI_MVZcW-QFldItKE,4567
102
101
  eodag/utils/rest.py,sha256=Jd7HMbPCaGW5fFK1Ud0FyocEXqGInwneLFdB7mNRW9A,3361
103
102
  eodag/utils/stac_reader.py,sha256=OcSsGCegA39awgM6VanFe6_kO-9CG8YzKjuzoSGVJSo,9248
104
- eodag-3.0.1.dist-info/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
105
- eodag-3.0.1.dist-info/METADATA,sha256=EGhAC2s1sFmSg2DJxrPMuGyNVpNGGGrEctxZAJjd1_E,15567
106
- eodag-3.0.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
107
- eodag-3.0.1.dist-info/entry_points.txt,sha256=iKQHH0DeP96tHvTTPGLBhsJm-2Iyh1k02UbcMyTpcec,2438
108
- eodag-3.0.1.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
109
- eodag-3.0.1.dist-info/RECORD,,
103
+ eodag-3.1.0b1.dist-info/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
104
+ eodag-3.1.0b1.dist-info/METADATA,sha256=0SsXFv4CGxUdsimi9n8WLbaryNEZ6HhDMcRD47oGtUM,15511
105
+ eodag-3.1.0b1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
106
+ eodag-3.1.0b1.dist-info/entry_points.txt,sha256=CRwS41drMrG6V6lnvfUPPLnhxeTzWIxCuaMkwe-IEK8,2491
107
+ eodag-3.1.0b1.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
108
+ eodag-3.1.0b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -31,15 +31,16 @@ HTTPDownload = eodag.plugins.download.http:HTTPDownload
31
31
  S3RestDownload = eodag.plugins.download.s3rest:S3RestDownload
32
32
 
33
33
  [eodag.plugins.search]
34
- BuildPostSearchResult = eodag.plugins.search.build_search_result:BuildPostSearchResult
35
- BuildSearchResult = eodag.plugins.search.build_search_result:BuildSearchResult
36
34
  CSWSearch = eodag.plugins.search.csw:CSWSearch [csw]
37
35
  CopMarineSearch = eodag.plugins.search.cop_marine:CopMarineSearch
38
36
  CreodiasS3Search = eodag.plugins.search.creodias_s3:CreodiasS3Search
39
37
  DataRequestSearch = eodag.plugins.search.data_request_search:DataRequestSearch
38
+ ECMWFSearch = eodag.plugins.search.build_search_result:ECMWFSearch
39
+ MeteoblueSearch = eodag.plugins.search.build_search_result:MeteoblueSearch
40
40
  ODataV4Search = eodag.plugins.search.qssearch:ODataV4Search
41
41
  PostJsonSearch = eodag.plugins.search.qssearch:PostJsonSearch
42
42
  PostJsonSearchWithStacQueryables = eodag.plugins.search.qssearch:PostJsonSearchWithStacQueryables
43
43
  QueryStringSearch = eodag.plugins.search.qssearch:QueryStringSearch
44
44
  StacSearch = eodag.plugins.search.qssearch:StacSearch
45
45
  StaticStacSearch = eodag.plugins.search.static_stac_search:StaticStacSearch
46
+ WekeoECMWFSearch = eodag.plugins.search.build_search_result:WekeoECMWFSearch