athena-intelligence 0.1.94__py3-none-any.whl → 0.1.95__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/__init__.py +1 -76
- athena/base_client.py +4 -31
- athena/client.py +4 -9
- athena/core/client_wrapper.py +1 -1
- athena/environment.py +1 -1
- athena/tools/client.py +61 -916
- athena/tools/types/tools_data_frame_request_columns_item.py +1 -1
- athena/types/__init__.py +0 -66
- athena/types/data_frame_parsing_error.py +1 -1
- athena/types/data_frame_request_out.py +5 -1
- athena/types/data_frame_unknown_format_error.py +1 -1
- {athena_intelligence-0.1.94.dist-info → athena_intelligence-0.1.95.dist-info}/METADATA +1 -1
- athena_intelligence-0.1.95.dist-info/RECORD +40 -0
- athena/chain/__init__.py +0 -2
- athena/chain/client.py +0 -302
- athena/dataset/__init__.py +0 -2
- athena/dataset/client.py +0 -124
- athena/message/__init__.py +0 -2
- athena/message/client.py +0 -249
- athena/polling_message_client.py +0 -125
- athena/query/__init__.py +0 -2
- athena/query/client.py +0 -123
- athena/report/__init__.py +0 -2
- athena/report/client.py +0 -125
- athena/search/__init__.py +0 -2
- athena/search/client.py +0 -171
- athena/snippet/__init__.py +0 -2
- athena/snippet/client.py +0 -208
- athena/types/athena_document_v_2_out.py +0 -29
- athena/types/convert_pdf_to_sheet_out.py +0 -30
- athena/types/dataset.py +0 -33
- athena/types/document.py +0 -47
- athena/types/excecute_tool_first_workflow_out.py +0 -29
- athena/types/file_data_response.py +0 -36
- athena/types/filter_model.py +0 -32
- athena/types/filter_operator.py +0 -73
- athena/types/firecrawl_scrape_url_data_reponse_dto.py +0 -32
- athena/types/firecrawl_scrape_url_metadata.py +0 -34
- athena/types/get_datasets_response.py +0 -34
- athena/types/get_snippet_out.py +0 -29
- athena/types/get_snippets_response.py +0 -34
- athena/types/langchain_documents_request_out.py +0 -29
- athena/types/llm_model.py +0 -141
- athena/types/map_reduce_chain_out.py +0 -32
- athena/types/message_out.py +0 -29
- athena/types/message_out_dto.py +0 -35
- athena/types/model.py +0 -93
- athena/types/publish_formats.py +0 -31
- athena/types/query_model.py +0 -40
- athena/types/report.py +0 -32
- athena/types/researcher_out.py +0 -29
- athena/types/semantic_query_out.py +0 -29
- athena/types/snippet.py +0 -35
- athena/types/sql_results.py +0 -29
- athena/types/status_enum.py +0 -29
- athena/types/structured_parse_result.py +0 -29
- athena/types/time_dimension_model.py +0 -33
- athena/types/tools.py +0 -57
- athena/types/upload_documents_out.py +0 -31
- athena/types/url_result.py +0 -29
- athena/types/workflow_status_out.py +0 -31
- athena/upload/__init__.py +0 -2
- athena/upload/client.py +0 -108
- athena/workflow/__init__.py +0 -2
- athena/workflow/client.py +0 -117
- athena_intelligence-0.1.94.dist-info/RECORD +0 -92
- {athena_intelligence-0.1.94.dist-info → athena_intelligence-0.1.95.dist-info}/WHEEL +0 -0
athena/message/client.py
DELETED
@@ -1,249 +0,0 @@
|
|
1
|
-
# This file was auto-generated by Fern from our API Definition.
|
2
|
-
|
3
|
-
import typing
|
4
|
-
from json.decoder import JSONDecodeError
|
5
|
-
|
6
|
-
from ..core.api_error import ApiError
|
7
|
-
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
8
|
-
from ..core.jsonable_encoder import jsonable_encoder
|
9
|
-
from ..core.pydantic_utilities import pydantic_v1
|
10
|
-
from ..core.request_options import RequestOptions
|
11
|
-
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
12
|
-
from ..types.http_validation_error import HttpValidationError
|
13
|
-
from ..types.message_out import MessageOut
|
14
|
-
from ..types.message_out_dto import MessageOutDto
|
15
|
-
from ..types.model import Model
|
16
|
-
from ..types.tools import Tools
|
17
|
-
|
18
|
-
# this is used as the default value for optional parameters
|
19
|
-
OMIT = typing.cast(typing.Any, ...)
|
20
|
-
|
21
|
-
|
22
|
-
class MessageClient:
|
23
|
-
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
24
|
-
self._client_wrapper = client_wrapper
|
25
|
-
|
26
|
-
def submit(
|
27
|
-
self,
|
28
|
-
*,
|
29
|
-
content: str,
|
30
|
-
model: typing.Optional[Model] = OMIT,
|
31
|
-
tools: typing.Optional[typing.Sequence[Tools]] = OMIT,
|
32
|
-
conversation_id: typing.Optional[str] = OMIT,
|
33
|
-
conversation_name: typing.Optional[str] = OMIT,
|
34
|
-
request_options: typing.Optional[RequestOptions] = None,
|
35
|
-
) -> MessageOut:
|
36
|
-
"""
|
37
|
-
Parameters
|
38
|
-
----------
|
39
|
-
content : str
|
40
|
-
|
41
|
-
model : typing.Optional[Model]
|
42
|
-
|
43
|
-
tools : typing.Optional[typing.Sequence[Tools]]
|
44
|
-
|
45
|
-
conversation_id : typing.Optional[str]
|
46
|
-
|
47
|
-
conversation_name : typing.Optional[str]
|
48
|
-
|
49
|
-
request_options : typing.Optional[RequestOptions]
|
50
|
-
Request-specific configuration.
|
51
|
-
|
52
|
-
Returns
|
53
|
-
-------
|
54
|
-
MessageOut
|
55
|
-
Successful Response
|
56
|
-
|
57
|
-
Examples
|
58
|
-
--------
|
59
|
-
from athena import Model, Tools
|
60
|
-
from athena.client import Athena
|
61
|
-
|
62
|
-
client = Athena(
|
63
|
-
api_key="YOUR_API_KEY",
|
64
|
-
)
|
65
|
-
client.message.submit(
|
66
|
-
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
67
|
-
model=Model.GPT_35_TURBO,
|
68
|
-
tools=[Tools.SEARCH, Tools.BROWSE],
|
69
|
-
)
|
70
|
-
"""
|
71
|
-
_response = self._client_wrapper.httpx_client.request(
|
72
|
-
"api/v0/message",
|
73
|
-
method="POST",
|
74
|
-
json={
|
75
|
-
"content": content,
|
76
|
-
"model": model,
|
77
|
-
"tools": tools,
|
78
|
-
"conversation_id": conversation_id,
|
79
|
-
"conversation_name": conversation_name,
|
80
|
-
},
|
81
|
-
request_options=request_options,
|
82
|
-
omit=OMIT,
|
83
|
-
)
|
84
|
-
if 200 <= _response.status_code < 300:
|
85
|
-
return pydantic_v1.parse_obj_as(MessageOut, _response.json()) # type: ignore
|
86
|
-
if _response.status_code == 422:
|
87
|
-
raise UnprocessableEntityError(
|
88
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
89
|
-
)
|
90
|
-
try:
|
91
|
-
_response_json = _response.json()
|
92
|
-
except JSONDecodeError:
|
93
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
94
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
95
|
-
|
96
|
-
def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MessageOutDto:
|
97
|
-
"""
|
98
|
-
Parameters
|
99
|
-
----------
|
100
|
-
id : str
|
101
|
-
|
102
|
-
request_options : typing.Optional[RequestOptions]
|
103
|
-
Request-specific configuration.
|
104
|
-
|
105
|
-
Returns
|
106
|
-
-------
|
107
|
-
MessageOutDto
|
108
|
-
Successful Response
|
109
|
-
|
110
|
-
Examples
|
111
|
-
--------
|
112
|
-
from athena.client import Athena
|
113
|
-
|
114
|
-
client = Athena(
|
115
|
-
api_key="YOUR_API_KEY",
|
116
|
-
)
|
117
|
-
client.message.get(
|
118
|
-
id="id",
|
119
|
-
)
|
120
|
-
"""
|
121
|
-
_response = self._client_wrapper.httpx_client.request(
|
122
|
-
f"api/v0/message/{jsonable_encoder(id)}", method="GET", request_options=request_options
|
123
|
-
)
|
124
|
-
if 200 <= _response.status_code < 300:
|
125
|
-
return pydantic_v1.parse_obj_as(MessageOutDto, _response.json()) # type: ignore
|
126
|
-
if _response.status_code == 422:
|
127
|
-
raise UnprocessableEntityError(
|
128
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
129
|
-
)
|
130
|
-
try:
|
131
|
-
_response_json = _response.json()
|
132
|
-
except JSONDecodeError:
|
133
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
134
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
135
|
-
|
136
|
-
|
137
|
-
class AsyncMessageClient:
|
138
|
-
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
139
|
-
self._client_wrapper = client_wrapper
|
140
|
-
|
141
|
-
async def submit(
|
142
|
-
self,
|
143
|
-
*,
|
144
|
-
content: str,
|
145
|
-
model: typing.Optional[Model] = OMIT,
|
146
|
-
tools: typing.Optional[typing.Sequence[Tools]] = OMIT,
|
147
|
-
conversation_id: typing.Optional[str] = OMIT,
|
148
|
-
conversation_name: typing.Optional[str] = OMIT,
|
149
|
-
request_options: typing.Optional[RequestOptions] = None,
|
150
|
-
) -> MessageOut:
|
151
|
-
"""
|
152
|
-
Parameters
|
153
|
-
----------
|
154
|
-
content : str
|
155
|
-
|
156
|
-
model : typing.Optional[Model]
|
157
|
-
|
158
|
-
tools : typing.Optional[typing.Sequence[Tools]]
|
159
|
-
|
160
|
-
conversation_id : typing.Optional[str]
|
161
|
-
|
162
|
-
conversation_name : typing.Optional[str]
|
163
|
-
|
164
|
-
request_options : typing.Optional[RequestOptions]
|
165
|
-
Request-specific configuration.
|
166
|
-
|
167
|
-
Returns
|
168
|
-
-------
|
169
|
-
MessageOut
|
170
|
-
Successful Response
|
171
|
-
|
172
|
-
Examples
|
173
|
-
--------
|
174
|
-
from athena import Model, Tools
|
175
|
-
from athena.client import AsyncAthena
|
176
|
-
|
177
|
-
client = AsyncAthena(
|
178
|
-
api_key="YOUR_API_KEY",
|
179
|
-
)
|
180
|
-
await client.message.submit(
|
181
|
-
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
182
|
-
model=Model.GPT_35_TURBO,
|
183
|
-
tools=[Tools.SEARCH, Tools.BROWSE],
|
184
|
-
)
|
185
|
-
"""
|
186
|
-
_response = await self._client_wrapper.httpx_client.request(
|
187
|
-
"api/v0/message",
|
188
|
-
method="POST",
|
189
|
-
json={
|
190
|
-
"content": content,
|
191
|
-
"model": model,
|
192
|
-
"tools": tools,
|
193
|
-
"conversation_id": conversation_id,
|
194
|
-
"conversation_name": conversation_name,
|
195
|
-
},
|
196
|
-
request_options=request_options,
|
197
|
-
omit=OMIT,
|
198
|
-
)
|
199
|
-
if 200 <= _response.status_code < 300:
|
200
|
-
return pydantic_v1.parse_obj_as(MessageOut, _response.json()) # type: ignore
|
201
|
-
if _response.status_code == 422:
|
202
|
-
raise UnprocessableEntityError(
|
203
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
204
|
-
)
|
205
|
-
try:
|
206
|
-
_response_json = _response.json()
|
207
|
-
except JSONDecodeError:
|
208
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
209
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
210
|
-
|
211
|
-
async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MessageOutDto:
|
212
|
-
"""
|
213
|
-
Parameters
|
214
|
-
----------
|
215
|
-
id : str
|
216
|
-
|
217
|
-
request_options : typing.Optional[RequestOptions]
|
218
|
-
Request-specific configuration.
|
219
|
-
|
220
|
-
Returns
|
221
|
-
-------
|
222
|
-
MessageOutDto
|
223
|
-
Successful Response
|
224
|
-
|
225
|
-
Examples
|
226
|
-
--------
|
227
|
-
from athena.client import AsyncAthena
|
228
|
-
|
229
|
-
client = AsyncAthena(
|
230
|
-
api_key="YOUR_API_KEY",
|
231
|
-
)
|
232
|
-
await client.message.get(
|
233
|
-
id="id",
|
234
|
-
)
|
235
|
-
"""
|
236
|
-
_response = await self._client_wrapper.httpx_client.request(
|
237
|
-
f"api/v0/message/{jsonable_encoder(id)}", method="GET", request_options=request_options
|
238
|
-
)
|
239
|
-
if 200 <= _response.status_code < 300:
|
240
|
-
return pydantic_v1.parse_obj_as(MessageOutDto, _response.json()) # type: ignore
|
241
|
-
if _response.status_code == 422:
|
242
|
-
raise UnprocessableEntityError(
|
243
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
244
|
-
)
|
245
|
-
try:
|
246
|
-
_response_json = _response.json()
|
247
|
-
except JSONDecodeError:
|
248
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
249
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
athena/polling_message_client.py
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
# This file was auto-generated by Fern from our API Definition.
|
2
|
-
|
3
|
-
import time
|
4
|
-
import typing
|
5
|
-
|
6
|
-
from athena.types.message_out_dto import MessageOutDto
|
7
|
-
|
8
|
-
from .core import RequestOptions
|
9
|
-
from .message.client import AsyncMessageClient, MessageClient
|
10
|
-
from .types.model import Model
|
11
|
-
from .types.tools import Tools
|
12
|
-
from .types.status_enum import StatusEnum
|
13
|
-
|
14
|
-
# this is used as the default value for optional parameters
|
15
|
-
OMIT = typing.cast(typing.Any, ...)
|
16
|
-
|
17
|
-
|
18
|
-
class MessagePollingClient(MessageClient):
|
19
|
-
|
20
|
-
def submit_and_poll(
|
21
|
-
self,
|
22
|
-
*,
|
23
|
-
content: str,
|
24
|
-
model: typing.Optional[Model] = OMIT,
|
25
|
-
tools: typing.Optional[typing.Sequence[Tools]] = OMIT,
|
26
|
-
conversation_id: typing.Optional[str] = OMIT,
|
27
|
-
conversation_name: typing.Optional[str] = OMIT,
|
28
|
-
poll_interval: int = 2,
|
29
|
-
request_options: typing.Optional[RequestOptions] = None,
|
30
|
-
) -> MessageOutDto:
|
31
|
-
"""
|
32
|
-
Parameters:
|
33
|
-
- content: str.
|
34
|
-
|
35
|
-
- model: typing.Optional[Model].
|
36
|
-
|
37
|
-
- tools: typing.Optional[typing.Sequence[Tools]].
|
38
|
-
|
39
|
-
- conversation_id: typing.Optional[str].
|
40
|
-
|
41
|
-
- conversation_name: typing.Optional[str].
|
42
|
-
|
43
|
-
- poll_interval: int. The polling interval in seconds.
|
44
|
-
|
45
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
46
|
-
---
|
47
|
-
from athena import Model, Tools
|
48
|
-
from athena.client import Athena
|
49
|
-
|
50
|
-
client = Athena(
|
51
|
-
api_key="YOUR_API_KEY",
|
52
|
-
)
|
53
|
-
client.message.submit(
|
54
|
-
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
55
|
-
model=Model.GPT_4_TURBO_PREVIEW,
|
56
|
-
tools=[Tools.SEARCH, Tools.BROWSE],
|
57
|
-
)
|
58
|
-
"""
|
59
|
-
response = super().submit(
|
60
|
-
content=content,
|
61
|
-
model=model,
|
62
|
-
tools=tools,
|
63
|
-
conversation_id=conversation_id,
|
64
|
-
conversation_name=conversation_name,
|
65
|
-
request_options=request_options)
|
66
|
-
message = self.get(id=response.id)
|
67
|
-
while message.status == StatusEnum.PENDING:
|
68
|
-
time.sleep(poll_interval)
|
69
|
-
message = self.get(id=message.id)
|
70
|
-
return message
|
71
|
-
|
72
|
-
|
73
|
-
class AsyncMessagePollingClient(AsyncMessageClient):
|
74
|
-
|
75
|
-
async def submit_and_poll(
|
76
|
-
self,
|
77
|
-
*,
|
78
|
-
content: str,
|
79
|
-
model: typing.Optional[Model] = OMIT,
|
80
|
-
tools: typing.Optional[typing.Sequence[Tools]] = OMIT,
|
81
|
-
conversation_id: typing.Optional[str] = OMIT,
|
82
|
-
conversation_name: typing.Optional[str] = OMIT,
|
83
|
-
poll_interval: int = 2,
|
84
|
-
request_options: typing.Optional[RequestOptions] = None,
|
85
|
-
) -> MessageOutDto:
|
86
|
-
"""
|
87
|
-
Parameters:
|
88
|
-
- content: str.
|
89
|
-
|
90
|
-
- model: typing.Optional[Model].
|
91
|
-
|
92
|
-
- tools: typing.Optional[typing.Sequence[Tools]].
|
93
|
-
|
94
|
-
- conversation_id: typing.Optional[str].
|
95
|
-
|
96
|
-
- conversation_name: typing.Optional[str].
|
97
|
-
|
98
|
-
- poll_interval: int. The polling interval in seconds.
|
99
|
-
|
100
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
101
|
-
---
|
102
|
-
from athena import Model, Tools
|
103
|
-
from athena.client import AsyncAthena
|
104
|
-
|
105
|
-
client = AsyncAthena(
|
106
|
-
api_key="YOUR_API_KEY"
|
107
|
-
)
|
108
|
-
client.message.submit(
|
109
|
-
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
110
|
-
model=Model.GPT_4_TURBO_PREVIEW,
|
111
|
-
tools=[Tools.SEARCH, Tools.BROWSE],
|
112
|
-
)
|
113
|
-
"""
|
114
|
-
response = await super().submit(
|
115
|
-
content=content,
|
116
|
-
model=model,
|
117
|
-
tools=tools,
|
118
|
-
conversation_id=conversation_id,
|
119
|
-
conversation_name=conversation_name,
|
120
|
-
request_options=request_options)
|
121
|
-
message = await self.get(id=response.id)
|
122
|
-
while message.status == StatusEnum.PENDING:
|
123
|
-
time.sleep(poll_interval)
|
124
|
-
message = await self.get(id=message.id)
|
125
|
-
return message
|
athena/query/__init__.py
DELETED
athena/query/client.py
DELETED
@@ -1,123 +0,0 @@
|
|
1
|
-
# This file was auto-generated by Fern from our API Definition.
|
2
|
-
|
3
|
-
import typing
|
4
|
-
from json.decoder import JSONDecodeError
|
5
|
-
|
6
|
-
from ..core.api_error import ApiError
|
7
|
-
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
8
|
-
from ..core.pydantic_utilities import pydantic_v1
|
9
|
-
from ..core.request_options import RequestOptions
|
10
|
-
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
11
|
-
from ..types.http_validation_error import HttpValidationError
|
12
|
-
from ..types.sql_results import SqlResults
|
13
|
-
|
14
|
-
# this is used as the default value for optional parameters
|
15
|
-
OMIT = typing.cast(typing.Any, ...)
|
16
|
-
|
17
|
-
|
18
|
-
class QueryClient:
|
19
|
-
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
20
|
-
self._client_wrapper = client_wrapper
|
21
|
-
|
22
|
-
def execute(
|
23
|
-
self, *, sql_command: str, database_id: int, request_options: typing.Optional[RequestOptions] = None
|
24
|
-
) -> SqlResults:
|
25
|
-
"""
|
26
|
-
Parameters
|
27
|
-
----------
|
28
|
-
sql_command : str
|
29
|
-
|
30
|
-
database_id : int
|
31
|
-
|
32
|
-
request_options : typing.Optional[RequestOptions]
|
33
|
-
Request-specific configuration.
|
34
|
-
|
35
|
-
Returns
|
36
|
-
-------
|
37
|
-
SqlResults
|
38
|
-
Successful Response
|
39
|
-
|
40
|
-
Examples
|
41
|
-
--------
|
42
|
-
from athena.client import Athena
|
43
|
-
|
44
|
-
client = Athena(
|
45
|
-
api_key="YOUR_API_KEY",
|
46
|
-
)
|
47
|
-
client.query.execute(
|
48
|
-
sql_command="sql_command",
|
49
|
-
database_id=1,
|
50
|
-
)
|
51
|
-
"""
|
52
|
-
_response = self._client_wrapper.httpx_client.request(
|
53
|
-
"api/v0/execute-sql",
|
54
|
-
method="POST",
|
55
|
-
json={"sql_command": sql_command, "database_id": database_id},
|
56
|
-
request_options=request_options,
|
57
|
-
omit=OMIT,
|
58
|
-
)
|
59
|
-
if 200 <= _response.status_code < 300:
|
60
|
-
return pydantic_v1.parse_obj_as(SqlResults, _response.json()) # type: ignore
|
61
|
-
if _response.status_code == 422:
|
62
|
-
raise UnprocessableEntityError(
|
63
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
64
|
-
)
|
65
|
-
try:
|
66
|
-
_response_json = _response.json()
|
67
|
-
except JSONDecodeError:
|
68
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
69
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
70
|
-
|
71
|
-
|
72
|
-
class AsyncQueryClient:
|
73
|
-
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
74
|
-
self._client_wrapper = client_wrapper
|
75
|
-
|
76
|
-
async def execute(
|
77
|
-
self, *, sql_command: str, database_id: int, request_options: typing.Optional[RequestOptions] = None
|
78
|
-
) -> SqlResults:
|
79
|
-
"""
|
80
|
-
Parameters
|
81
|
-
----------
|
82
|
-
sql_command : str
|
83
|
-
|
84
|
-
database_id : int
|
85
|
-
|
86
|
-
request_options : typing.Optional[RequestOptions]
|
87
|
-
Request-specific configuration.
|
88
|
-
|
89
|
-
Returns
|
90
|
-
-------
|
91
|
-
SqlResults
|
92
|
-
Successful Response
|
93
|
-
|
94
|
-
Examples
|
95
|
-
--------
|
96
|
-
from athena.client import AsyncAthena
|
97
|
-
|
98
|
-
client = AsyncAthena(
|
99
|
-
api_key="YOUR_API_KEY",
|
100
|
-
)
|
101
|
-
await client.query.execute(
|
102
|
-
sql_command="sql_command",
|
103
|
-
database_id=1,
|
104
|
-
)
|
105
|
-
"""
|
106
|
-
_response = await self._client_wrapper.httpx_client.request(
|
107
|
-
"api/v0/execute-sql",
|
108
|
-
method="POST",
|
109
|
-
json={"sql_command": sql_command, "database_id": database_id},
|
110
|
-
request_options=request_options,
|
111
|
-
omit=OMIT,
|
112
|
-
)
|
113
|
-
if 200 <= _response.status_code < 300:
|
114
|
-
return pydantic_v1.parse_obj_as(SqlResults, _response.json()) # type: ignore
|
115
|
-
if _response.status_code == 422:
|
116
|
-
raise UnprocessableEntityError(
|
117
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
118
|
-
)
|
119
|
-
try:
|
120
|
-
_response_json = _response.json()
|
121
|
-
except JSONDecodeError:
|
122
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
123
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
athena/report/__init__.py
DELETED
athena/report/client.py
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
# This file was auto-generated by Fern from our API Definition.
|
2
|
-
|
3
|
-
import typing
|
4
|
-
from json.decoder import JSONDecodeError
|
5
|
-
|
6
|
-
from ..core.api_error import ApiError
|
7
|
-
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
8
|
-
from ..core.pydantic_utilities import pydantic_v1
|
9
|
-
from ..core.request_options import RequestOptions
|
10
|
-
from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
11
|
-
from ..types.http_validation_error import HttpValidationError
|
12
|
-
from ..types.report import Report
|
13
|
-
|
14
|
-
# this is used as the default value for optional parameters
|
15
|
-
OMIT = typing.cast(typing.Any, ...)
|
16
|
-
|
17
|
-
|
18
|
-
class ReportClient:
|
19
|
-
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
20
|
-
self._client_wrapper = client_wrapper
|
21
|
-
|
22
|
-
def create(
|
23
|
-
self,
|
24
|
-
*,
|
25
|
-
name: typing.Optional[str] = OMIT,
|
26
|
-
workspace_access: typing.Optional[bool] = OMIT,
|
27
|
-
request_options: typing.Optional[RequestOptions] = None
|
28
|
-
) -> Report:
|
29
|
-
"""
|
30
|
-
Parameters
|
31
|
-
----------
|
32
|
-
name : typing.Optional[str]
|
33
|
-
|
34
|
-
workspace_access : typing.Optional[bool]
|
35
|
-
|
36
|
-
request_options : typing.Optional[RequestOptions]
|
37
|
-
Request-specific configuration.
|
38
|
-
|
39
|
-
Returns
|
40
|
-
-------
|
41
|
-
Report
|
42
|
-
Successful Response
|
43
|
-
|
44
|
-
Examples
|
45
|
-
--------
|
46
|
-
from athena.client import Athena
|
47
|
-
|
48
|
-
client = Athena(
|
49
|
-
api_key="YOUR_API_KEY",
|
50
|
-
)
|
51
|
-
client.report.create()
|
52
|
-
"""
|
53
|
-
_response = self._client_wrapper.httpx_client.request(
|
54
|
-
"api/v0/report",
|
55
|
-
method="POST",
|
56
|
-
json={"name": name, "workspace_access": workspace_access},
|
57
|
-
request_options=request_options,
|
58
|
-
omit=OMIT,
|
59
|
-
)
|
60
|
-
if 200 <= _response.status_code < 300:
|
61
|
-
return pydantic_v1.parse_obj_as(Report, _response.json()) # type: ignore
|
62
|
-
if _response.status_code == 422:
|
63
|
-
raise UnprocessableEntityError(
|
64
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
65
|
-
)
|
66
|
-
try:
|
67
|
-
_response_json = _response.json()
|
68
|
-
except JSONDecodeError:
|
69
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
70
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
71
|
-
|
72
|
-
|
73
|
-
class AsyncReportClient:
|
74
|
-
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
75
|
-
self._client_wrapper = client_wrapper
|
76
|
-
|
77
|
-
async def create(
|
78
|
-
self,
|
79
|
-
*,
|
80
|
-
name: typing.Optional[str] = OMIT,
|
81
|
-
workspace_access: typing.Optional[bool] = OMIT,
|
82
|
-
request_options: typing.Optional[RequestOptions] = None
|
83
|
-
) -> Report:
|
84
|
-
"""
|
85
|
-
Parameters
|
86
|
-
----------
|
87
|
-
name : typing.Optional[str]
|
88
|
-
|
89
|
-
workspace_access : typing.Optional[bool]
|
90
|
-
|
91
|
-
request_options : typing.Optional[RequestOptions]
|
92
|
-
Request-specific configuration.
|
93
|
-
|
94
|
-
Returns
|
95
|
-
-------
|
96
|
-
Report
|
97
|
-
Successful Response
|
98
|
-
|
99
|
-
Examples
|
100
|
-
--------
|
101
|
-
from athena.client import AsyncAthena
|
102
|
-
|
103
|
-
client = AsyncAthena(
|
104
|
-
api_key="YOUR_API_KEY",
|
105
|
-
)
|
106
|
-
await client.report.create()
|
107
|
-
"""
|
108
|
-
_response = await self._client_wrapper.httpx_client.request(
|
109
|
-
"api/v0/report",
|
110
|
-
method="POST",
|
111
|
-
json={"name": name, "workspace_access": workspace_access},
|
112
|
-
request_options=request_options,
|
113
|
-
omit=OMIT,
|
114
|
-
)
|
115
|
-
if 200 <= _response.status_code < 300:
|
116
|
-
return pydantic_v1.parse_obj_as(Report, _response.json()) # type: ignore
|
117
|
-
if _response.status_code == 422:
|
118
|
-
raise UnprocessableEntityError(
|
119
|
-
pydantic_v1.parse_obj_as(HttpValidationError, _response.json()) # type: ignore
|
120
|
-
)
|
121
|
-
try:
|
122
|
-
_response_json = _response.json()
|
123
|
-
except JSONDecodeError:
|
124
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
125
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
athena/search/__init__.py
DELETED