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.
- eodag/api/core.py +116 -86
- eodag/api/product/_assets.py +6 -6
- eodag/api/product/_product.py +18 -18
- eodag/api/product/metadata_mapping.py +39 -11
- eodag/cli.py +22 -1
- eodag/config.py +14 -14
- eodag/plugins/apis/ecmwf.py +37 -14
- eodag/plugins/apis/usgs.py +5 -5
- eodag/plugins/authentication/openid_connect.py +2 -2
- eodag/plugins/authentication/token.py +37 -6
- eodag/plugins/crunch/filter_property.py +2 -3
- eodag/plugins/download/aws.py +11 -12
- eodag/plugins/download/base.py +30 -39
- eodag/plugins/download/creodias_s3.py +29 -0
- eodag/plugins/download/http.py +144 -152
- eodag/plugins/download/s3rest.py +5 -7
- eodag/plugins/search/base.py +73 -25
- eodag/plugins/search/build_search_result.py +1047 -310
- eodag/plugins/search/creodias_s3.py +25 -19
- eodag/plugins/search/data_request_search.py +1 -1
- eodag/plugins/search/qssearch.py +51 -139
- eodag/resources/ext_product_types.json +1 -1
- eodag/resources/product_types.yml +391 -32
- eodag/resources/providers.yml +678 -1744
- eodag/rest/core.py +92 -62
- eodag/rest/server.py +31 -4
- eodag/rest/types/eodag_search.py +6 -0
- eodag/rest/types/queryables.py +5 -6
- eodag/rest/utils/__init__.py +3 -0
- eodag/types/__init__.py +56 -15
- eodag/types/download_args.py +2 -2
- eodag/types/queryables.py +180 -72
- eodag/types/whoosh.py +126 -0
- eodag/utils/__init__.py +71 -10
- eodag/utils/exceptions.py +27 -20
- eodag/utils/repr.py +65 -6
- eodag/utils/requests.py +11 -11
- {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/METADATA +76 -76
- {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/RECORD +43 -44
- {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/WHEEL +1 -1
- {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/entry_points.txt +3 -2
- eodag/utils/constraints.py +0 -244
- {eodag-3.0.1.dist-info → eodag-3.1.0b1.dist-info}/LICENSE +0 -0
- {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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
51
|
-
|
|
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 {
|
|
55
|
+
logger.debug(f"fetching {url}")
|
|
56
56
|
res = req_session.get(
|
|
57
|
-
|
|
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=
|
|
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 {
|
|
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
|
|
104
|
-
:param kwargs: (not used)
|
|
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
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: eodag
|
|
3
|
-
Version: 3.
|
|
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
|
|
39
|
+
Requires-Dist: jsonpath-ng<1.6.0
|
|
40
40
|
Requires-Dist: lxml
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
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
|
|
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
|
|
53
|
+
Requires-Dist: shapely>=2.0.6
|
|
52
54
|
Requires-Dist: stream-zip
|
|
53
55
|
Requires-Dist: tqdm
|
|
54
|
-
Requires-Dist:
|
|
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]
|
|
60
|
+
Requires-Dist: eodag[all-providers,csw,server,tutorials]; extra == "all"
|
|
61
61
|
Provides-Extra: all-providers
|
|
62
|
-
Requires-Dist: eodag[ecmwf,usgs]
|
|
62
|
+
Requires-Dist: eodag[ecmwf,usgs]; extra == "all-providers"
|
|
63
63
|
Provides-Extra: csw
|
|
64
|
-
Requires-Dist: OWSLib
|
|
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
|
|
97
|
-
Provides-Extra:
|
|
98
|
-
Requires-Dist:
|
|
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
|
|
101
|
-
Requires-Dist: pygeofilter
|
|
102
|
-
Requires-Dist: starlette
|
|
103
|
-
Requires-Dist: uvicorn[standard]
|
|
104
|
-
Requires-Dist: pydantic-settings
|
|
105
|
-
Requires-Dist: cachetools
|
|
106
|
-
Provides-Extra:
|
|
107
|
-
Requires-Dist:
|
|
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]
|
|
117
|
-
Requires-Dist: eodag-cube
|
|
118
|
-
Requires-Dist: jupyter
|
|
119
|
-
Requires-Dist: ipyleaflet
|
|
120
|
-
Requires-Dist: ipywidgets
|
|
121
|
-
Requires-Dist: matplotlib
|
|
122
|
-
Requires-Dist: folium
|
|
123
|
-
Requires-Dist: imageio
|
|
124
|
-
Requires-Dist: rasterio
|
|
125
|
-
Requires-Dist: netcdf4
|
|
126
|
-
Provides-Extra:
|
|
127
|
-
Requires-Dist:
|
|
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.
|
|
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=
|
|
3
|
-
eodag/config.py,sha256=
|
|
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=
|
|
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=
|
|
11
|
-
eodag/api/product/_product.py,sha256=
|
|
12
|
-
eodag/api/product/metadata_mapping.py,sha256=
|
|
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=
|
|
21
|
-
eodag/plugins/apis/usgs.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
43
|
-
eodag/plugins/download/base.py,sha256=
|
|
44
|
-
eodag/plugins/download/creodias_s3.py,sha256=
|
|
45
|
-
eodag/plugins/download/http.py,sha256=
|
|
46
|
-
eodag/plugins/download/s3rest.py,sha256=
|
|
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=
|
|
49
|
-
eodag/plugins/search/build_search_result.py,sha256
|
|
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=
|
|
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=
|
|
54
|
-
eodag/plugins/search/qssearch.py,sha256=
|
|
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=
|
|
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=
|
|
59
|
-
eodag/resources/providers.yml,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
83
|
-
eodag/rest/types/queryables.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
91
|
-
eodag/types/queryables.py,sha256=
|
|
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=
|
|
94
|
-
eodag/utils/__init__.py,sha256=
|
|
95
|
-
eodag/utils/
|
|
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=
|
|
101
|
-
eodag/utils/requests.py,sha256=
|
|
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.
|
|
105
|
-
eodag-3.
|
|
106
|
-
eodag-3.
|
|
107
|
-
eodag-3.
|
|
108
|
-
eodag-3.
|
|
109
|
-
eodag-3.
|
|
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,,
|
|
@@ -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
|