athena-intelligence 0.1.87__py3-none-any.whl → 0.1.88__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.
- athena/base_client.py +4 -4
- athena/chain/client.py +30 -138
- athena/client.py +57 -19
- athena/core/client_wrapper.py +13 -3
- athena/core/http_client.py +333 -20
- athena/core/remove_none_from_dict.py +2 -2
- athena/dataset/client.py +8 -64
- athena/message/client.py +20 -113
- athena/query/client.py +8 -54
- athena/report/client.py +10 -66
- athena/search/client.py +22 -68
- athena/snippet/client.py +10 -116
- athena/tools/client.py +112 -542
- athena/upload/client.py +2 -58
- athena/workflow/client.py +8 -54
- {athena_intelligence-0.1.87.dist-info → athena_intelligence-0.1.88.dist-info}/METADATA +1 -1
- {athena_intelligence-0.1.87.dist-info → athena_intelligence-0.1.88.dist-info}/RECORD +18 -18
- {athena_intelligence-0.1.87.dist-info → athena_intelligence-0.1.88.dist-info}/WHEEL +0 -0
athena/message/client.py
CHANGED
@@ -1,15 +1,12 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
3
|
import typing
|
4
|
-
import urllib.parse
|
5
4
|
from json.decoder import JSONDecodeError
|
6
5
|
|
7
6
|
from ..core.api_error import ApiError
|
8
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
8
|
from ..core.jsonable_encoder import jsonable_encoder
|
10
9
|
from ..core.pydantic_utilities import pydantic_v1
|
11
|
-
from ..core.query_encoder import encode_query
|
12
|
-
from ..core.remove_none_from_dict import remove_none_from_dict
|
13
10
|
from ..core.request_options import RequestOptions
|
14
11
|
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
15
12
|
from ..types.http_validation_error import HttpValidationError
|
@@ -71,42 +68,18 @@ class MessageClient:
|
|
71
68
|
tools=[Tools.SEARCH, Tools.BROWSE],
|
72
69
|
)
|
73
70
|
"""
|
74
|
-
_request: typing.Dict[str, typing.Any] = {"content": content}
|
75
|
-
if model is not OMIT:
|
76
|
-
_request["model"] = model
|
77
|
-
if tools is not OMIT:
|
78
|
-
_request["tools"] = tools
|
79
|
-
if conversation_id is not OMIT:
|
80
|
-
_request["conversation_id"] = conversation_id
|
81
|
-
if conversation_name is not OMIT:
|
82
|
-
_request["conversation_name"] = conversation_name
|
83
71
|
_response = self._client_wrapper.httpx_client.request(
|
72
|
+
"api/v0/message",
|
84
73
|
method="POST",
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
json=jsonable_encoder(_request)
|
92
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
93
|
-
else {
|
94
|
-
**jsonable_encoder(_request),
|
95
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
74
|
+
json={
|
75
|
+
"content": content,
|
76
|
+
"model": model,
|
77
|
+
"tools": tools,
|
78
|
+
"conversation_id": conversation_id,
|
79
|
+
"conversation_name": conversation_name,
|
96
80
|
},
|
97
|
-
|
98
|
-
|
99
|
-
{
|
100
|
-
**self._client_wrapper.get_headers(),
|
101
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
102
|
-
}
|
103
|
-
)
|
104
|
-
),
|
105
|
-
timeout=request_options.get("timeout_in_seconds")
|
106
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
107
|
-
else self._client_wrapper.get_timeout(),
|
108
|
-
retries=0,
|
109
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
81
|
+
request_options=request_options,
|
82
|
+
omit=OMIT,
|
110
83
|
)
|
111
84
|
if 200 <= _response.status_code < 300:
|
112
85
|
return pydantic_v1.parse_obj_as(MessageOut, _response.json()) # type: ignore
|
@@ -146,28 +119,7 @@ class MessageClient:
|
|
146
119
|
)
|
147
120
|
"""
|
148
121
|
_response = self._client_wrapper.httpx_client.request(
|
149
|
-
method="GET",
|
150
|
-
url=urllib.parse.urljoin(
|
151
|
-
f"{self._client_wrapper.get_base_url()}/", f"api/v0/message/{jsonable_encoder(id)}"
|
152
|
-
),
|
153
|
-
params=encode_query(
|
154
|
-
jsonable_encoder(
|
155
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
156
|
-
)
|
157
|
-
),
|
158
|
-
headers=jsonable_encoder(
|
159
|
-
remove_none_from_dict(
|
160
|
-
{
|
161
|
-
**self._client_wrapper.get_headers(),
|
162
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
163
|
-
}
|
164
|
-
)
|
165
|
-
),
|
166
|
-
timeout=request_options.get("timeout_in_seconds")
|
167
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
168
|
-
else self._client_wrapper.get_timeout(),
|
169
|
-
retries=0,
|
170
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
122
|
+
f"api/v0/message/{jsonable_encoder(id)}", method="GET", request_options=request_options
|
171
123
|
)
|
172
124
|
if 200 <= _response.status_code < 300:
|
173
125
|
return pydantic_v1.parse_obj_as(MessageOutDto, _response.json()) # type: ignore
|
@@ -231,42 +183,18 @@ class AsyncMessageClient:
|
|
231
183
|
tools=[Tools.SEARCH, Tools.BROWSE],
|
232
184
|
)
|
233
185
|
"""
|
234
|
-
_request: typing.Dict[str, typing.Any] = {"content": content}
|
235
|
-
if model is not OMIT:
|
236
|
-
_request["model"] = model
|
237
|
-
if tools is not OMIT:
|
238
|
-
_request["tools"] = tools
|
239
|
-
if conversation_id is not OMIT:
|
240
|
-
_request["conversation_id"] = conversation_id
|
241
|
-
if conversation_name is not OMIT:
|
242
|
-
_request["conversation_name"] = conversation_name
|
243
186
|
_response = await self._client_wrapper.httpx_client.request(
|
187
|
+
"api/v0/message",
|
244
188
|
method="POST",
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
json=jsonable_encoder(_request)
|
252
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
253
|
-
else {
|
254
|
-
**jsonable_encoder(_request),
|
255
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
189
|
+
json={
|
190
|
+
"content": content,
|
191
|
+
"model": model,
|
192
|
+
"tools": tools,
|
193
|
+
"conversation_id": conversation_id,
|
194
|
+
"conversation_name": conversation_name,
|
256
195
|
},
|
257
|
-
|
258
|
-
|
259
|
-
{
|
260
|
-
**self._client_wrapper.get_headers(),
|
261
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
262
|
-
}
|
263
|
-
)
|
264
|
-
),
|
265
|
-
timeout=request_options.get("timeout_in_seconds")
|
266
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
267
|
-
else self._client_wrapper.get_timeout(),
|
268
|
-
retries=0,
|
269
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
196
|
+
request_options=request_options,
|
197
|
+
omit=OMIT,
|
270
198
|
)
|
271
199
|
if 200 <= _response.status_code < 300:
|
272
200
|
return pydantic_v1.parse_obj_as(MessageOut, _response.json()) # type: ignore
|
@@ -306,28 +234,7 @@ class AsyncMessageClient:
|
|
306
234
|
)
|
307
235
|
"""
|
308
236
|
_response = await self._client_wrapper.httpx_client.request(
|
309
|
-
method="GET",
|
310
|
-
url=urllib.parse.urljoin(
|
311
|
-
f"{self._client_wrapper.get_base_url()}/", f"api/v0/message/{jsonable_encoder(id)}"
|
312
|
-
),
|
313
|
-
params=encode_query(
|
314
|
-
jsonable_encoder(
|
315
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
316
|
-
)
|
317
|
-
),
|
318
|
-
headers=jsonable_encoder(
|
319
|
-
remove_none_from_dict(
|
320
|
-
{
|
321
|
-
**self._client_wrapper.get_headers(),
|
322
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
323
|
-
}
|
324
|
-
)
|
325
|
-
),
|
326
|
-
timeout=request_options.get("timeout_in_seconds")
|
327
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
328
|
-
else self._client_wrapper.get_timeout(),
|
329
|
-
retries=0,
|
330
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
237
|
+
f"api/v0/message/{jsonable_encoder(id)}", method="GET", request_options=request_options
|
331
238
|
)
|
332
239
|
if 200 <= _response.status_code < 300:
|
333
240
|
return pydantic_v1.parse_obj_as(MessageOutDto, _response.json()) # type: ignore
|
athena/query/client.py
CHANGED
@@ -1,15 +1,11 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
3
|
import typing
|
4
|
-
import urllib.parse
|
5
4
|
from json.decoder import JSONDecodeError
|
6
5
|
|
7
6
|
from ..core.api_error import ApiError
|
8
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
|
-
from ..core.jsonable_encoder import jsonable_encoder
|
10
8
|
from ..core.pydantic_utilities import pydantic_v1
|
11
|
-
from ..core.query_encoder import encode_query
|
12
|
-
from ..core.remove_none_from_dict import remove_none_from_dict
|
13
9
|
from ..core.request_options import RequestOptions
|
14
10
|
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
15
11
|
from ..types.http_validation_error import HttpValidationError
|
@@ -54,32 +50,11 @@ class QueryClient:
|
|
54
50
|
)
|
55
51
|
"""
|
56
52
|
_response = self._client_wrapper.httpx_client.request(
|
53
|
+
"api/v0/execute-sql",
|
57
54
|
method="POST",
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
62
|
-
)
|
63
|
-
),
|
64
|
-
json=jsonable_encoder({"sql_command": sql_command, "database_id": database_id})
|
65
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
66
|
-
else {
|
67
|
-
**jsonable_encoder({"sql_command": sql_command, "database_id": database_id}),
|
68
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
69
|
-
},
|
70
|
-
headers=jsonable_encoder(
|
71
|
-
remove_none_from_dict(
|
72
|
-
{
|
73
|
-
**self._client_wrapper.get_headers(),
|
74
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
75
|
-
}
|
76
|
-
)
|
77
|
-
),
|
78
|
-
timeout=request_options.get("timeout_in_seconds")
|
79
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
80
|
-
else self._client_wrapper.get_timeout(),
|
81
|
-
retries=0,
|
82
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
55
|
+
json={"sql_command": sql_command, "database_id": database_id},
|
56
|
+
request_options=request_options,
|
57
|
+
omit=OMIT,
|
83
58
|
)
|
84
59
|
if 200 <= _response.status_code < 300:
|
85
60
|
return pydantic_v1.parse_obj_as(SqlResults, _response.json()) # type: ignore
|
@@ -129,32 +104,11 @@ class AsyncQueryClient:
|
|
129
104
|
)
|
130
105
|
"""
|
131
106
|
_response = await self._client_wrapper.httpx_client.request(
|
107
|
+
"api/v0/execute-sql",
|
132
108
|
method="POST",
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
137
|
-
)
|
138
|
-
),
|
139
|
-
json=jsonable_encoder({"sql_command": sql_command, "database_id": database_id})
|
140
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
141
|
-
else {
|
142
|
-
**jsonable_encoder({"sql_command": sql_command, "database_id": database_id}),
|
143
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
144
|
-
},
|
145
|
-
headers=jsonable_encoder(
|
146
|
-
remove_none_from_dict(
|
147
|
-
{
|
148
|
-
**self._client_wrapper.get_headers(),
|
149
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
150
|
-
}
|
151
|
-
)
|
152
|
-
),
|
153
|
-
timeout=request_options.get("timeout_in_seconds")
|
154
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
155
|
-
else self._client_wrapper.get_timeout(),
|
156
|
-
retries=0,
|
157
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
109
|
+
json={"sql_command": sql_command, "database_id": database_id},
|
110
|
+
request_options=request_options,
|
111
|
+
omit=OMIT,
|
158
112
|
)
|
159
113
|
if 200 <= _response.status_code < 300:
|
160
114
|
return pydantic_v1.parse_obj_as(SqlResults, _response.json()) # type: ignore
|
athena/report/client.py
CHANGED
@@ -1,15 +1,11 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
3
|
import typing
|
4
|
-
import urllib.parse
|
5
4
|
from json.decoder import JSONDecodeError
|
6
5
|
|
7
6
|
from ..core.api_error import ApiError
|
8
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
|
-
from ..core.jsonable_encoder import jsonable_encoder
|
10
8
|
from ..core.pydantic_utilities import pydantic_v1
|
11
|
-
from ..core.query_encoder import encode_query
|
12
|
-
from ..core.remove_none_from_dict import remove_none_from_dict
|
13
9
|
from ..core.request_options import RequestOptions
|
14
10
|
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
15
11
|
from ..types.http_validation_error import HttpValidationError
|
@@ -28,7 +24,7 @@ class ReportClient:
|
|
28
24
|
*,
|
29
25
|
name: typing.Optional[str] = OMIT,
|
30
26
|
workspace_access: typing.Optional[bool] = OMIT,
|
31
|
-
request_options: typing.Optional[RequestOptions] = None
|
27
|
+
request_options: typing.Optional[RequestOptions] = None
|
32
28
|
) -> Report:
|
33
29
|
"""
|
34
30
|
Parameters
|
@@ -54,38 +50,12 @@ class ReportClient:
|
|
54
50
|
)
|
55
51
|
client.report.create()
|
56
52
|
"""
|
57
|
-
_request: typing.Dict[str, typing.Any] = {}
|
58
|
-
if name is not OMIT:
|
59
|
-
_request["name"] = name
|
60
|
-
if workspace_access is not OMIT:
|
61
|
-
_request["workspace_access"] = workspace_access
|
62
53
|
_response = self._client_wrapper.httpx_client.request(
|
54
|
+
"api/v0/report",
|
63
55
|
method="POST",
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
68
|
-
)
|
69
|
-
),
|
70
|
-
json=jsonable_encoder(_request)
|
71
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
72
|
-
else {
|
73
|
-
**jsonable_encoder(_request),
|
74
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
75
|
-
},
|
76
|
-
headers=jsonable_encoder(
|
77
|
-
remove_none_from_dict(
|
78
|
-
{
|
79
|
-
**self._client_wrapper.get_headers(),
|
80
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
81
|
-
}
|
82
|
-
)
|
83
|
-
),
|
84
|
-
timeout=request_options.get("timeout_in_seconds")
|
85
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
86
|
-
else self._client_wrapper.get_timeout(),
|
87
|
-
retries=0,
|
88
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
56
|
+
json={"name": name, "workspace_access": workspace_access},
|
57
|
+
request_options=request_options,
|
58
|
+
omit=OMIT,
|
89
59
|
)
|
90
60
|
if 200 <= _response.status_code < 300:
|
91
61
|
return pydantic_v1.parse_obj_as(Report, _response.json()) # type: ignore
|
@@ -109,7 +79,7 @@ class AsyncReportClient:
|
|
109
79
|
*,
|
110
80
|
name: typing.Optional[str] = OMIT,
|
111
81
|
workspace_access: typing.Optional[bool] = OMIT,
|
112
|
-
request_options: typing.Optional[RequestOptions] = None
|
82
|
+
request_options: typing.Optional[RequestOptions] = None
|
113
83
|
) -> Report:
|
114
84
|
"""
|
115
85
|
Parameters
|
@@ -135,38 +105,12 @@ class AsyncReportClient:
|
|
135
105
|
)
|
136
106
|
await client.report.create()
|
137
107
|
"""
|
138
|
-
_request: typing.Dict[str, typing.Any] = {}
|
139
|
-
if name is not OMIT:
|
140
|
-
_request["name"] = name
|
141
|
-
if workspace_access is not OMIT:
|
142
|
-
_request["workspace_access"] = workspace_access
|
143
108
|
_response = await self._client_wrapper.httpx_client.request(
|
109
|
+
"api/v0/report",
|
144
110
|
method="POST",
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
149
|
-
)
|
150
|
-
),
|
151
|
-
json=jsonable_encoder(_request)
|
152
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
153
|
-
else {
|
154
|
-
**jsonable_encoder(_request),
|
155
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
156
|
-
},
|
157
|
-
headers=jsonable_encoder(
|
158
|
-
remove_none_from_dict(
|
159
|
-
{
|
160
|
-
**self._client_wrapper.get_headers(),
|
161
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
162
|
-
}
|
163
|
-
)
|
164
|
-
),
|
165
|
-
timeout=request_options.get("timeout_in_seconds")
|
166
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
167
|
-
else self._client_wrapper.get_timeout(),
|
168
|
-
retries=0,
|
169
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
111
|
+
json={"name": name, "workspace_access": workspace_access},
|
112
|
+
request_options=request_options,
|
113
|
+
omit=OMIT,
|
170
114
|
)
|
171
115
|
if 200 <= _response.status_code < 300:
|
172
116
|
return pydantic_v1.parse_obj_as(Report, _response.json()) # type: ignore
|
athena/search/client.py
CHANGED
@@ -1,15 +1,11 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
3
|
import typing
|
4
|
-
import urllib.parse
|
5
4
|
from json.decoder import JSONDecodeError
|
6
5
|
|
7
6
|
from ..core.api_error import ApiError
|
8
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
|
-
from ..core.jsonable_encoder import jsonable_encoder
|
10
8
|
from ..core.pydantic_utilities import pydantic_v1
|
11
|
-
from ..core.query_encoder import encode_query
|
12
|
-
from ..core.remove_none_from_dict import remove_none_from_dict
|
13
9
|
from ..core.request_options import RequestOptions
|
14
10
|
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
15
11
|
from ..types.http_validation_error import HttpValidationError
|
@@ -32,7 +28,7 @@ class SearchClient:
|
|
32
28
|
country_code: typing.Optional[str] = OMIT,
|
33
29
|
country_restrict: typing.Optional[str] = OMIT,
|
34
30
|
site: typing.Optional[str] = OMIT,
|
35
|
-
request_options: typing.Optional[RequestOptions] = None
|
31
|
+
request_options: typing.Optional[RequestOptions] = None
|
36
32
|
) -> UrlResult:
|
37
33
|
"""
|
38
34
|
Parameters
|
@@ -70,40 +66,19 @@ class SearchClient:
|
|
70
66
|
tbs="qdr:m",
|
71
67
|
)
|
72
68
|
"""
|
73
|
-
_request: typing.Dict[str, typing.Any] = {"query": query, "num_urls": num_urls, "tbs": tbs}
|
74
|
-
if country_code is not OMIT:
|
75
|
-
_request["country_code"] = country_code
|
76
|
-
if country_restrict is not OMIT:
|
77
|
-
_request["country_restrict"] = country_restrict
|
78
|
-
if site is not OMIT:
|
79
|
-
_request["site"] = site
|
80
69
|
_response = self._client_wrapper.httpx_client.request(
|
70
|
+
"api/v0/tools/search/get-urls",
|
81
71
|
method="POST",
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
90
|
-
else {
|
91
|
-
**jsonable_encoder(_request),
|
92
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
72
|
+
json={
|
73
|
+
"query": query,
|
74
|
+
"num_urls": num_urls,
|
75
|
+
"tbs": tbs,
|
76
|
+
"country_code": country_code,
|
77
|
+
"country_restrict": country_restrict,
|
78
|
+
"site": site,
|
93
79
|
},
|
94
|
-
|
95
|
-
|
96
|
-
{
|
97
|
-
**self._client_wrapper.get_headers(),
|
98
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
99
|
-
}
|
100
|
-
)
|
101
|
-
),
|
102
|
-
timeout=request_options.get("timeout_in_seconds")
|
103
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
104
|
-
else self._client_wrapper.get_timeout(),
|
105
|
-
retries=0,
|
106
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
80
|
+
request_options=request_options,
|
81
|
+
omit=OMIT,
|
107
82
|
)
|
108
83
|
if 200 <= _response.status_code < 300:
|
109
84
|
return pydantic_v1.parse_obj_as(UrlResult, _response.json()) # type: ignore
|
@@ -131,7 +106,7 @@ class AsyncSearchClient:
|
|
131
106
|
country_code: typing.Optional[str] = OMIT,
|
132
107
|
country_restrict: typing.Optional[str] = OMIT,
|
133
108
|
site: typing.Optional[str] = OMIT,
|
134
|
-
request_options: typing.Optional[RequestOptions] = None
|
109
|
+
request_options: typing.Optional[RequestOptions] = None
|
135
110
|
) -> UrlResult:
|
136
111
|
"""
|
137
112
|
Parameters
|
@@ -169,40 +144,19 @@ class AsyncSearchClient:
|
|
169
144
|
tbs="qdr:m",
|
170
145
|
)
|
171
146
|
"""
|
172
|
-
_request: typing.Dict[str, typing.Any] = {"query": query, "num_urls": num_urls, "tbs": tbs}
|
173
|
-
if country_code is not OMIT:
|
174
|
-
_request["country_code"] = country_code
|
175
|
-
if country_restrict is not OMIT:
|
176
|
-
_request["country_restrict"] = country_restrict
|
177
|
-
if site is not OMIT:
|
178
|
-
_request["site"] = site
|
179
147
|
_response = await self._client_wrapper.httpx_client.request(
|
148
|
+
"api/v0/tools/search/get-urls",
|
180
149
|
method="POST",
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
189
|
-
else {
|
190
|
-
**jsonable_encoder(_request),
|
191
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
150
|
+
json={
|
151
|
+
"query": query,
|
152
|
+
"num_urls": num_urls,
|
153
|
+
"tbs": tbs,
|
154
|
+
"country_code": country_code,
|
155
|
+
"country_restrict": country_restrict,
|
156
|
+
"site": site,
|
192
157
|
},
|
193
|
-
|
194
|
-
|
195
|
-
{
|
196
|
-
**self._client_wrapper.get_headers(),
|
197
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
198
|
-
}
|
199
|
-
)
|
200
|
-
),
|
201
|
-
timeout=request_options.get("timeout_in_seconds")
|
202
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
203
|
-
else self._client_wrapper.get_timeout(),
|
204
|
-
retries=0,
|
205
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
158
|
+
request_options=request_options,
|
159
|
+
omit=OMIT,
|
206
160
|
)
|
207
161
|
if 200 <= _response.status_code < 300:
|
208
162
|
return pydantic_v1.parse_obj_as(UrlResult, _response.json()) # type: ignore
|