airia 0.1.12__py3-none-any.whl → 0.1.13__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.
- airia/client/async_client.py +97 -3
- airia/client/base_client.py +161 -2
- airia/client/sync_client.py +95 -2
- airia/constants.py +13 -2
- airia/logs.py +1 -23
- airia/types/__init__.py +0 -0
- airia/types/_request_data.py +20 -0
- airia/types/api/__init__.py +9 -1
- airia/types/api/conversations.py +65 -1
- airia/types/api/get_pipeline_config.py +31 -0
- airia/types/api/get_projects.py +44 -0
- airia/types/api/pipeline_execution.py +30 -0
- airia/types/sse/__init__.py +7 -0
- airia/types/sse/sse_messages.py +175 -0
- airia/utils/sse_parser.py +39 -7
- airia-0.1.13.dist-info/METADATA +219 -0
- airia-0.1.13.dist-info/RECORD +24 -0
- airia-0.1.12.dist-info/METADATA +0 -705
- airia-0.1.12.dist-info/RECORD +0 -23
- {airia-0.1.12.dist-info → airia-0.1.13.dist-info}/WHEEL +0 -0
- {airia-0.1.12.dist-info → airia-0.1.13.dist-info}/licenses/LICENSE +0 -0
- {airia-0.1.12.dist-info → airia-0.1.13.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airia
|
|
3
|
+
Version: 0.1.13
|
|
4
|
+
Summary: Python SDK for Airia API
|
|
5
|
+
Author-email: Airia LLC <support@airia.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.9
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: requests>=2.32.3
|
|
19
|
+
Requires-Dist: aiohttp>=3.11.14
|
|
20
|
+
Requires-Dist: loguru>=0.7.3
|
|
21
|
+
Requires-Dist: pydantic>=2.11.0
|
|
22
|
+
Provides-Extra: anthropic
|
|
23
|
+
Requires-Dist: anthropic>=0.49.0; extra == "anthropic"
|
|
24
|
+
Provides-Extra: openai
|
|
25
|
+
Requires-Dist: openai>=1.74.0; extra == "openai"
|
|
26
|
+
Provides-Extra: all
|
|
27
|
+
Requires-Dist: anthropic>=0.49.0; extra == "all"
|
|
28
|
+
Requires-Dist: openai>=1.74.0; extra == "all"
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
# Airia Python API Library
|
|
32
|
+
|
|
33
|
+
[](https://badge.fury.io/py/airia)
|
|
34
|
+
[](https://pypi.org/project/airia/)
|
|
35
|
+
[](https://pypi.org/project/airia/)
|
|
36
|
+
|
|
37
|
+
The Airia Python library provides a clean and intuitive interface to interact with Airia API. The library offers both synchronous and asynchronous clients for maximum flexibility in your applications.
|
|
38
|
+
|
|
39
|
+
## Features
|
|
40
|
+
|
|
41
|
+
- **Dual Client Support**: Choose between synchronous (`AiriaClient`) and asynchronous (`AiriaAsyncClient`) implementations
|
|
42
|
+
- **Pipeline Execution**: Easily run AI pipelines with customizable parameters
|
|
43
|
+
- **Gateway Support**: Seamlessly integrate with OpenAI and Anthropic services through Airia gateways
|
|
44
|
+
- **Error Handling**: Comprehensive error handling with custom exceptions
|
|
45
|
+
- **Logging**: Built-in configurable logging with correlation ID support for request tracing
|
|
46
|
+
- **Flexible Authentication**: Support for both API keys and bearer tokens with flexible configuration
|
|
47
|
+
|
|
48
|
+
## Documentation and Quick Start Guides
|
|
49
|
+
|
|
50
|
+
Run locally with `mkdocs`:
|
|
51
|
+
|
|
52
|
+
1. [Install development dependencies](#install-with-development-dependencies)
|
|
53
|
+
2. Run `mkdocs serve` to start the local server
|
|
54
|
+
|
|
55
|
+
## Installation
|
|
56
|
+
|
|
57
|
+
You can install the package using pip or uv:
|
|
58
|
+
|
|
59
|
+
<table>
|
|
60
|
+
<tr>
|
|
61
|
+
<th>pip</th>
|
|
62
|
+
<th>uv</th>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr>
|
|
65
|
+
<td>
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install airia
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
</td>
|
|
72
|
+
<td>
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
uv add airia
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</td>
|
|
79
|
+
</tr>
|
|
80
|
+
</table>
|
|
81
|
+
|
|
82
|
+
### Install with optional dependencies
|
|
83
|
+
|
|
84
|
+
The package supports optional dependencies for gateway functionality:
|
|
85
|
+
|
|
86
|
+
<table>
|
|
87
|
+
<tr>
|
|
88
|
+
<th>OpenAI Gateway</th>
|
|
89
|
+
<th>Anthropic Gateway</th>
|
|
90
|
+
<th>All Gateways</th>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td>
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install "airia[openai]"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
</td>
|
|
100
|
+
<td>
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
pip install "airia[anthropic]"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
</td>
|
|
107
|
+
<td>
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
pip install "airia[all]"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
</td>
|
|
114
|
+
</tr>
|
|
115
|
+
</table>
|
|
116
|
+
|
|
117
|
+
### Install with development dependencies
|
|
118
|
+
|
|
119
|
+
Clone the repository:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
git clone https://github.com/AiriaLLC/airia-python.git
|
|
123
|
+
cd airia-python
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Then, run one of the following commands:
|
|
127
|
+
|
|
128
|
+
<table>
|
|
129
|
+
<tr>
|
|
130
|
+
<th>pip</th>
|
|
131
|
+
<th>uv</th>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
134
|
+
<td>
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
pip install dependency-groups
|
|
138
|
+
dev=$(python -m dependency_groups dev)
|
|
139
|
+
pip install -e .
|
|
140
|
+
pip install $dev
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
</td>
|
|
144
|
+
<td>
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
uv sync --frozen --group dev
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
</td>
|
|
151
|
+
</tr>
|
|
152
|
+
</table>
|
|
153
|
+
|
|
154
|
+
## Building from Source
|
|
155
|
+
|
|
156
|
+
First make sure you have already cloned the repository, then run one of the following commands:
|
|
157
|
+
|
|
158
|
+
<table>
|
|
159
|
+
<tr>
|
|
160
|
+
<th>pip</th>
|
|
161
|
+
<th>uv</th>
|
|
162
|
+
</tr>
|
|
163
|
+
<tr>
|
|
164
|
+
<td>
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
pip install build
|
|
168
|
+
python -m build
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
</td>
|
|
172
|
+
<td>
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
uv build
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
</td>
|
|
179
|
+
</tr>
|
|
180
|
+
</table>
|
|
181
|
+
|
|
182
|
+
This will create both wheel and source distribution in the `dist/` directory.
|
|
183
|
+
|
|
184
|
+
## Requirements
|
|
185
|
+
|
|
186
|
+
- Python 3.9 or higher
|
|
187
|
+
- Core dependencies:
|
|
188
|
+
- requests
|
|
189
|
+
- aiohttp
|
|
190
|
+
- loguru
|
|
191
|
+
- pydantic
|
|
192
|
+
|
|
193
|
+
- Optional dependencies:
|
|
194
|
+
- OpenAI gateway: `openai>=1.74.0`
|
|
195
|
+
- Anthropic gateway: `anthropic>=0.49.0`
|
|
196
|
+
|
|
197
|
+
## Development
|
|
198
|
+
|
|
199
|
+
To run tests (make sure you have development dependencies installed):
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
pytest
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
For testing gateway functionality, install the optional dependencies:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# For OpenAI gateway tests
|
|
209
|
+
pip install -e .[openai]
|
|
210
|
+
pytest tests/test_openai_gateway.py
|
|
211
|
+
|
|
212
|
+
# For Anthropic gateway tests
|
|
213
|
+
pip install -e .[anthropic]
|
|
214
|
+
pytest tests/test_anthropic_gateway.py
|
|
215
|
+
|
|
216
|
+
# For all tests
|
|
217
|
+
pip install -e .[all]
|
|
218
|
+
pytest
|
|
219
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
airia/__init__.py,sha256=T39gO8E5T5zxlw-JP78ruxOu7-LeKOJCJzz6t40kdQo,231
|
|
2
|
+
airia/constants.py,sha256=QDCxP-j3QQp5JGftYIYoqMu1fwXd56KZYAPD6_5YmPU,646
|
|
3
|
+
airia/exceptions.py,sha256=4Z55n-cRJrtTa5-pZBIK2oZD4-Z99aUtKx_kfTFYY5o,1146
|
|
4
|
+
airia/logs.py,sha256=_JO55-TcCtS1aVmmWUWEFKd2bMW1oYsz1j_8ajgPIdA,4570
|
|
5
|
+
airia/client/__init__.py,sha256=6gSQ9bl7j79q1HPE0o5py3IRdkwWWuU_7J4h05Dd2o8,127
|
|
6
|
+
airia/client/async_client.py,sha256=smYbJj90gBer24eLi4vwl_5z5jgPU6KA0wAWSv8GDxw,33290
|
|
7
|
+
airia/client/base_client.py,sha256=LdAcTU1URuq6b1XXStd-7Sa-LiYm8H2TgzDyJSYegls,17456
|
|
8
|
+
airia/client/sync_client.py,sha256=gH0VISV1ZGUjP53ignIrn8yN_iUOPgFV0EFZ8TsafVk,32118
|
|
9
|
+
airia/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
airia/types/_api_version.py,sha256=Uzom6O2ZG92HN_Z2h-lTydmO2XYX9RVs4Yi4DJmXytE,255
|
|
11
|
+
airia/types/_request_data.py,sha256=EUYMWQzKlX8Isf_VYP1bcb3uau6fjzRm9guXSaXPiwE,1041
|
|
12
|
+
airia/types/api/__init__.py,sha256=gP4vOYxOG8Gfq8E2EEe1K_KW73nbJ--HUt3n7BUzu4A,913
|
|
13
|
+
airia/types/api/conversations.py,sha256=Kkb3ybdBCQBCBVHe-gRUjGV2wqGA4Y5d5EGTitMuJ1Q,2981
|
|
14
|
+
airia/types/api/get_pipeline_config.py,sha256=GTmY2IoCmXNCCmwOI9gQ5pkEJTyhQdaJxzhWaQhEmsM,7781
|
|
15
|
+
airia/types/api/get_projects.py,sha256=krGV2gAxH81E_5OtUzUNdWZN7S-2jkAV5TiqJmW8A48,3479
|
|
16
|
+
airia/types/api/pipeline_execution.py,sha256=-lcae-UqNrXqqy8DuyXEbMFBm3dVXQj0cl2jpeFeb78,1831
|
|
17
|
+
airia/types/sse/__init__.py,sha256=DOFbw7DASl96g_UQwSS8iHY1mX4T6CLX7It5QWxtwJ0,1862
|
|
18
|
+
airia/types/sse/sse_messages.py,sha256=q4DOqcYbYnsS3mBYO_-V7rZScGIChrCuh15jrcO0aII,14320
|
|
19
|
+
airia/utils/sse_parser.py,sha256=YCnlXHqkAFUeKoy60RH-IUgQ9ZkrzK_UQ4VsnQldCUU,4274
|
|
20
|
+
airia-0.1.13.dist-info/licenses/LICENSE,sha256=R3ClUMMKPRItIcZ0svzyj2taZZnFYw568YDNzN9KQ1Q,1066
|
|
21
|
+
airia-0.1.13.dist-info/METADATA,sha256=coFoSzERDhm84fg0oaXgYalPIBAWWWOiJ3uexckVLRI,4364
|
|
22
|
+
airia-0.1.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
23
|
+
airia-0.1.13.dist-info/top_level.txt,sha256=qUQEKfs_hdOYTwjKj1JZbRhS5YeXDNaKQaVTrzabS6w,6
|
|
24
|
+
airia-0.1.13.dist-info/RECORD,,
|