athena-intelligence 0.1.13__tar.gz → 0.1.15__tar.gz
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_intelligence-0.1.15/PKG-INFO +137 -0
- athena_intelligence-0.1.15/README.md +121 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/pyproject.toml +1 -1
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/client.py +5 -4
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/client_wrapper.py +1 -1
- athena_intelligence-0.1.15/src/athena/polling_message_client.py +128 -0
- athena_intelligence-0.1.13/PKG-INFO +0 -76
- athena_intelligence-0.1.13/README.md +0 -60
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/__init__.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/__init__.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/api_error.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/datetime_utils.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/file.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/jsonable_encoder.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/remove_none_from_dict.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/request_options.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/environment.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/errors/__init__.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/errors/unprocessable_entity_error.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/message/__init__.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/message/client.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/py.typed +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/__init__.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/http_validation_error.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/message_out.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/message_out_dto.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/model.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/status_enum.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/tools.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/validation_error.py +0 -0
- {athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/validation_error_loc_item.py +0 -0
@@ -0,0 +1,137 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: athena-intelligence
|
3
|
+
Version: 0.1.15
|
4
|
+
Summary:
|
5
|
+
Requires-Python: >=3.8,<4.0
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
7
|
+
Classifier: Programming Language :: Python :: 3.8
|
8
|
+
Classifier: Programming Language :: Python :: 3.9
|
9
|
+
Classifier: Programming Language :: Python :: 3.10
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
11
|
+
Requires-Dist: httpx (>=0.21.2)
|
12
|
+
Requires-Dist: pydantic (>=1.9.2)
|
13
|
+
Requires-Dist: typing_extensions (>=4.0.0)
|
14
|
+
Description-Content-Type: text/markdown
|
15
|
+
|
16
|
+
# Athena Intelligence Python Library
|
17
|
+
|
18
|
+
[](https://github.com/fern-api/fern)
|
19
|
+
[](https://pypi.python.org/pypi/athena-intelligence)
|
20
|
+
|
21
|
+
The Athena Intelligence Python Library provides convenient access to the Athena Intelligence API from
|
22
|
+
applications written in Python.
|
23
|
+
|
24
|
+
The library includes type definitions for all
|
25
|
+
request and response fields, and offers both synchronous and asynchronous clients powered by httpx.
|
26
|
+
|
27
|
+
## Installation
|
28
|
+
|
29
|
+
Add this dependency to your project's build file:
|
30
|
+
|
31
|
+
```bash
|
32
|
+
pip install athena-intelligence
|
33
|
+
# or
|
34
|
+
poetry add athena-intelligence
|
35
|
+
```
|
36
|
+
|
37
|
+
## Usage
|
38
|
+
Simply import `Athena` and start making calls to our API.
|
39
|
+
|
40
|
+
```python
|
41
|
+
from athena.client import Athena
|
42
|
+
|
43
|
+
client = Athena(
|
44
|
+
api_key="YOUR_API_KEY" # Defaults to ATHENA_API_KEY
|
45
|
+
)
|
46
|
+
message = client.messages.get("message_id")
|
47
|
+
```
|
48
|
+
|
49
|
+
## Async Client
|
50
|
+
The SDK also exports an async client so that you can make non-blocking
|
51
|
+
calls to our API.
|
52
|
+
|
53
|
+
```python
|
54
|
+
from athena.client import AsyncAthena
|
55
|
+
|
56
|
+
client = AsyncAthena(
|
57
|
+
api_key="YOUR_API_KEY" # Defaults to ATHENA_API_KEY
|
58
|
+
)
|
59
|
+
|
60
|
+
async def main() -> None:
|
61
|
+
message = client.messages.get("message_id")
|
62
|
+
print("Received message", message)
|
63
|
+
|
64
|
+
asyncio.run(main())
|
65
|
+
```
|
66
|
+
|
67
|
+
## Athena Module
|
68
|
+
All of the models are nested within the Athena module. Let IntelliSense
|
69
|
+
guide you!
|
70
|
+
|
71
|
+
## Exception Handling
|
72
|
+
All errors thrown by the SDK will be subclasses of [`ApiError`](./src/athena/core/api_error.py).
|
73
|
+
|
74
|
+
```python
|
75
|
+
import athena
|
76
|
+
|
77
|
+
try:
|
78
|
+
client.messages.get(...)
|
79
|
+
except athena.core.ApiError as e: # Handle all errors
|
80
|
+
print(e.status_code)
|
81
|
+
print(e.body)
|
82
|
+
```
|
83
|
+
|
84
|
+
## Advanced
|
85
|
+
|
86
|
+
### Timeouts
|
87
|
+
By default, requests time out after 60 seconds. You can configure this with a
|
88
|
+
timeout option at the client or request level.
|
89
|
+
|
90
|
+
```python
|
91
|
+
from athena.client import Athena
|
92
|
+
|
93
|
+
client = Athena(
|
94
|
+
# All timeouts are 20 seconds
|
95
|
+
timeout=20.0,
|
96
|
+
)
|
97
|
+
|
98
|
+
# Override timeout for a specific method
|
99
|
+
client.messages.get(..., {
|
100
|
+
timeout_in_seconds=20
|
101
|
+
})
|
102
|
+
```
|
103
|
+
|
104
|
+
### Custom HTTP client
|
105
|
+
You can override the httpx client to customize it for your use-case. Some common use-cases
|
106
|
+
include support for proxies and transports.
|
107
|
+
|
108
|
+
```python
|
109
|
+
import httpx
|
110
|
+
|
111
|
+
from athena.client import Athena
|
112
|
+
|
113
|
+
client = Athena(
|
114
|
+
http_client=httpx.Client(
|
115
|
+
proxies="http://my.test.proxy.example.com",
|
116
|
+
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
|
117
|
+
),
|
118
|
+
)
|
119
|
+
```
|
120
|
+
|
121
|
+
## Beta Status
|
122
|
+
|
123
|
+
This SDK is in **Preview**, and there may be breaking changes between versions without a major
|
124
|
+
version update.
|
125
|
+
|
126
|
+
To ensure a reproducible environment (and minimize risk of breaking changes), we recommend pinning a specific package version.
|
127
|
+
|
128
|
+
## Contributing
|
129
|
+
|
130
|
+
While we value open-source contributions to this SDK, this library is generated programmatically.
|
131
|
+
Additions made directly to this library would have to be moved over to our generation code,
|
132
|
+
otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
|
133
|
+
a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
|
134
|
+
an issue first to discuss with us!
|
135
|
+
|
136
|
+
On the other hand, contributions to the README are always very welcome!
|
137
|
+
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# Athena Intelligence Python Library
|
2
|
+
|
3
|
+
[](https://github.com/fern-api/fern)
|
4
|
+
[](https://pypi.python.org/pypi/athena-intelligence)
|
5
|
+
|
6
|
+
The Athena Intelligence Python Library provides convenient access to the Athena Intelligence API from
|
7
|
+
applications written in Python.
|
8
|
+
|
9
|
+
The library includes type definitions for all
|
10
|
+
request and response fields, and offers both synchronous and asynchronous clients powered by httpx.
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
14
|
+
Add this dependency to your project's build file:
|
15
|
+
|
16
|
+
```bash
|
17
|
+
pip install athena-intelligence
|
18
|
+
# or
|
19
|
+
poetry add athena-intelligence
|
20
|
+
```
|
21
|
+
|
22
|
+
## Usage
|
23
|
+
Simply import `Athena` and start making calls to our API.
|
24
|
+
|
25
|
+
```python
|
26
|
+
from athena.client import Athena
|
27
|
+
|
28
|
+
client = Athena(
|
29
|
+
api_key="YOUR_API_KEY" # Defaults to ATHENA_API_KEY
|
30
|
+
)
|
31
|
+
message = client.messages.get("message_id")
|
32
|
+
```
|
33
|
+
|
34
|
+
## Async Client
|
35
|
+
The SDK also exports an async client so that you can make non-blocking
|
36
|
+
calls to our API.
|
37
|
+
|
38
|
+
```python
|
39
|
+
from athena.client import AsyncAthena
|
40
|
+
|
41
|
+
client = AsyncAthena(
|
42
|
+
api_key="YOUR_API_KEY" # Defaults to ATHENA_API_KEY
|
43
|
+
)
|
44
|
+
|
45
|
+
async def main() -> None:
|
46
|
+
message = client.messages.get("message_id")
|
47
|
+
print("Received message", message)
|
48
|
+
|
49
|
+
asyncio.run(main())
|
50
|
+
```
|
51
|
+
|
52
|
+
## Athena Module
|
53
|
+
All of the models are nested within the Athena module. Let IntelliSense
|
54
|
+
guide you!
|
55
|
+
|
56
|
+
## Exception Handling
|
57
|
+
All errors thrown by the SDK will be subclasses of [`ApiError`](./src/athena/core/api_error.py).
|
58
|
+
|
59
|
+
```python
|
60
|
+
import athena
|
61
|
+
|
62
|
+
try:
|
63
|
+
client.messages.get(...)
|
64
|
+
except athena.core.ApiError as e: # Handle all errors
|
65
|
+
print(e.status_code)
|
66
|
+
print(e.body)
|
67
|
+
```
|
68
|
+
|
69
|
+
## Advanced
|
70
|
+
|
71
|
+
### Timeouts
|
72
|
+
By default, requests time out after 60 seconds. You can configure this with a
|
73
|
+
timeout option at the client or request level.
|
74
|
+
|
75
|
+
```python
|
76
|
+
from athena.client import Athena
|
77
|
+
|
78
|
+
client = Athena(
|
79
|
+
# All timeouts are 20 seconds
|
80
|
+
timeout=20.0,
|
81
|
+
)
|
82
|
+
|
83
|
+
# Override timeout for a specific method
|
84
|
+
client.messages.get(..., {
|
85
|
+
timeout_in_seconds=20
|
86
|
+
})
|
87
|
+
```
|
88
|
+
|
89
|
+
### Custom HTTP client
|
90
|
+
You can override the httpx client to customize it for your use-case. Some common use-cases
|
91
|
+
include support for proxies and transports.
|
92
|
+
|
93
|
+
```python
|
94
|
+
import httpx
|
95
|
+
|
96
|
+
from athena.client import Athena
|
97
|
+
|
98
|
+
client = Athena(
|
99
|
+
http_client=httpx.Client(
|
100
|
+
proxies="http://my.test.proxy.example.com",
|
101
|
+
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
|
102
|
+
),
|
103
|
+
)
|
104
|
+
```
|
105
|
+
|
106
|
+
## Beta Status
|
107
|
+
|
108
|
+
This SDK is in **Preview**, and there may be breaking changes between versions without a major
|
109
|
+
version update.
|
110
|
+
|
111
|
+
To ensure a reproducible environment (and minimize risk of breaking changes), we recommend pinning a specific package version.
|
112
|
+
|
113
|
+
## Contributing
|
114
|
+
|
115
|
+
While we value open-source contributions to this SDK, this library is generated programmatically.
|
116
|
+
Additions made directly to this library would have to be moved over to our generation code,
|
117
|
+
otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
|
118
|
+
a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
|
119
|
+
an issue first to discuss with us!
|
120
|
+
|
121
|
+
On the other hand, contributions to the README are always very welcome!
|
@@ -6,7 +6,8 @@ import httpx
|
|
6
6
|
|
7
7
|
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
8
8
|
from .environment import AthenaEnvironment
|
9
|
-
from .
|
9
|
+
from .polling_message_client import \
|
10
|
+
MessagePollingClient, AsyncMessagePollingClient
|
10
11
|
|
11
12
|
|
12
13
|
class Athena:
|
@@ -47,7 +48,7 @@ class Athena:
|
|
47
48
|
api_key=api_key,
|
48
49
|
httpx_client=httpx.Client(timeout=timeout) if httpx_client is None else httpx_client,
|
49
50
|
)
|
50
|
-
self.message =
|
51
|
+
self.message = MessagePollingClient(client_wrapper=self._client_wrapper)
|
51
52
|
|
52
53
|
|
53
54
|
class AsyncAthena:
|
@@ -88,7 +89,7 @@ class AsyncAthena:
|
|
88
89
|
api_key=api_key,
|
89
90
|
httpx_client=httpx.AsyncClient(timeout=timeout) if httpx_client is None else httpx_client,
|
90
91
|
)
|
91
|
-
self.message =
|
92
|
+
self.message = AsyncMessagePollingClient(client_wrapper=self._client_wrapper)
|
92
93
|
|
93
94
|
|
94
95
|
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: AthenaEnvironment) -> str:
|
@@ -97,4 +98,4 @@ def _get_base_url(*, base_url: typing.Optional[str] = None, environment: AthenaE
|
|
97
98
|
elif environment is not None:
|
98
99
|
return environment.value
|
99
100
|
else:
|
100
|
-
raise Exception("Please pass in either base_url or environment to construct the client")
|
101
|
+
raise Exception("Please pass in either base_url or environment to construct the client")
|
@@ -14,7 +14,7 @@ class BaseClientWrapper:
|
|
14
14
|
headers: typing.Dict[str, str] = {
|
15
15
|
"X-Fern-Language": "Python",
|
16
16
|
"X-Fern-SDK-Name": "athena-intelligence",
|
17
|
-
"X-Fern-SDK-Version": "0.1.
|
17
|
+
"X-Fern-SDK-Version": "0.1.15",
|
18
18
|
}
|
19
19
|
headers["X-API-KEY"] = self.api_key
|
20
20
|
return headers
|
@@ -0,0 +1,128 @@
|
|
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( # type: ignore
|
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
|
+
token="YOUR_TOKEN",
|
53
|
+
)
|
54
|
+
client.message.submit(
|
55
|
+
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
56
|
+
model=Model.GPT_4_TURBO_PREVIEW,
|
57
|
+
tools=[Tools.SEARCH, Tools.BROWSE],
|
58
|
+
)
|
59
|
+
"""
|
60
|
+
response = super().submit(
|
61
|
+
content=content,
|
62
|
+
model=model,
|
63
|
+
tools=tools,
|
64
|
+
conversation_id=conversation_id,
|
65
|
+
conversation_name=conversation_name,
|
66
|
+
request_options=request_options)
|
67
|
+
message = self.get(id=response.id)
|
68
|
+
while message.status != StatusEnum.RESPONDED \
|
69
|
+
or message.status != StatusEnum.ERROR:
|
70
|
+
time.sleep(poll_interval)
|
71
|
+
message = self.get(id=message.id)
|
72
|
+
return message
|
73
|
+
|
74
|
+
|
75
|
+
class AsyncMessagePollingClient(AsyncMessageClient):
|
76
|
+
|
77
|
+
async def submit( # type: ignore
|
78
|
+
self,
|
79
|
+
*,
|
80
|
+
content: str,
|
81
|
+
model: typing.Optional[Model] = OMIT,
|
82
|
+
tools: typing.Optional[typing.Sequence[Tools]] = OMIT,
|
83
|
+
conversation_id: typing.Optional[str] = OMIT,
|
84
|
+
conversation_name: typing.Optional[str] = OMIT,
|
85
|
+
poll_interval: int = 2,
|
86
|
+
request_options: typing.Optional[RequestOptions] = None,
|
87
|
+
) -> MessageOutDto:
|
88
|
+
"""
|
89
|
+
Parameters:
|
90
|
+
- content: str.
|
91
|
+
|
92
|
+
- model: typing.Optional[Model].
|
93
|
+
|
94
|
+
- tools: typing.Optional[typing.Sequence[Tools]].
|
95
|
+
|
96
|
+
- conversation_id: typing.Optional[str].
|
97
|
+
|
98
|
+
- conversation_name: typing.Optional[str].
|
99
|
+
|
100
|
+
- poll_interval: int. The polling interval in seconds.
|
101
|
+
|
102
|
+
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
103
|
+
---
|
104
|
+
from athena import Model, Tools
|
105
|
+
from athena.client import AsyncAthena
|
106
|
+
|
107
|
+
client = AsyncAthena(
|
108
|
+
api_key="YOUR_API_KEY"
|
109
|
+
)
|
110
|
+
client.message.submit(
|
111
|
+
content="visit www.athenaintelligence.ai and summarize the website in one paragraph",
|
112
|
+
model=Model.GPT_4_TURBO_PREVIEW,
|
113
|
+
tools=[Tools.SEARCH, Tools.BROWSE],
|
114
|
+
)
|
115
|
+
"""
|
116
|
+
response = await super().submit(
|
117
|
+
content=content,
|
118
|
+
model=model,
|
119
|
+
tools=tools,
|
120
|
+
conversation_id=conversation_id,
|
121
|
+
conversation_name=conversation_name,
|
122
|
+
request_options=request_options)
|
123
|
+
message = await self.get(id=response.id)
|
124
|
+
while message.status != StatusEnum.RESPONDED \
|
125
|
+
or message.status != StatusEnum.ERROR:
|
126
|
+
time.sleep(poll_interval)
|
127
|
+
message = await self.get(id=message.id)
|
128
|
+
return message
|
@@ -1,76 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: athena-intelligence
|
3
|
-
Version: 0.1.13
|
4
|
-
Summary:
|
5
|
-
Requires-Python: >=3.8,<4.0
|
6
|
-
Classifier: Programming Language :: Python :: 3
|
7
|
-
Classifier: Programming Language :: Python :: 3.8
|
8
|
-
Classifier: Programming Language :: Python :: 3.9
|
9
|
-
Classifier: Programming Language :: Python :: 3.10
|
10
|
-
Classifier: Programming Language :: Python :: 3.11
|
11
|
-
Requires-Dist: httpx (>=0.21.2)
|
12
|
-
Requires-Dist: pydantic (>=1.9.2)
|
13
|
-
Requires-Dist: typing_extensions (>=4.0.0)
|
14
|
-
Description-Content-Type: text/markdown
|
15
|
-
|
16
|
-
<!-- Begin Title, generated by Fern -->
|
17
|
-
# Athena Python Library
|
18
|
-
|
19
|
-
[](https://github.com/fern-api/fern)
|
20
|
-
|
21
|
-
The Athena Python Library provides convenient access to the Athena API from applications written in Python.
|
22
|
-
<!-- End Title -->
|
23
|
-
|
24
|
-
<!-- Begin Installation, generated by Fern -->
|
25
|
-
# Installation
|
26
|
-
|
27
|
-
```sh
|
28
|
-
pip install --upgrade athena-intelligence
|
29
|
-
```
|
30
|
-
<!-- End Installation -->
|
31
|
-
|
32
|
-
<!-- Begin Usage, generated by Fern -->
|
33
|
-
# Usage
|
34
|
-
|
35
|
-
```python
|
36
|
-
from athena.client import Athena
|
37
|
-
|
38
|
-
client = Athena(
|
39
|
-
api_key="YOUR_API_KEY",
|
40
|
-
)
|
41
|
-
```
|
42
|
-
<!-- End Usage -->
|
43
|
-
|
44
|
-
<!-- Begin Async Usage, generated by Fern -->
|
45
|
-
# Async Client
|
46
|
-
|
47
|
-
```python
|
48
|
-
from athena.client import AsyncAthena
|
49
|
-
|
50
|
-
client = AsyncAthena(
|
51
|
-
api_key="YOUR_API_KEY",
|
52
|
-
)
|
53
|
-
```
|
54
|
-
<!-- End Async Usage -->
|
55
|
-
|
56
|
-
<!-- Begin Status, generated by Fern -->
|
57
|
-
# Beta Status
|
58
|
-
|
59
|
-
This SDK is in beta, and there may be breaking changes between versions without a major
|
60
|
-
version update. Therefore, we recommend pinning the package version to a specific version.
|
61
|
-
This way, you can install the same version each time without breaking changes.
|
62
|
-
<!-- End Status -->
|
63
|
-
|
64
|
-
<!-- Begin Contributing, generated by Fern -->
|
65
|
-
# Contributing
|
66
|
-
|
67
|
-
While we value open-source contributions to this SDK, this library is generated programmatically.
|
68
|
-
Additions made directly to this library would have to be moved over to our generation code,
|
69
|
-
otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
|
70
|
-
a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
|
71
|
-
an issue first to discuss with us!
|
72
|
-
|
73
|
-
On the other hand, contributions to the README are always very welcome!
|
74
|
-
<!-- End Contributing -->
|
75
|
-
|
76
|
-
|
@@ -1,60 +0,0 @@
|
|
1
|
-
<!-- Begin Title, generated by Fern -->
|
2
|
-
# Athena Python Library
|
3
|
-
|
4
|
-
[](https://github.com/fern-api/fern)
|
5
|
-
|
6
|
-
The Athena Python Library provides convenient access to the Athena API from applications written in Python.
|
7
|
-
<!-- End Title -->
|
8
|
-
|
9
|
-
<!-- Begin Installation, generated by Fern -->
|
10
|
-
# Installation
|
11
|
-
|
12
|
-
```sh
|
13
|
-
pip install --upgrade athena-intelligence
|
14
|
-
```
|
15
|
-
<!-- End Installation -->
|
16
|
-
|
17
|
-
<!-- Begin Usage, generated by Fern -->
|
18
|
-
# Usage
|
19
|
-
|
20
|
-
```python
|
21
|
-
from athena.client import Athena
|
22
|
-
|
23
|
-
client = Athena(
|
24
|
-
api_key="YOUR_API_KEY",
|
25
|
-
)
|
26
|
-
```
|
27
|
-
<!-- End Usage -->
|
28
|
-
|
29
|
-
<!-- Begin Async Usage, generated by Fern -->
|
30
|
-
# Async Client
|
31
|
-
|
32
|
-
```python
|
33
|
-
from athena.client import AsyncAthena
|
34
|
-
|
35
|
-
client = AsyncAthena(
|
36
|
-
api_key="YOUR_API_KEY",
|
37
|
-
)
|
38
|
-
```
|
39
|
-
<!-- End Async Usage -->
|
40
|
-
|
41
|
-
<!-- Begin Status, generated by Fern -->
|
42
|
-
# Beta Status
|
43
|
-
|
44
|
-
This SDK is in beta, and there may be breaking changes between versions without a major
|
45
|
-
version update. Therefore, we recommend pinning the package version to a specific version.
|
46
|
-
This way, you can install the same version each time without breaking changes.
|
47
|
-
<!-- End Status -->
|
48
|
-
|
49
|
-
<!-- Begin Contributing, generated by Fern -->
|
50
|
-
# Contributing
|
51
|
-
|
52
|
-
While we value open-source contributions to this SDK, this library is generated programmatically.
|
53
|
-
Additions made directly to this library would have to be moved over to our generation code,
|
54
|
-
otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
|
55
|
-
a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
|
56
|
-
an issue first to discuss with us!
|
57
|
-
|
58
|
-
On the other hand, contributions to the README are always very welcome!
|
59
|
-
<!-- End Contributing -->
|
60
|
-
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/jsonable_encoder.py
RENAMED
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/remove_none_from_dict.py
RENAMED
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/core/request_options.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/http_validation_error.py
RENAMED
File without changes
|
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/message_out_dto.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{athena_intelligence-0.1.13 → athena_intelligence-0.1.15}/src/athena/types/validation_error.py
RENAMED
File without changes
|
File without changes
|