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/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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/message"),
86
- params=encode_query(
87
- jsonable_encoder(
88
- request_options.get("additional_query_parameters") if request_options is not None else None
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
- headers=jsonable_encoder(
98
- remove_none_from_dict(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/message"),
246
- params=encode_query(
247
- jsonable_encoder(
248
- request_options.get("additional_query_parameters") if request_options is not None else None
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
- headers=jsonable_encoder(
258
- remove_none_from_dict(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/execute-sql"),
59
- params=encode_query(
60
- jsonable_encoder(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/execute-sql"),
134
- params=encode_query(
135
- jsonable_encoder(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/report"),
65
- params=encode_query(
66
- jsonable_encoder(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/report"),
146
- params=encode_query(
147
- jsonable_encoder(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/tools/search/get-urls"),
83
- params=encode_query(
84
- jsonable_encoder(
85
- request_options.get("additional_query_parameters") if request_options is not None else None
86
- )
87
- ),
88
- json=jsonable_encoder(_request)
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
- headers=jsonable_encoder(
95
- remove_none_from_dict(
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
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v0/tools/search/get-urls"),
182
- params=encode_query(
183
- jsonable_encoder(
184
- request_options.get("additional_query_parameters") if request_options is not None else None
185
- )
186
- ),
187
- json=jsonable_encoder(_request)
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
- headers=jsonable_encoder(
194
- remove_none_from_dict(
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