unique_sdk 0.10.47__py3-none-any.whl → 0.10.53__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.
@@ -19,8 +19,7 @@ class AgenticTableSheetState(StrEnum):
19
19
 
20
20
 
21
21
  class LogDetail(TypedDict, total=False):
22
- text: str
23
- messageId: str | None
22
+ llmRequest: list[dict] | None
24
23
 
25
24
 
26
25
  class LogEntry(TypedDict):
@@ -177,6 +177,53 @@ class Folder(APIResource["Folder"]):
177
177
  successFolders: List["Folder.DeleteFolderResponse"]
178
178
  failedFolders: List["Folder.DeleteFolderResponse"]
179
179
 
180
+ class FolderPathResponse(TypedDict):
181
+ """
182
+ Response for getting folder path.
183
+ """
184
+
185
+ folderPath: str
186
+
187
+ @classmethod
188
+ def get_folder_path(
189
+ cls,
190
+ user_id: str,
191
+ company_id: str,
192
+ scope_id: str,
193
+ ) -> "Folder.FolderPathResponse":
194
+ """
195
+ Get the complete folder path for a given folder ID.
196
+ """
197
+ return cast(
198
+ "Folder.FolderPathResponse",
199
+ cls._static_request(
200
+ "get",
201
+ f"/folder/{scope_id}/path",
202
+ user_id,
203
+ company_id,
204
+ ),
205
+ )
206
+
207
+ @classmethod
208
+ async def get_folder_path_async(
209
+ cls,
210
+ user_id: str,
211
+ company_id: str,
212
+ scope_id: str,
213
+ ) -> "Folder.FolderPathResponse":
214
+ """
215
+ Async get the complete folder path for a given folder ID.
216
+ """
217
+ return cast(
218
+ "Folder.FolderPathResponse",
219
+ await cls._static_request_async(
220
+ "get",
221
+ f"/folder/{scope_id}/path",
222
+ user_id,
223
+ company_id,
224
+ ),
225
+ )
226
+
180
227
  @classmethod
181
228
  def get_info(
182
229
  cls, user_id: str, company_id: str, **params: Unpack["Folder.GetParams"]
@@ -1,5 +1,7 @@
1
1
  from typing import (
2
+ Any,
2
3
  ClassVar,
4
+ Dict,
3
5
  List,
4
6
  Literal,
5
7
  NotRequired,
@@ -55,6 +57,13 @@ class Group(APIResource["Group"]):
55
57
 
56
58
  userIds: List[str]
57
59
 
60
+ class UpdateGroupConfigurationParams(RequestOptions):
61
+ """
62
+ Parameters for updating group configuration.
63
+ """
64
+
65
+ configuration: Dict[str, Any]
66
+
58
67
  class GroupMember(TypedDict):
59
68
  """
60
69
  Represents a member of a group.
@@ -84,6 +93,13 @@ class Group(APIResource["Group"]):
84
93
  createdAt: str
85
94
  updatedAt: str
86
95
 
96
+ class GroupWithConfiguration(Group):
97
+ """
98
+ Represents a group in the company with configuration.
99
+ """
100
+
101
+ configuration: Dict[str, Any]
102
+
87
103
  class Groups(TypedDict):
88
104
  """
89
105
  Response for getting groups.
@@ -367,3 +383,47 @@ class Group(APIResource["Group"]):
367
383
  params=params,
368
384
  ),
369
385
  )
386
+
387
+ @classmethod
388
+ def update_group_configuration(
389
+ cls,
390
+ user_id: str,
391
+ company_id: str,
392
+ group_id: str,
393
+ **params: Unpack["Group.UpdateGroupConfigurationParams"],
394
+ ) -> "Group.GroupWithConfiguration":
395
+ """
396
+ Update group configuration for the specified group.
397
+ """
398
+ return cast(
399
+ "Group.GroupWithConfiguration",
400
+ cls._static_request(
401
+ "patch",
402
+ f"/groups/{group_id}/configuration",
403
+ user_id,
404
+ company_id,
405
+ params=params,
406
+ ),
407
+ )
408
+
409
+ @classmethod
410
+ async def update_group_configuration_async(
411
+ cls,
412
+ user_id: str,
413
+ company_id: str,
414
+ group_id: str,
415
+ **params: Unpack["Group.UpdateGroupConfigurationParams"],
416
+ ) -> "Group.GroupWithConfiguration":
417
+ """
418
+ Async update group configuration for the specified group.
419
+ """
420
+ return cast(
421
+ "Group.GroupWithConfiguration",
422
+ await cls._static_request_async(
423
+ "patch",
424
+ f"/groups/{group_id}/configuration",
425
+ user_id,
426
+ company_id,
427
+ params=params,
428
+ ),
429
+ )
@@ -102,6 +102,86 @@ class Space(APIResource["Space"]):
102
102
  messages: List["Space.Message"]
103
103
  totalCount: int
104
104
 
105
+ class AssistantMcpServer(TypedDict):
106
+ """
107
+ Represents an MCP server associated with an assistant.
108
+ """
109
+
110
+ id: str
111
+ name: str
112
+ assistantId: str
113
+ mcpServerId: str
114
+ isEnabled: bool
115
+ createdAt: str
116
+ updatedAt: str
117
+
118
+ class Module(TypedDict):
119
+ """
120
+ Represents a module configured for a space.
121
+ """
122
+
123
+ id: str
124
+ name: str
125
+ description: Optional[str]
126
+ toolDefinition: Optional[Dict[str, Any]]
127
+ configuration: Dict[str, Any]
128
+ assistantId: str
129
+ weight: int
130
+ isExternal: bool
131
+ isCustomInstructionEnabled: bool
132
+ moduleTemplateId: Optional[str]
133
+ createdAt: str
134
+ updatedAt: str
135
+
136
+ class ScopeRule(TypedDict):
137
+ """
138
+ Represents a scope rule for a space.
139
+ """
140
+
141
+ id: str
142
+ assistantId: str
143
+ title: str
144
+ companyId: str
145
+ rule: Dict[str, Any]
146
+ isAdvanced: bool
147
+ createdAt: str
148
+ updatedAt: str
149
+
150
+ class AssistantAccess(TypedDict):
151
+ """
152
+ Represents access control for a space.
153
+ """
154
+
155
+ id: str
156
+ entityId: str
157
+ entityType: str
158
+ type: str
159
+
160
+ id: str
161
+ name: str
162
+ defaultForCompanyId: Optional[str]
163
+ title: Optional[str]
164
+ subtitle: Optional[str]
165
+ explanation: Optional[str]
166
+ alert: Optional[str]
167
+ inputLimit: Optional[int]
168
+ inputPlaceholder: Optional[str]
169
+ chatUpload: str
170
+ goals: List[str]
171
+ languageModel: Optional[str]
172
+ fallbackModule: str
173
+ access: List[str]
174
+ isExternal: bool
175
+ isPinned: bool
176
+ uiType: str
177
+ settings: Optional[Dict[str, Any]]
178
+ assistantMcpServers: List["Space.AssistantMcpServer"]
179
+ modules: List["Space.Module"]
180
+ scopeRules: List["Space.ScopeRule"]
181
+ assistantAccess: List["Space.AssistantAccess"]
182
+ createdAt: str
183
+ updatedAt: str
184
+
105
185
  @classmethod
106
186
  def create_message(
107
187
  cls,
@@ -263,3 +343,43 @@ class Space(APIResource["Space"]):
263
343
  company_id,
264
344
  ),
265
345
  )
346
+
347
+ @classmethod
348
+ def get_space(
349
+ cls,
350
+ user_id: str,
351
+ company_id: str,
352
+ space_id: str,
353
+ ) -> "Space":
354
+ """
355
+ Get detailed information about a space (assistant).
356
+ """
357
+ return cast(
358
+ "Space",
359
+ cls._static_request(
360
+ "get",
361
+ f"/space/{space_id}",
362
+ user_id,
363
+ company_id,
364
+ ),
365
+ )
366
+
367
+ @classmethod
368
+ async def get_space_async(
369
+ cls,
370
+ user_id: str,
371
+ company_id: str,
372
+ space_id: str,
373
+ ) -> "Space":
374
+ """
375
+ Async get detailed information about a space (assistant).
376
+ """
377
+ return cast(
378
+ "Space",
379
+ await cls._static_request_async(
380
+ "get",
381
+ f"/space/{space_id}",
382
+ user_id,
383
+ company_id,
384
+ ),
385
+ )
@@ -1,5 +1,7 @@
1
1
  from typing import (
2
+ Any,
2
3
  ClassVar,
4
+ Dict,
3
5
  List,
4
6
  NotRequired,
5
7
  Optional,
@@ -25,6 +27,13 @@ class User(APIResource["User"]):
25
27
  email: NotRequired[Optional[str]]
26
28
  displayName: NotRequired[Optional[str]]
27
29
 
30
+ class UpdateUserConfigurationParams(RequestOptions):
31
+ """
32
+ Parameters for updating user configuration.
33
+ """
34
+
35
+ userConfiguration: Dict[str, Any]
36
+
28
37
  class User(TypedDict):
29
38
  """
30
39
  Represents a user in the company.
@@ -41,6 +50,13 @@ class User(APIResource["User"]):
41
50
  createdAt: str
42
51
  active: bool
43
52
 
53
+ class UserWithConfiguration(User):
54
+ """
55
+ Represents a user in the company with configuration.
56
+ """
57
+
58
+ userConfiguration: Dict[str, Any]
59
+
44
60
  class Users(TypedDict):
45
61
  """
46
62
  Response for getting users.
@@ -89,3 +105,45 @@ class User(APIResource["User"]):
89
105
  params=params,
90
106
  ),
91
107
  )
108
+
109
+ @classmethod
110
+ def update_user_configuration(
111
+ cls,
112
+ user_id: str,
113
+ company_id: str,
114
+ **params: Unpack["User.UpdateUserConfigurationParams"],
115
+ ) -> "User.UserWithConfiguration":
116
+ """
117
+ Update user configuration for the current user.
118
+ """
119
+ return cast(
120
+ "User.UserWithConfiguration",
121
+ cls._static_request(
122
+ "patch",
123
+ f"/users/{user_id}/configuration",
124
+ user_id,
125
+ company_id,
126
+ params=params,
127
+ ),
128
+ )
129
+
130
+ @classmethod
131
+ async def update_user_configuration_async(
132
+ cls,
133
+ user_id: str,
134
+ company_id: str,
135
+ **params: Unpack["User.UpdateUserConfigurationParams"],
136
+ ) -> "User.UserWithConfiguration":
137
+ """
138
+ Async update user configuration for the current user.
139
+ """
140
+ return cast(
141
+ "User.UserWithConfiguration",
142
+ await cls._static_request_async(
143
+ "patch",
144
+ f"/users/{user_id}/configuration",
145
+ user_id,
146
+ company_id,
147
+ params=params,
148
+ ),
149
+ )
@@ -0,0 +1,329 @@
1
+ Metadata-Version: 2.1
2
+ Name: unique_sdk
3
+ Version: 0.10.53
4
+ Summary:
5
+ License: MIT
6
+ Author: Martin Fadler
7
+ Author-email: martin.fadler@unique.ch
8
+ Requires-Python: >=3.11,<4.0
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Provides-Extra: openai
14
+ Requires-Dist: openai (>=1.105.0,<2.0.0) ; extra == "openai"
15
+ Requires-Dist: requests (>=2.32.3,<3.0.0)
16
+ Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
17
+ Description-Content-Type: text/markdown
18
+
19
+ # Unique Python SDK
20
+
21
+
22
+ Visit: [https://unique-ag.github.io/](https://unique-ag.github.io/ai/unique-sdk/) for the documentation.
23
+
24
+ # Changelog
25
+
26
+ All notable changes to this project will be documented in this file.
27
+
28
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
29
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
30
+
31
+ ## [0.10.53] - 2025-12-01
32
+ - Improve OpenAI Proxy docs https://unique-ag.github.io/ai/unique-sdk/
33
+
34
+ ## [0.10.52] - 2025-11-21
35
+ - Centralized docs to https://unique-ag.github.io/ai/unique-sdk/
36
+
37
+ ## [0.10.51] - 2025-11-21
38
+ - Add function to get a space.
39
+
40
+ ## [0.10.50] - 2025-11-21
41
+ - Allow updating the configuration of a user and group.
42
+
43
+ ## [0.10.49] - 2025-11-21
44
+ - Add get folder by scope id function
45
+
46
+ ## [0.10.48] - 2025-11-20
47
+ - Update Agentic Table LogDetail and LogEntry types.
48
+
49
+ ## [0.10.47] - 2025-11-19
50
+ - Add expired/s at fields on content search result.
51
+
52
+ ## [0.10.46] - 2025-11-18
53
+ - chat_against_file function allows now a should_delete_chat flag.
54
+
55
+ ## [0.10.45] - 2025-11-18
56
+ - Create group and manage users functions.
57
+
58
+ ## [0.10.44] - 2025-11-18
59
+ - add function to get all messages in a chat.
60
+
61
+ ## [0.10.43] - 2025-11-14
62
+ - Add get, delete and update groups functions.
63
+
64
+ ## [0.10.42] - 2025-11-14
65
+ - Add get_users function.
66
+
67
+ ## [0.10.41] - 2025-11-13
68
+ - Add create_message and get_latest_message.
69
+
70
+ ## [0.10.40] - 2025-11-10
71
+ - Don't send description if not defined.
72
+
73
+ ## [0.10.39] - 2025-11-07
74
+ - Add function to get llm models
75
+
76
+ ## [0.10.38] - 2025-11-06
77
+ - Add description property to Reference and Content.
78
+
79
+ ## [0.10.37] - 2025-11-04
80
+ - Introduce local integration tests for Content API Resource
81
+
82
+ ## [0.10.36] - 2025-11-04
83
+ - Introduce local integration tests for Folder API Resource
84
+
85
+ ## [0.10.35] - 2025-11-04
86
+ - Inmprove folder get infos types.
87
+
88
+ ## [0.10.34] - 2025-10-29
89
+ - Add documentation for agentic table.
90
+
91
+ ## [0.10.33] - 2025-10-27
92
+ - Improve messagelog and message execution types.
93
+
94
+ ## [0.10.32] - 2025-10-14
95
+ - Add function to stream to chat frontend.
96
+
97
+ ## [0.10.31] - 2025-10-13
98
+ - Add readme for message log and execution.
99
+
100
+ ## [0.10.30] - 2025-10-07
101
+ - Improve types for content get infos.
102
+
103
+ ## [0.10.29] - 2025-10-06
104
+ - Switch default model used from `GPT-3.5-turbo (0125)` to `GPT-4o (1120)`
105
+
106
+ ## [0.10.28] - 2025-10-03
107
+ - Use non blocking versions of `Space.get_latest_message` and `Message.retrieve` in `send_message_and_wait_for_completion`.
108
+
109
+ ## [0.10.27] - 2025-09-24
110
+ - Improve readme to use Unique AI.
111
+
112
+ ## [0.10.26] - 2025-09-22
113
+ - Improve typing.
114
+
115
+ ## [0.10.25] - 2025-09-18
116
+ - Add support for udpate and delete files by file or folder path.
117
+
118
+ ## [0.10.24] - 2025-09-17
119
+ - Add function to update a folder.
120
+
121
+ ## [0.10.23] - 2025-09-12
122
+ - Revert to using default reasoning effort.
123
+
124
+ ## [0.10.22] - 2025-09-12
125
+ - Add support for metadata update of a file.
126
+
127
+ ## [0.10.21] - 2025-09-04
128
+ - Update Chat Completions API types and add support for reasoning effort.
129
+
130
+ ## [0.10.20] - 2025-09-04
131
+ - Update Responses API types
132
+
133
+ ## [0.10.19] - 2025-09-02
134
+ - Improve `send_message_and_wait_for_completion`:
135
+ - Add option to select stop_condition `["stoppedStreamingAt", "completedAt"]`.
136
+ - Load `debugInfo` from `last_user_message` for better developer experience.
137
+
138
+ ## [0.10.18] - 2025-09-02
139
+ - Temporarily remove support for update and delete files by filePath.
140
+
141
+ ## [0.10.17] - 2025-09-01
142
+ - Add function to update a file
143
+
144
+ ## [0.10.16] - 2025-08-31
145
+ - Add function to delete a content.
146
+
147
+ ## [0.10.15] - 2025-08-28
148
+ - Add default values for message log types
149
+
150
+ ## [0.10.14] - 2025-08-28
151
+ - Add function to delete folders and files recursively
152
+
153
+ ## [0.10.13] - 2025-08-24
154
+ - Add functions to create, get and update a message eecution and create and update a message log.
155
+
156
+ ## [0.10.12] - 2025-08-24
157
+ - Switch to using Content get info deprecated endpoint to make sure we support older release versions.
158
+
159
+ ## [0.10.11] - 2025-08-24
160
+ - Enforce usage of ruff using pipeline
161
+
162
+ ## [0.10.10] - 2025-08-18
163
+ - Fix wrong name of references in `Space.Message`.
164
+ - Fix wrong name of assessment in `Space.Message`.
165
+ - Remove default values for `text`, `originalText` and `debugInfo` in `Space.Message` as these don't have an effect.
166
+
167
+ ## [0.10.9] - 2025-08-15
168
+ - Add script to wait for content ingestion finished.
169
+
170
+ ## [0.10.8] - 2025-08-13
171
+ - Add support for Agentic Table.
172
+
173
+ ## [0.10.7] - 2025-08-13
174
+ - Make metadata optional when uploading a file.
175
+
176
+ ## [0.10.6] - 2025-08-06
177
+ - Make tools optional for running an agent.
178
+
179
+ ## [0.10.5] - 2025-08-06
180
+ - Get paginated files and folders info.
181
+
182
+ ## [0.10.4] - 2025-08-05
183
+ - Add support for reasoning API with streaming within a chat.
184
+
185
+ ## [0.10.3] - 2025-08-05
186
+ - Expose scoreThreshold param for search.
187
+
188
+ ## [0.10.2] - 2025-08-05
189
+ - Add script to chat against file.
190
+
191
+ ## [0.10.1] - 2025-08-05
192
+ - Allow deletion of a space chat.
193
+
194
+ ## [0.10.0] - 2025-08-04
195
+ - Add MCP support
196
+
197
+ ## [0.9.42] - 2025-07-31
198
+ - Fix wrong chat in space example.
199
+
200
+ ## [0.9.41] - 2025-07-31
201
+ - Fix double-slash error in open ai proxy script.
202
+
203
+ ## [0.9.40] - 2025-07-22
204
+ - Fixed bug where get requests send body with the request. This is not allowed by WAF policies.
205
+
206
+ ## [0.9.39] - 2025-07-18
207
+ - Add script to chat in a space.
208
+
209
+ ## [0.9.38] - 2025-07-18
210
+ - [Experimental] Add support for Unique OpenAI proxy. You can now use the OpenAI SDK directly through Unique. Checkout how to do this and a few examples here: `tutorials/unique_basics/sdk_examples/openai_scripts.py`.
211
+
212
+ ## [0.9.37] - 2025-07-10
213
+ - Add `sheetName` property to the `MagicTableSheetIngestParams` object used by function that ingests magic table sheets.
214
+
215
+ ## [0.9.36] - 2025-06-23
216
+ - Allow passing a user id when creating chat completions. This is optional and it does not impact the current behaviour.
217
+
218
+ ## [0.9.35] - 2025-06-18
219
+ - Allow scope access updates (add/remove) on folder based on scope id or path.
220
+
221
+ ## [0.9.34] - 2025-06-17
222
+ - Allow ingestion config updates on folder based on scope id or path.
223
+
224
+ ## [0.9.33] - 2025-06-11
225
+ - Add function to get a folder by id or by path.
226
+
227
+ ## [0.9.32] - 2025-06-11
228
+ - Add function to ingest magic table sheets.
229
+
230
+ ## [0.9.31] - 2025-05-21
231
+ - Add function to update folder access (add or remove).
232
+
233
+ ## [0.9.30] - 2025-05-21
234
+ - Add function to update folder ingestion config.
235
+
236
+ ## [0.9.29] - 2025-05-20
237
+ - Add function to create folder paths if they do not exist.
238
+
239
+ ## [0.9.28] - 2025-05-20
240
+ - Add function to search content info. This also allows filtering content info by metadata info.
241
+
242
+ ## [0.9.27] - 2025-05-14
243
+ - Add the possibility to specify metadata when creating or updating a Content.
244
+
245
+ ## [0.9.26] - 2025-05-13
246
+ - Add the possibility to specify ingestionConfig when creating or updating a Content.
247
+
248
+ ## [0.9.25] - 2025-05-02
249
+ - Fixed typos in `README.md`, including incorrect `sdk.utils` imports and code example errors.
250
+
251
+ ## [0.9.24] - 2025-04-23
252
+ - Make `chatId` property in `Search.CreateParams` optional
253
+
254
+ ## [0.9.23] - 2025-03-25
255
+ - Define programming language classifier explicitly for python 3.11
256
+
257
+ ## [0.9.22] - 2025-02-25
258
+ - update the retry_on_error to only `APIError` and `APIConnectionError` update the `resp["error"]` to be `resp.get("error")` to avoid key error
259
+
260
+ ## [0.9.21] - 2025-02-21
261
+ - Add title parameter and change labels in `MessageAssessment`
262
+
263
+ ## [0.9.20] - 2025-02-01
264
+ - Add url parameter to `MessageAssessment.create_async` and `MessageAssessment.modify_async`
265
+
266
+ ## [0.9.19] - 2025-01-31
267
+ - Add `MessageAssessment` resource
268
+
269
+ ## [0.9.18] - 2025-01-22
270
+ - Removed `Invalid response body from API` from `retry_dict` as it's our own artificail error.
271
+
272
+ ## [0.9.17] - 2025-01-03
273
+ - BREAKING CHANGE!! Removed unused `id` from `ShortTermMemory` create and find methods.
274
+
275
+ ## [0.9.16] - 2024-12-19
276
+ - Corrected return type of `Search.create` and `Search.create_async` to `List[Search]`
277
+ - Retry on `Connection aborted` error
278
+
279
+ ## [0.9.15] - 2024-12-06
280
+ - Add `Internal server error` and `You can retry your request` to the retry logic
281
+
282
+ ## [0.9.14] - 2024-12-06
283
+ - Add `contentIds` to `Search.create` and `Search.create_async`
284
+
285
+ ## [0.9.13] - 2024-10-23
286
+ - Add retry for `5xx` errors, add additional error message.
287
+
288
+ ## [0.9.12] - 2024-11-21
289
+ - Include original error message in returned exceptions
290
+
291
+ ## [0.9.11] - 2024-11-18
292
+ - Add `ingestionConfig` to `UpsertParams.Input` parameters
293
+
294
+ ## [0.9.10] - 2024-10-23
295
+ - Remove `temperature` parameter from `Integrated.chat_stream_completion`, `Integrated.chat_stream_completion_async`, `ChatCompletion.create` and `ChatCompletion.create_async` methods. To use `temperature` parameter, set the attribute in `options` parameter instead.
296
+
297
+ ## [0.9.9] - 2024-10-23
298
+ - Revert deletion of `Message.retrieve` method
299
+
300
+ ## [0.9.8] - 2024-10-16
301
+ - Add `retries` for `_static_request` and `_static_request_async` in `APIResource` - When the error messages contains either `"problem proxying the request"`,
302
+ or `"Upstream service reached a hard timeout"`,
303
+ ## [0.9.7] - 2024-09-23
304
+ - Add `completedAt` to `CreateParams` of `Message`
305
+
306
+ ## [0.9.6] - 2024-09-03
307
+ - Added `metaDataFilter` to `Search` parameters.
308
+
309
+ ## [0.9.5] - 2024-08-07
310
+ - Add `completedAt` to `ModifyParams`
311
+
312
+ ## [0.9.4] - 2024-07-31
313
+ - Add `close` and `close_async` to `http_client`
314
+ - Make `httpx` the default client for async requests
315
+
316
+ ## [0.9.3] - 2024-07-31
317
+ - `Search.create`, `Message`, `ChatCompletion` parameters that were marked `NotRequired` are now also `Optional`
318
+
319
+ ## [0.9.2] - 2024-07-30
320
+ - Bug fix in `Search.create`: langugage -> language
321
+
322
+ ## [0.9.1] - 2024-07-30
323
+ - Added parameters to `Search.create` and `Search.create_async`
324
+ - `language` for full text search
325
+ - `reranker` to reranker search results
326
+
327
+ ## [0.9.0] - 2024-07-29
328
+ - Added the possibility to make async requests to the unique APIs using either aiohttp or httpx as client
329
+