label-studio-sdk 2.0.1__py3-none-any.whl → 2.0.2__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.

Potentially problematic release.


This version of label-studio-sdk might be problematic. Click here for more details.

Files changed (167) hide show
  1. label_studio_sdk/__init__.py +4 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/comments/client.py +176 -176
  7. label_studio_sdk/export_storage/azure/client.py +274 -274
  8. label_studio_sdk/export_storage/gcs/client.py +263 -263
  9. label_studio_sdk/export_storage/local/client.py +206 -206
  10. label_studio_sdk/export_storage/redis/client.py +287 -287
  11. label_studio_sdk/export_storage/s3/client.py +347 -347
  12. label_studio_sdk/export_storage/s3s/client.py +678 -678
  13. label_studio_sdk/import_storage/azure/client.py +357 -357
  14. label_studio_sdk/import_storage/gcs/client.py +357 -357
  15. label_studio_sdk/import_storage/local/client.py +206 -206
  16. label_studio_sdk/import_storage/redis/client.py +309 -309
  17. label_studio_sdk/import_storage/s3/client.py +452 -452
  18. label_studio_sdk/import_storage/s3s/client.py +735 -735
  19. label_studio_sdk/jwt_settings/client.py +10 -10
  20. label_studio_sdk/ml/client.py +118 -118
  21. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  22. label_studio_sdk/model_providers/client.py +181 -181
  23. label_studio_sdk/organizations/members/client.py +8 -8
  24. label_studio_sdk/predictions/client.py +60 -60
  25. label_studio_sdk/projects/__init__.py +30 -1
  26. label_studio_sdk/projects/assignments/__init__.py +33 -0
  27. label_studio_sdk/projects/assignments/client.py +764 -0
  28. label_studio_sdk/projects/assignments/types/__init__.py +35 -0
  29. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  30. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  31. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  32. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  41. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  42. label_studio_sdk/projects/client.py +441 -425
  43. label_studio_sdk/projects/exports/client.py +55 -55
  44. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  45. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  46. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  47. label_studio_sdk/prompts/client.py +211 -211
  48. label_studio_sdk/prompts/runs/client.py +33 -33
  49. label_studio_sdk/prompts/versions/client.py +72 -72
  50. label_studio_sdk/tasks/client.py +174 -174
  51. label_studio_sdk/types/__init__.py +4 -0
  52. label_studio_sdk/types/all_roles_project_list.py +94 -94
  53. label_studio_sdk/types/annotation.py +35 -35
  54. label_studio_sdk/types/annotation_request.py +27 -27
  55. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  56. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  57. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  58. label_studio_sdk/types/billing_checks.py +14 -14
  59. label_studio_sdk/types/billing_flags.py +16 -16
  60. label_studio_sdk/types/blueprint_list.py +7 -8
  61. label_studio_sdk/types/child_filter.py +11 -10
  62. label_studio_sdk/types/comment.py +15 -15
  63. label_studio_sdk/types/comment_request.py +7 -8
  64. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  65. label_studio_sdk/types/converted_format.py +1 -1
  66. label_studio_sdk/types/converted_format_request.py +1 -1
  67. label_studio_sdk/types/export.py +8 -8
  68. label_studio_sdk/types/file_upload.py +3 -2
  69. label_studio_sdk/types/filter.py +10 -9
  70. label_studio_sdk/types/filter_group.py +4 -3
  71. label_studio_sdk/types/gcs_export_storage.py +23 -23
  72. label_studio_sdk/types/gcs_import_storage.py +27 -27
  73. label_studio_sdk/types/import_api_request.py +26 -26
  74. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  75. label_studio_sdk/types/local_files_export_storage.py +23 -23
  76. label_studio_sdk/types/local_files_import_storage.py +26 -26
  77. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  78. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  79. label_studio_sdk/types/lse_export_create.py +12 -12
  80. label_studio_sdk/types/lse_fields.py +14 -14
  81. label_studio_sdk/types/lse_organization.py +17 -17
  82. label_studio_sdk/types/lse_organization_member_list.py +1 -1
  83. label_studio_sdk/types/lse_project_create.py +72 -72
  84. label_studio_sdk/types/lse_project_update.py +89 -89
  85. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  86. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  87. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  88. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  89. label_studio_sdk/types/lse_task.py +49 -49
  90. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  91. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  92. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  93. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  94. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  95. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  96. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  97. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  98. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  99. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  100. label_studio_sdk/types/lse_user.py +13 -13
  101. label_studio_sdk/types/lse_user_api.py +11 -11
  102. label_studio_sdk/types/lse_user_organization_member_list.py +13 -13
  103. label_studio_sdk/types/lseapi_token_create.py +1 -1
  104. label_studio_sdk/types/lseapi_token_list.py +1 -1
  105. label_studio_sdk/types/lsejwt_settings.py +5 -5
  106. label_studio_sdk/types/ml_backend.py +27 -28
  107. label_studio_sdk/types/model_interface.py +12 -12
  108. label_studio_sdk/types/model_interface_request.py +7 -8
  109. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  110. label_studio_sdk/types/model_provider_connection.py +34 -34
  111. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  112. label_studio_sdk/types/model_run.py +12 -12
  113. label_studio_sdk/types/organization_billing.py +1 -1
  114. label_studio_sdk/types/organization_id.py +2 -2
  115. label_studio_sdk/types/organization_invite.py +1 -1
  116. label_studio_sdk/types/organization_member.py +8 -9
  117. label_studio_sdk/types/organization_membership.py +2 -1
  118. label_studio_sdk/types/pause.py +23 -23
  119. label_studio_sdk/types/prediction.py +21 -21
  120. label_studio_sdk/types/prediction_request.py +16 -16
  121. label_studio_sdk/types/project.py +72 -72
  122. label_studio_sdk/types/project_import.py +21 -21
  123. label_studio_sdk/types/redis_export_storage.py +34 -34
  124. label_studio_sdk/types/redis_import_storage.py +37 -37
  125. label_studio_sdk/types/refined_prompt_response.py +11 -11
  126. label_studio_sdk/types/review_settings.py +29 -30
  127. label_studio_sdk/types/review_settings_request.py +29 -30
  128. label_studio_sdk/types/s3export_storage.py +45 -45
  129. label_studio_sdk/types/s3import_storage.py +44 -44
  130. label_studio_sdk/types/selected_items_request.py +1 -1
  131. label_studio_sdk/types/serialization_options.py +10 -10
  132. label_studio_sdk/types/serialization_options_request.py +10 -10
  133. label_studio_sdk/types/task_assignment.py +43 -0
  134. label_studio_sdk/types/third_party_model_version.py +11 -11
  135. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  136. label_studio_sdk/types/type_enum.py +5 -0
  137. label_studio_sdk/types/user_simple.py +3 -3
  138. label_studio_sdk/types/user_simple_request.py +1 -1
  139. label_studio_sdk/types/version_response.py +19 -20
  140. label_studio_sdk/types/view.py +8 -8
  141. label_studio_sdk/types/webhook.py +16 -16
  142. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  143. label_studio_sdk/types/workspace.py +10 -11
  144. label_studio_sdk/users/client.py +160 -160
  145. label_studio_sdk/views/client.py +164 -164
  146. label_studio_sdk/webhooks/client.py +183 -183
  147. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  148. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  149. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  150. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  151. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  152. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  153. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  154. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  155. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  156. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  157. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  158. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  159. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  160. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  161. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  162. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  163. label_studio_sdk/workspaces/client.py +40 -40
  164. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +1 -1
  165. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +167 -149
  166. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
  167. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/WHEEL +0 -0
@@ -79,17 +79,17 @@ class AzureClient:
79
79
  def create(
80
80
  self,
81
81
  *,
82
- regex_filter: typing.Optional[str] = OMIT,
83
- use_blob_urls: typing.Optional[bool] = OMIT,
82
+ account_key: typing.Optional[str] = OMIT,
83
+ account_name: typing.Optional[str] = OMIT,
84
+ container: typing.Optional[str] = OMIT,
85
+ description: typing.Optional[str] = OMIT,
86
+ prefix: typing.Optional[str] = OMIT,
84
87
  presign: typing.Optional[bool] = OMIT,
85
88
  presign_ttl: typing.Optional[int] = OMIT,
86
- title: typing.Optional[str] = OMIT,
87
- description: typing.Optional[str] = OMIT,
88
89
  project: typing.Optional[int] = OMIT,
89
- container: typing.Optional[str] = OMIT,
90
- prefix: typing.Optional[str] = OMIT,
91
- account_name: typing.Optional[str] = OMIT,
92
- account_key: typing.Optional[str] = OMIT,
90
+ regex_filter: typing.Optional[str] = OMIT,
91
+ title: typing.Optional[str] = OMIT,
92
+ use_blob_urls: typing.Optional[bool] = OMIT,
93
93
  request_options: typing.Optional[RequestOptions] = None,
94
94
  ) -> AzureBlobImportStorage:
95
95
  """
@@ -97,11 +97,20 @@ class AzureClient:
97
97
 
98
98
  Parameters
99
99
  ----------
100
- regex_filter : typing.Optional[str]
101
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
100
+ account_key : typing.Optional[str]
101
+ Azure Blob account key
102
102
 
103
- use_blob_urls : typing.Optional[bool]
104
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
103
+ account_name : typing.Optional[str]
104
+ Azure Blob account name
105
+
106
+ container : typing.Optional[str]
107
+ Azure blob container
108
+
109
+ description : typing.Optional[str]
110
+ Storage description
111
+
112
+ prefix : typing.Optional[str]
113
+ Azure blob prefix name
105
114
 
106
115
  presign : typing.Optional[bool]
107
116
  Presign URLs for direct download
@@ -109,26 +118,17 @@ class AzureClient:
109
118
  presign_ttl : typing.Optional[int]
110
119
  Presign TTL in minutes
111
120
 
112
- title : typing.Optional[str]
113
- Storage title
114
-
115
- description : typing.Optional[str]
116
- Storage description
117
-
118
121
  project : typing.Optional[int]
119
122
  Project ID
120
123
 
121
- container : typing.Optional[str]
122
- Azure blob container
123
-
124
- prefix : typing.Optional[str]
125
- Azure blob prefix name
124
+ regex_filter : typing.Optional[str]
125
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
126
126
 
127
- account_name : typing.Optional[str]
128
- Azure Blob account name
127
+ title : typing.Optional[str]
128
+ Storage title
129
129
 
130
- account_key : typing.Optional[str]
131
- Azure Blob account key
130
+ use_blob_urls : typing.Optional[bool]
131
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
132
132
 
133
133
  request_options : typing.Optional[RequestOptions]
134
134
  Request-specific configuration.
@@ -151,17 +151,17 @@ class AzureClient:
151
151
  "api/storages/azure/",
152
152
  method="POST",
153
153
  json={
154
- "regex_filter": regex_filter,
155
- "use_blob_urls": use_blob_urls,
154
+ "account_key": account_key,
155
+ "account_name": account_name,
156
+ "container": container,
157
+ "description": description,
158
+ "prefix": prefix,
156
159
  "presign": presign,
157
160
  "presign_ttl": presign_ttl,
158
- "title": title,
159
- "description": description,
160
161
  "project": project,
161
- "container": container,
162
- "prefix": prefix,
163
- "account_name": account_name,
164
- "account_key": account_key,
162
+ "regex_filter": regex_filter,
163
+ "title": title,
164
+ "use_blob_urls": use_blob_urls,
165
165
  },
166
166
  headers={
167
167
  "content-type": "application/json",
@@ -183,6 +183,111 @@ class AzureClient:
183
183
  raise ApiError(status_code=_response.status_code, body=_response.text)
184
184
  raise ApiError(status_code=_response.status_code, body=_response_json)
185
185
 
186
+ def validate(
187
+ self,
188
+ *,
189
+ account_key: typing.Optional[str] = OMIT,
190
+ account_name: typing.Optional[str] = OMIT,
191
+ container: typing.Optional[str] = OMIT,
192
+ description: typing.Optional[str] = OMIT,
193
+ id: typing.Optional[int] = OMIT,
194
+ prefix: typing.Optional[str] = OMIT,
195
+ presign: typing.Optional[bool] = OMIT,
196
+ presign_ttl: typing.Optional[int] = OMIT,
197
+ project: typing.Optional[int] = OMIT,
198
+ regex_filter: typing.Optional[str] = OMIT,
199
+ title: typing.Optional[str] = OMIT,
200
+ use_blob_urls: typing.Optional[bool] = OMIT,
201
+ request_options: typing.Optional[RequestOptions] = None,
202
+ ) -> None:
203
+ """
204
+ Validate a specific Azure import storage connection.
205
+
206
+ Parameters
207
+ ----------
208
+ account_key : typing.Optional[str]
209
+ Azure Blob account key
210
+
211
+ account_name : typing.Optional[str]
212
+ Azure Blob account name
213
+
214
+ container : typing.Optional[str]
215
+ Azure blob container
216
+
217
+ description : typing.Optional[str]
218
+ Storage description
219
+
220
+ id : typing.Optional[int]
221
+ Storage ID. If set, storage with specified ID will be updated
222
+
223
+ prefix : typing.Optional[str]
224
+ Azure blob prefix name
225
+
226
+ presign : typing.Optional[bool]
227
+ Presign URLs for direct download
228
+
229
+ presign_ttl : typing.Optional[int]
230
+ Presign TTL in minutes
231
+
232
+ project : typing.Optional[int]
233
+ Project ID
234
+
235
+ regex_filter : typing.Optional[str]
236
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
237
+
238
+ title : typing.Optional[str]
239
+ Storage title
240
+
241
+ use_blob_urls : typing.Optional[bool]
242
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
243
+
244
+ request_options : typing.Optional[RequestOptions]
245
+ Request-specific configuration.
246
+
247
+ Returns
248
+ -------
249
+ None
250
+
251
+ Examples
252
+ --------
253
+ from label_studio_sdk import LabelStudio
254
+
255
+ client = LabelStudio(
256
+ api_key="YOUR_API_KEY",
257
+ )
258
+ client.import_storage.azure.validate()
259
+ """
260
+ _response = self._client_wrapper.httpx_client.request(
261
+ "api/storages/azure/validate",
262
+ method="POST",
263
+ json={
264
+ "account_key": account_key,
265
+ "account_name": account_name,
266
+ "container": container,
267
+ "description": description,
268
+ "id": id,
269
+ "prefix": prefix,
270
+ "presign": presign,
271
+ "presign_ttl": presign_ttl,
272
+ "project": project,
273
+ "regex_filter": regex_filter,
274
+ "title": title,
275
+ "use_blob_urls": use_blob_urls,
276
+ },
277
+ headers={
278
+ "content-type": "application/json",
279
+ },
280
+ request_options=request_options,
281
+ omit=OMIT,
282
+ )
283
+ try:
284
+ if 200 <= _response.status_code < 300:
285
+ return
286
+ _response_json = _response.json()
287
+ except JSONDecodeError:
288
+ raise ApiError(status_code=_response.status_code, body=_response.text)
289
+ raise ApiError(status_code=_response.status_code, body=_response_json)
290
+
186
291
  def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> AzureBlobImportStorage:
187
292
  """
188
293
  Get a specific Azure import storage connection.
@@ -272,17 +377,17 @@ class AzureClient:
272
377
  self,
273
378
  id: int,
274
379
  *,
275
- regex_filter: typing.Optional[str] = OMIT,
276
- use_blob_urls: typing.Optional[bool] = OMIT,
380
+ account_key: typing.Optional[str] = OMIT,
381
+ account_name: typing.Optional[str] = OMIT,
382
+ container: typing.Optional[str] = OMIT,
383
+ description: typing.Optional[str] = OMIT,
384
+ prefix: typing.Optional[str] = OMIT,
277
385
  presign: typing.Optional[bool] = OMIT,
278
386
  presign_ttl: typing.Optional[int] = OMIT,
279
- title: typing.Optional[str] = OMIT,
280
- description: typing.Optional[str] = OMIT,
281
387
  project: typing.Optional[int] = OMIT,
282
- container: typing.Optional[str] = OMIT,
283
- prefix: typing.Optional[str] = OMIT,
284
- account_name: typing.Optional[str] = OMIT,
285
- account_key: typing.Optional[str] = OMIT,
388
+ regex_filter: typing.Optional[str] = OMIT,
389
+ title: typing.Optional[str] = OMIT,
390
+ use_blob_urls: typing.Optional[bool] = OMIT,
286
391
  request_options: typing.Optional[RequestOptions] = None,
287
392
  ) -> AzureBlobImportStorage:
288
393
  """
@@ -292,11 +397,20 @@ class AzureClient:
292
397
  ----------
293
398
  id : int
294
399
 
295
- regex_filter : typing.Optional[str]
296
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
400
+ account_key : typing.Optional[str]
401
+ Azure Blob account key
297
402
 
298
- use_blob_urls : typing.Optional[bool]
299
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
403
+ account_name : typing.Optional[str]
404
+ Azure Blob account name
405
+
406
+ container : typing.Optional[str]
407
+ Azure blob container
408
+
409
+ description : typing.Optional[str]
410
+ Storage description
411
+
412
+ prefix : typing.Optional[str]
413
+ Azure blob prefix name
300
414
 
301
415
  presign : typing.Optional[bool]
302
416
  Presign URLs for direct download
@@ -304,26 +418,17 @@ class AzureClient:
304
418
  presign_ttl : typing.Optional[int]
305
419
  Presign TTL in minutes
306
420
 
307
- title : typing.Optional[str]
308
- Storage title
309
-
310
- description : typing.Optional[str]
311
- Storage description
312
-
313
421
  project : typing.Optional[int]
314
422
  Project ID
315
423
 
316
- container : typing.Optional[str]
317
- Azure blob container
318
-
319
- prefix : typing.Optional[str]
320
- Azure blob prefix name
424
+ regex_filter : typing.Optional[str]
425
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
321
426
 
322
- account_name : typing.Optional[str]
323
- Azure Blob account name
427
+ title : typing.Optional[str]
428
+ Storage title
324
429
 
325
- account_key : typing.Optional[str]
326
- Azure Blob account key
430
+ use_blob_urls : typing.Optional[bool]
431
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
327
432
 
328
433
  request_options : typing.Optional[RequestOptions]
329
434
  Request-specific configuration.
@@ -348,17 +453,17 @@ class AzureClient:
348
453
  f"api/storages/azure/{jsonable_encoder(id)}",
349
454
  method="PATCH",
350
455
  json={
351
- "regex_filter": regex_filter,
352
- "use_blob_urls": use_blob_urls,
456
+ "account_key": account_key,
457
+ "account_name": account_name,
458
+ "container": container,
459
+ "description": description,
460
+ "prefix": prefix,
353
461
  "presign": presign,
354
462
  "presign_ttl": presign_ttl,
355
- "title": title,
356
- "description": description,
357
463
  "project": project,
358
- "container": container,
359
- "prefix": prefix,
360
- "account_name": account_name,
361
- "account_key": account_key,
464
+ "regex_filter": regex_filter,
465
+ "title": title,
466
+ "use_blob_urls": use_blob_urls,
362
467
  },
363
468
  headers={
364
469
  "content-type": "application/json",
@@ -427,140 +532,137 @@ class AzureClient:
427
532
  raise ApiError(status_code=_response.status_code, body=_response.text)
428
533
  raise ApiError(status_code=_response.status_code, body=_response_json)
429
534
 
430
- def validate(
535
+
536
+ class AsyncAzureClient:
537
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
538
+ self._client_wrapper = client_wrapper
539
+
540
+ async def list(
431
541
  self,
432
542
  *,
433
- id: typing.Optional[int] = OMIT,
434
- regex_filter: typing.Optional[str] = OMIT,
435
- use_blob_urls: typing.Optional[bool] = OMIT,
436
- presign: typing.Optional[bool] = OMIT,
437
- presign_ttl: typing.Optional[int] = OMIT,
438
- title: typing.Optional[str] = OMIT,
439
- description: typing.Optional[str] = OMIT,
440
- project: typing.Optional[int] = OMIT,
441
- container: typing.Optional[str] = OMIT,
442
- prefix: typing.Optional[str] = OMIT,
443
- account_name: typing.Optional[str] = OMIT,
444
- account_key: typing.Optional[str] = OMIT,
543
+ ordering: typing.Optional[str] = None,
544
+ project: typing.Optional[int] = None,
445
545
  request_options: typing.Optional[RequestOptions] = None,
446
- ) -> None:
546
+ ) -> typing.List[AzureBlobImportStorage]:
447
547
  """
448
- Validate a specific Azure import storage connection.
548
+ Get list of all Azure import storage connections.
449
549
 
450
550
  Parameters
451
551
  ----------
452
- id : typing.Optional[int]
453
- Storage ID. If set, storage with specified ID will be updated
454
-
455
- regex_filter : typing.Optional[str]
456
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
457
-
458
- use_blob_urls : typing.Optional[bool]
459
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
460
-
461
- presign : typing.Optional[bool]
462
- Presign URLs for direct download
463
-
464
- presign_ttl : typing.Optional[int]
465
- Presign TTL in minutes
466
-
467
- title : typing.Optional[str]
468
- Storage title
469
-
470
- description : typing.Optional[str]
471
- Storage description
552
+ ordering : typing.Optional[str]
553
+ Which field to use when ordering the results.
472
554
 
473
555
  project : typing.Optional[int]
474
556
  Project ID
475
557
 
476
- container : typing.Optional[str]
477
- Azure blob container
478
-
479
- prefix : typing.Optional[str]
480
- Azure blob prefix name
481
-
482
- account_name : typing.Optional[str]
483
- Azure Blob account name
484
-
485
- account_key : typing.Optional[str]
486
- Azure Blob account key
487
-
488
558
  request_options : typing.Optional[RequestOptions]
489
559
  Request-specific configuration.
490
560
 
491
561
  Returns
492
562
  -------
493
- None
563
+ typing.List[AzureBlobImportStorage]
564
+
494
565
 
495
566
  Examples
496
567
  --------
497
- from label_studio_sdk import LabelStudio
568
+ import asyncio
498
569
 
499
- client = LabelStudio(
570
+ from label_studio_sdk import AsyncLabelStudio
571
+
572
+ client = AsyncLabelStudio(
500
573
  api_key="YOUR_API_KEY",
501
574
  )
502
- client.import_storage.azure.validate()
575
+
576
+
577
+ async def main() -> None:
578
+ await client.import_storage.azure.list()
579
+
580
+
581
+ asyncio.run(main())
503
582
  """
504
- _response = self._client_wrapper.httpx_client.request(
505
- "api/storages/azure/validate",
506
- method="POST",
507
- json={
508
- "id": id,
509
- "regex_filter": regex_filter,
510
- "use_blob_urls": use_blob_urls,
511
- "presign": presign,
512
- "presign_ttl": presign_ttl,
513
- "title": title,
514
- "description": description,
583
+ _response = await self._client_wrapper.httpx_client.request(
584
+ "api/storages/azure/",
585
+ method="GET",
586
+ params={
587
+ "ordering": ordering,
515
588
  "project": project,
516
- "container": container,
517
- "prefix": prefix,
518
- "account_name": account_name,
519
- "account_key": account_key,
520
- },
521
- headers={
522
- "content-type": "application/json",
523
589
  },
524
590
  request_options=request_options,
525
- omit=OMIT,
526
591
  )
527
592
  try:
528
593
  if 200 <= _response.status_code < 300:
529
- return
594
+ return typing.cast(
595
+ typing.List[AzureBlobImportStorage],
596
+ construct_type(
597
+ type_=typing.List[AzureBlobImportStorage], # type: ignore
598
+ object_=_response.json(),
599
+ ),
600
+ )
530
601
  _response_json = _response.json()
531
602
  except JSONDecodeError:
532
603
  raise ApiError(status_code=_response.status_code, body=_response.text)
533
604
  raise ApiError(status_code=_response.status_code, body=_response_json)
534
605
 
535
-
536
- class AsyncAzureClient:
537
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
538
- self._client_wrapper = client_wrapper
539
-
540
- async def list(
606
+ async def create(
541
607
  self,
542
608
  *,
543
- ordering: typing.Optional[str] = None,
544
- project: typing.Optional[int] = None,
609
+ account_key: typing.Optional[str] = OMIT,
610
+ account_name: typing.Optional[str] = OMIT,
611
+ container: typing.Optional[str] = OMIT,
612
+ description: typing.Optional[str] = OMIT,
613
+ prefix: typing.Optional[str] = OMIT,
614
+ presign: typing.Optional[bool] = OMIT,
615
+ presign_ttl: typing.Optional[int] = OMIT,
616
+ project: typing.Optional[int] = OMIT,
617
+ regex_filter: typing.Optional[str] = OMIT,
618
+ title: typing.Optional[str] = OMIT,
619
+ use_blob_urls: typing.Optional[bool] = OMIT,
545
620
  request_options: typing.Optional[RequestOptions] = None,
546
- ) -> typing.List[AzureBlobImportStorage]:
621
+ ) -> AzureBlobImportStorage:
547
622
  """
548
- Get list of all Azure import storage connections.
623
+ Create new Azure import storage
549
624
 
550
625
  Parameters
551
626
  ----------
552
- ordering : typing.Optional[str]
553
- Which field to use when ordering the results.
627
+ account_key : typing.Optional[str]
628
+ Azure Blob account key
629
+
630
+ account_name : typing.Optional[str]
631
+ Azure Blob account name
632
+
633
+ container : typing.Optional[str]
634
+ Azure blob container
635
+
636
+ description : typing.Optional[str]
637
+ Storage description
638
+
639
+ prefix : typing.Optional[str]
640
+ Azure blob prefix name
641
+
642
+ presign : typing.Optional[bool]
643
+ Presign URLs for direct download
644
+
645
+ presign_ttl : typing.Optional[int]
646
+ Presign TTL in minutes
554
647
 
555
648
  project : typing.Optional[int]
556
649
  Project ID
557
650
 
651
+ regex_filter : typing.Optional[str]
652
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
653
+
654
+ title : typing.Optional[str]
655
+ Storage title
656
+
657
+ use_blob_urls : typing.Optional[bool]
658
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
659
+
558
660
  request_options : typing.Optional[RequestOptions]
559
661
  Request-specific configuration.
560
662
 
561
663
  Returns
562
664
  -------
563
- typing.List[AzureBlobImportStorage]
665
+ AzureBlobImportStorage
564
666
 
565
667
 
566
668
  Examples
@@ -575,26 +677,39 @@ class AsyncAzureClient:
575
677
 
576
678
 
577
679
  async def main() -> None:
578
- await client.import_storage.azure.list()
680
+ await client.import_storage.azure.create()
579
681
 
580
682
 
581
683
  asyncio.run(main())
582
684
  """
583
685
  _response = await self._client_wrapper.httpx_client.request(
584
686
  "api/storages/azure/",
585
- method="GET",
586
- params={
587
- "ordering": ordering,
687
+ method="POST",
688
+ json={
689
+ "account_key": account_key,
690
+ "account_name": account_name,
691
+ "container": container,
692
+ "description": description,
693
+ "prefix": prefix,
694
+ "presign": presign,
695
+ "presign_ttl": presign_ttl,
588
696
  "project": project,
697
+ "regex_filter": regex_filter,
698
+ "title": title,
699
+ "use_blob_urls": use_blob_urls,
700
+ },
701
+ headers={
702
+ "content-type": "application/json",
589
703
  },
590
704
  request_options=request_options,
705
+ omit=OMIT,
591
706
  )
592
707
  try:
593
708
  if 200 <= _response.status_code < 300:
594
709
  return typing.cast(
595
- typing.List[AzureBlobImportStorage],
710
+ AzureBlobImportStorage,
596
711
  construct_type(
597
- type_=typing.List[AzureBlobImportStorage], # type: ignore
712
+ type_=AzureBlobImportStorage, # type: ignore
598
713
  object_=_response.json(),
599
714
  ),
600
715
  )
@@ -603,32 +718,45 @@ class AsyncAzureClient:
603
718
  raise ApiError(status_code=_response.status_code, body=_response.text)
604
719
  raise ApiError(status_code=_response.status_code, body=_response_json)
605
720
 
606
- async def create(
721
+ async def validate(
607
722
  self,
608
723
  *,
609
- regex_filter: typing.Optional[str] = OMIT,
610
- use_blob_urls: typing.Optional[bool] = OMIT,
724
+ account_key: typing.Optional[str] = OMIT,
725
+ account_name: typing.Optional[str] = OMIT,
726
+ container: typing.Optional[str] = OMIT,
727
+ description: typing.Optional[str] = OMIT,
728
+ id: typing.Optional[int] = OMIT,
729
+ prefix: typing.Optional[str] = OMIT,
611
730
  presign: typing.Optional[bool] = OMIT,
612
731
  presign_ttl: typing.Optional[int] = OMIT,
613
- title: typing.Optional[str] = OMIT,
614
- description: typing.Optional[str] = OMIT,
615
732
  project: typing.Optional[int] = OMIT,
616
- container: typing.Optional[str] = OMIT,
617
- prefix: typing.Optional[str] = OMIT,
618
- account_name: typing.Optional[str] = OMIT,
619
- account_key: typing.Optional[str] = OMIT,
733
+ regex_filter: typing.Optional[str] = OMIT,
734
+ title: typing.Optional[str] = OMIT,
735
+ use_blob_urls: typing.Optional[bool] = OMIT,
620
736
  request_options: typing.Optional[RequestOptions] = None,
621
- ) -> AzureBlobImportStorage:
737
+ ) -> None:
622
738
  """
623
- Create new Azure import storage
739
+ Validate a specific Azure import storage connection.
624
740
 
625
741
  Parameters
626
742
  ----------
627
- regex_filter : typing.Optional[str]
628
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
743
+ account_key : typing.Optional[str]
744
+ Azure Blob account key
629
745
 
630
- use_blob_urls : typing.Optional[bool]
631
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
746
+ account_name : typing.Optional[str]
747
+ Azure Blob account name
748
+
749
+ container : typing.Optional[str]
750
+ Azure blob container
751
+
752
+ description : typing.Optional[str]
753
+ Storage description
754
+
755
+ id : typing.Optional[int]
756
+ Storage ID. If set, storage with specified ID will be updated
757
+
758
+ prefix : typing.Optional[str]
759
+ Azure blob prefix name
632
760
 
633
761
  presign : typing.Optional[bool]
634
762
  Presign URLs for direct download
@@ -636,34 +764,24 @@ class AsyncAzureClient:
636
764
  presign_ttl : typing.Optional[int]
637
765
  Presign TTL in minutes
638
766
 
639
- title : typing.Optional[str]
640
- Storage title
641
-
642
- description : typing.Optional[str]
643
- Storage description
644
-
645
767
  project : typing.Optional[int]
646
768
  Project ID
647
769
 
648
- container : typing.Optional[str]
649
- Azure blob container
650
-
651
- prefix : typing.Optional[str]
652
- Azure blob prefix name
770
+ regex_filter : typing.Optional[str]
771
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
653
772
 
654
- account_name : typing.Optional[str]
655
- Azure Blob account name
773
+ title : typing.Optional[str]
774
+ Storage title
656
775
 
657
- account_key : typing.Optional[str]
658
- Azure Blob account key
776
+ use_blob_urls : typing.Optional[bool]
777
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
659
778
 
660
779
  request_options : typing.Optional[RequestOptions]
661
780
  Request-specific configuration.
662
781
 
663
782
  Returns
664
783
  -------
665
- AzureBlobImportStorage
666
-
784
+ None
667
785
 
668
786
  Examples
669
787
  --------
@@ -677,26 +795,27 @@ class AsyncAzureClient:
677
795
 
678
796
 
679
797
  async def main() -> None:
680
- await client.import_storage.azure.create()
798
+ await client.import_storage.azure.validate()
681
799
 
682
800
 
683
801
  asyncio.run(main())
684
802
  """
685
803
  _response = await self._client_wrapper.httpx_client.request(
686
- "api/storages/azure/",
804
+ "api/storages/azure/validate",
687
805
  method="POST",
688
806
  json={
689
- "regex_filter": regex_filter,
690
- "use_blob_urls": use_blob_urls,
807
+ "account_key": account_key,
808
+ "account_name": account_name,
809
+ "container": container,
810
+ "description": description,
811
+ "id": id,
812
+ "prefix": prefix,
691
813
  "presign": presign,
692
814
  "presign_ttl": presign_ttl,
693
- "title": title,
694
- "description": description,
695
815
  "project": project,
696
- "container": container,
697
- "prefix": prefix,
698
- "account_name": account_name,
699
- "account_key": account_key,
816
+ "regex_filter": regex_filter,
817
+ "title": title,
818
+ "use_blob_urls": use_blob_urls,
700
819
  },
701
820
  headers={
702
821
  "content-type": "application/json",
@@ -706,13 +825,7 @@ class AsyncAzureClient:
706
825
  )
707
826
  try:
708
827
  if 200 <= _response.status_code < 300:
709
- return typing.cast(
710
- AzureBlobImportStorage,
711
- construct_type(
712
- type_=AzureBlobImportStorage, # type: ignore
713
- object_=_response.json(),
714
- ),
715
- )
828
+ return
716
829
  _response_json = _response.json()
717
830
  except JSONDecodeError:
718
831
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -823,17 +936,17 @@ class AsyncAzureClient:
823
936
  self,
824
937
  id: int,
825
938
  *,
826
- regex_filter: typing.Optional[str] = OMIT,
827
- use_blob_urls: typing.Optional[bool] = OMIT,
939
+ account_key: typing.Optional[str] = OMIT,
940
+ account_name: typing.Optional[str] = OMIT,
941
+ container: typing.Optional[str] = OMIT,
942
+ description: typing.Optional[str] = OMIT,
943
+ prefix: typing.Optional[str] = OMIT,
828
944
  presign: typing.Optional[bool] = OMIT,
829
945
  presign_ttl: typing.Optional[int] = OMIT,
830
- title: typing.Optional[str] = OMIT,
831
- description: typing.Optional[str] = OMIT,
832
946
  project: typing.Optional[int] = OMIT,
833
- container: typing.Optional[str] = OMIT,
834
- prefix: typing.Optional[str] = OMIT,
835
- account_name: typing.Optional[str] = OMIT,
836
- account_key: typing.Optional[str] = OMIT,
947
+ regex_filter: typing.Optional[str] = OMIT,
948
+ title: typing.Optional[str] = OMIT,
949
+ use_blob_urls: typing.Optional[bool] = OMIT,
837
950
  request_options: typing.Optional[RequestOptions] = None,
838
951
  ) -> AzureBlobImportStorage:
839
952
  """
@@ -843,11 +956,20 @@ class AsyncAzureClient:
843
956
  ----------
844
957
  id : int
845
958
 
846
- regex_filter : typing.Optional[str]
847
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
959
+ account_key : typing.Optional[str]
960
+ Azure Blob account key
848
961
 
849
- use_blob_urls : typing.Optional[bool]
850
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
962
+ account_name : typing.Optional[str]
963
+ Azure Blob account name
964
+
965
+ container : typing.Optional[str]
966
+ Azure blob container
967
+
968
+ description : typing.Optional[str]
969
+ Storage description
970
+
971
+ prefix : typing.Optional[str]
972
+ Azure blob prefix name
851
973
 
852
974
  presign : typing.Optional[bool]
853
975
  Presign URLs for direct download
@@ -855,26 +977,17 @@ class AsyncAzureClient:
855
977
  presign_ttl : typing.Optional[int]
856
978
  Presign TTL in minutes
857
979
 
858
- title : typing.Optional[str]
859
- Storage title
860
-
861
- description : typing.Optional[str]
862
- Storage description
863
-
864
980
  project : typing.Optional[int]
865
981
  Project ID
866
982
 
867
- container : typing.Optional[str]
868
- Azure blob container
869
-
870
- prefix : typing.Optional[str]
871
- Azure blob prefix name
983
+ regex_filter : typing.Optional[str]
984
+ Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
872
985
 
873
- account_name : typing.Optional[str]
874
- Azure Blob account name
986
+ title : typing.Optional[str]
987
+ Storage title
875
988
 
876
- account_key : typing.Optional[str]
877
- Azure Blob account key
989
+ use_blob_urls : typing.Optional[bool]
990
+ Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
878
991
 
879
992
  request_options : typing.Optional[RequestOptions]
880
993
  Request-specific configuration.
@@ -907,17 +1020,17 @@ class AsyncAzureClient:
907
1020
  f"api/storages/azure/{jsonable_encoder(id)}",
908
1021
  method="PATCH",
909
1022
  json={
910
- "regex_filter": regex_filter,
911
- "use_blob_urls": use_blob_urls,
1023
+ "account_key": account_key,
1024
+ "account_name": account_name,
1025
+ "container": container,
1026
+ "description": description,
1027
+ "prefix": prefix,
912
1028
  "presign": presign,
913
1029
  "presign_ttl": presign_ttl,
914
- "title": title,
915
- "description": description,
916
1030
  "project": project,
917
- "container": container,
918
- "prefix": prefix,
919
- "account_name": account_name,
920
- "account_key": account_key,
1031
+ "regex_filter": regex_filter,
1032
+ "title": title,
1033
+ "use_blob_urls": use_blob_urls,
921
1034
  },
922
1035
  headers={
923
1036
  "content-type": "application/json",
@@ -993,116 +1106,3 @@ class AsyncAzureClient:
993
1106
  except JSONDecodeError:
994
1107
  raise ApiError(status_code=_response.status_code, body=_response.text)
995
1108
  raise ApiError(status_code=_response.status_code, body=_response_json)
996
-
997
- async def validate(
998
- self,
999
- *,
1000
- id: typing.Optional[int] = OMIT,
1001
- regex_filter: typing.Optional[str] = OMIT,
1002
- use_blob_urls: typing.Optional[bool] = OMIT,
1003
- presign: typing.Optional[bool] = OMIT,
1004
- presign_ttl: typing.Optional[int] = OMIT,
1005
- title: typing.Optional[str] = OMIT,
1006
- description: typing.Optional[str] = OMIT,
1007
- project: typing.Optional[int] = OMIT,
1008
- container: typing.Optional[str] = OMIT,
1009
- prefix: typing.Optional[str] = OMIT,
1010
- account_name: typing.Optional[str] = OMIT,
1011
- account_key: typing.Optional[str] = OMIT,
1012
- request_options: typing.Optional[RequestOptions] = None,
1013
- ) -> None:
1014
- """
1015
- Validate a specific Azure import storage connection.
1016
-
1017
- Parameters
1018
- ----------
1019
- id : typing.Optional[int]
1020
- Storage ID. If set, storage with specified ID will be updated
1021
-
1022
- regex_filter : typing.Optional[str]
1023
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
1024
-
1025
- use_blob_urls : typing.Optional[bool]
1026
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
1027
-
1028
- presign : typing.Optional[bool]
1029
- Presign URLs for direct download
1030
-
1031
- presign_ttl : typing.Optional[int]
1032
- Presign TTL in minutes
1033
-
1034
- title : typing.Optional[str]
1035
- Storage title
1036
-
1037
- description : typing.Optional[str]
1038
- Storage description
1039
-
1040
- project : typing.Optional[int]
1041
- Project ID
1042
-
1043
- container : typing.Optional[str]
1044
- Azure blob container
1045
-
1046
- prefix : typing.Optional[str]
1047
- Azure blob prefix name
1048
-
1049
- account_name : typing.Optional[str]
1050
- Azure Blob account name
1051
-
1052
- account_key : typing.Optional[str]
1053
- Azure Blob account key
1054
-
1055
- request_options : typing.Optional[RequestOptions]
1056
- Request-specific configuration.
1057
-
1058
- Returns
1059
- -------
1060
- None
1061
-
1062
- Examples
1063
- --------
1064
- import asyncio
1065
-
1066
- from label_studio_sdk import AsyncLabelStudio
1067
-
1068
- client = AsyncLabelStudio(
1069
- api_key="YOUR_API_KEY",
1070
- )
1071
-
1072
-
1073
- async def main() -> None:
1074
- await client.import_storage.azure.validate()
1075
-
1076
-
1077
- asyncio.run(main())
1078
- """
1079
- _response = await self._client_wrapper.httpx_client.request(
1080
- "api/storages/azure/validate",
1081
- method="POST",
1082
- json={
1083
- "id": id,
1084
- "regex_filter": regex_filter,
1085
- "use_blob_urls": use_blob_urls,
1086
- "presign": presign,
1087
- "presign_ttl": presign_ttl,
1088
- "title": title,
1089
- "description": description,
1090
- "project": project,
1091
- "container": container,
1092
- "prefix": prefix,
1093
- "account_name": account_name,
1094
- "account_key": account_key,
1095
- },
1096
- headers={
1097
- "content-type": "application/json",
1098
- },
1099
- request_options=request_options,
1100
- omit=OMIT,
1101
- )
1102
- try:
1103
- if 200 <= _response.status_code < 300:
1104
- return
1105
- _response_json = _response.json()
1106
- except JSONDecodeError:
1107
- raise ApiError(status_code=_response.status_code, body=_response.text)
1108
- raise ApiError(status_code=_response.status_code, body=_response_json)