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
@@ -9,8 +9,8 @@ from json.decoder import JSONDecodeError
9
9
  from ..core.api_error import ApiError
10
10
  from ..types.provider_enum import ProviderEnum
11
11
  from ..types.scope_enum import ScopeEnum
12
- from ..core.jsonable_encoder import jsonable_encoder
13
12
  from .types.model_providers_list_model_provider_choices_response import ModelProvidersListModelProviderChoicesResponse
13
+ from ..core.jsonable_encoder import jsonable_encoder
14
14
  from ..core.client_wrapper import AsyncClientWrapper
15
15
 
16
16
  # this is used as the default value for optional parameters
@@ -74,18 +74,18 @@ class ModelProvidersClient:
74
74
  def create(
75
75
  self,
76
76
  *,
77
- provider: typing.Optional[ProviderEnum] = OMIT,
78
77
  api_key: typing.Optional[str] = OMIT,
79
78
  auth_token: typing.Optional[str] = OMIT,
79
+ budget_alert_threshold: typing.Optional[float] = OMIT,
80
+ cached_available_models: typing.Optional[str] = OMIT,
80
81
  deployment_name: typing.Optional[str] = OMIT,
81
82
  endpoint: typing.Optional[str] = OMIT,
82
83
  google_application_credentials: typing.Optional[str] = OMIT,
83
- google_project_id: typing.Optional[str] = OMIT,
84
84
  google_location: typing.Optional[str] = OMIT,
85
- cached_available_models: typing.Optional[str] = OMIT,
86
- scope: typing.Optional[ScopeEnum] = OMIT,
85
+ google_project_id: typing.Optional[str] = OMIT,
87
86
  is_internal: typing.Optional[bool] = OMIT,
88
- budget_alert_threshold: typing.Optional[float] = OMIT,
87
+ provider: typing.Optional[ProviderEnum] = OMIT,
88
+ scope: typing.Optional[ScopeEnum] = OMIT,
89
89
  request_options: typing.Optional[RequestOptions] = None,
90
90
  ) -> ModelProviderConnection:
91
91
  """
@@ -93,14 +93,18 @@ class ModelProvidersClient:
93
93
 
94
94
  Parameters
95
95
  ----------
96
- provider : typing.Optional[ProviderEnum]
97
-
98
96
  api_key : typing.Optional[str]
99
97
  Model provider API key
100
98
 
101
99
  auth_token : typing.Optional[str]
102
100
  Model provider Auth token
103
101
 
102
+ budget_alert_threshold : typing.Optional[float]
103
+ Budget alert threshold for the given provider connection
104
+
105
+ cached_available_models : typing.Optional[str]
106
+ List of available models from the provider
107
+
104
108
  deployment_name : typing.Optional[str]
105
109
  Azure OpenAI deployment name
106
110
 
@@ -110,22 +114,18 @@ class ModelProvidersClient:
110
114
  google_application_credentials : typing.Optional[str]
111
115
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
112
116
 
113
- google_project_id : typing.Optional[str]
114
- Google project ID
115
-
116
117
  google_location : typing.Optional[str]
117
118
  Google project location
118
119
 
119
- cached_available_models : typing.Optional[str]
120
- List of available models from the provider
121
-
122
- scope : typing.Optional[ScopeEnum]
120
+ google_project_id : typing.Optional[str]
121
+ Google project ID
123
122
 
124
123
  is_internal : typing.Optional[bool]
125
124
  Whether the model provider connection is internal, not visible to the user
126
125
 
127
- budget_alert_threshold : typing.Optional[float]
128
- Budget alert threshold for the given provider connection
126
+ provider : typing.Optional[ProviderEnum]
127
+
128
+ scope : typing.Optional[ScopeEnum]
129
129
 
130
130
  request_options : typing.Optional[RequestOptions]
131
131
  Request-specific configuration.
@@ -148,18 +148,18 @@ class ModelProvidersClient:
148
148
  "api/model-provider-connections/",
149
149
  method="POST",
150
150
  json={
151
- "provider": provider,
152
151
  "api_key": api_key,
153
152
  "auth_token": auth_token,
153
+ "budget_alert_threshold": budget_alert_threshold,
154
+ "cached_available_models": cached_available_models,
154
155
  "deployment_name": deployment_name,
155
156
  "endpoint": endpoint,
156
157
  "google_application_credentials": google_application_credentials,
157
- "google_project_id": google_project_id,
158
158
  "google_location": google_location,
159
- "cached_available_models": cached_available_models,
160
- "scope": scope,
159
+ "google_project_id": google_project_id,
161
160
  "is_internal": is_internal,
162
- "budget_alert_threshold": budget_alert_threshold,
161
+ "provider": provider,
162
+ "scope": scope,
163
163
  },
164
164
  request_options=request_options,
165
165
  omit=OMIT,
@@ -178,6 +178,50 @@ class ModelProvidersClient:
178
178
  raise ApiError(status_code=_response.status_code, body=_response.text)
179
179
  raise ApiError(status_code=_response.status_code, body=_response_json)
180
180
 
181
+ def list_model_provider_choices(
182
+ self, *, request_options: typing.Optional[RequestOptions] = None
183
+ ) -> ModelProvidersListModelProviderChoicesResponse:
184
+ """
185
+ List all possible model provider choices
186
+
187
+ Parameters
188
+ ----------
189
+ request_options : typing.Optional[RequestOptions]
190
+ Request-specific configuration.
191
+
192
+ Returns
193
+ -------
194
+ ModelProvidersListModelProviderChoicesResponse
195
+ List of model provider choices
196
+
197
+ Examples
198
+ --------
199
+ from label_studio_sdk import LabelStudio
200
+
201
+ client = LabelStudio(
202
+ api_key="YOUR_API_KEY",
203
+ )
204
+ client.model_providers.list_model_provider_choices()
205
+ """
206
+ _response = self._client_wrapper.httpx_client.request(
207
+ "api/model-provider-connections/provider-choices",
208
+ method="GET",
209
+ request_options=request_options,
210
+ )
211
+ try:
212
+ if 200 <= _response.status_code < 300:
213
+ return typing.cast(
214
+ ModelProvidersListModelProviderChoicesResponse,
215
+ construct_type(
216
+ type_=ModelProvidersListModelProviderChoicesResponse, # type: ignore
217
+ object_=_response.json(),
218
+ ),
219
+ )
220
+ _response_json = _response.json()
221
+ except JSONDecodeError:
222
+ raise ApiError(status_code=_response.status_code, body=_response.text)
223
+ raise ApiError(status_code=_response.status_code, body=_response_json)
224
+
181
225
  def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ModelProviderConnection:
182
226
  """
183
227
  Retrieve a specific model provider connection.
@@ -267,18 +311,18 @@ class ModelProvidersClient:
267
311
  self,
268
312
  id: str,
269
313
  *,
270
- provider: typing.Optional[ProviderEnum] = OMIT,
271
314
  api_key: typing.Optional[str] = OMIT,
272
315
  auth_token: typing.Optional[str] = OMIT,
316
+ budget_alert_threshold: typing.Optional[float] = OMIT,
317
+ cached_available_models: typing.Optional[str] = OMIT,
273
318
  deployment_name: typing.Optional[str] = OMIT,
274
319
  endpoint: typing.Optional[str] = OMIT,
275
320
  google_application_credentials: typing.Optional[str] = OMIT,
276
- google_project_id: typing.Optional[str] = OMIT,
277
321
  google_location: typing.Optional[str] = OMIT,
278
- cached_available_models: typing.Optional[str] = OMIT,
279
- scope: typing.Optional[ScopeEnum] = OMIT,
322
+ google_project_id: typing.Optional[str] = OMIT,
280
323
  is_internal: typing.Optional[bool] = OMIT,
281
- budget_alert_threshold: typing.Optional[float] = OMIT,
324
+ provider: typing.Optional[ProviderEnum] = OMIT,
325
+ scope: typing.Optional[ScopeEnum] = OMIT,
282
326
  request_options: typing.Optional[RequestOptions] = None,
283
327
  ) -> ModelProviderConnection:
284
328
  """
@@ -288,14 +332,18 @@ class ModelProvidersClient:
288
332
  ----------
289
333
  id : str
290
334
 
291
- provider : typing.Optional[ProviderEnum]
292
-
293
335
  api_key : typing.Optional[str]
294
336
  Model provider API key
295
337
 
296
338
  auth_token : typing.Optional[str]
297
339
  Model provider Auth token
298
340
 
341
+ budget_alert_threshold : typing.Optional[float]
342
+ Budget alert threshold for the given provider connection
343
+
344
+ cached_available_models : typing.Optional[str]
345
+ List of available models from the provider
346
+
299
347
  deployment_name : typing.Optional[str]
300
348
  Azure OpenAI deployment name
301
349
 
@@ -305,22 +353,18 @@ class ModelProvidersClient:
305
353
  google_application_credentials : typing.Optional[str]
306
354
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
307
355
 
308
- google_project_id : typing.Optional[str]
309
- Google project ID
310
-
311
356
  google_location : typing.Optional[str]
312
357
  Google project location
313
358
 
314
- cached_available_models : typing.Optional[str]
315
- List of available models from the provider
316
-
317
- scope : typing.Optional[ScopeEnum]
359
+ google_project_id : typing.Optional[str]
360
+ Google project ID
318
361
 
319
362
  is_internal : typing.Optional[bool]
320
363
  Whether the model provider connection is internal, not visible to the user
321
364
 
322
- budget_alert_threshold : typing.Optional[float]
323
- Budget alert threshold for the given provider connection
365
+ provider : typing.Optional[ProviderEnum]
366
+
367
+ scope : typing.Optional[ScopeEnum]
324
368
 
325
369
  request_options : typing.Optional[RequestOptions]
326
370
  Request-specific configuration.
@@ -345,18 +389,18 @@ class ModelProvidersClient:
345
389
  f"api/model-provider-connections/{jsonable_encoder(id)}/",
346
390
  method="PATCH",
347
391
  json={
348
- "provider": provider,
349
392
  "api_key": api_key,
350
393
  "auth_token": auth_token,
394
+ "budget_alert_threshold": budget_alert_threshold,
395
+ "cached_available_models": cached_available_models,
351
396
  "deployment_name": deployment_name,
352
397
  "endpoint": endpoint,
353
398
  "google_application_credentials": google_application_credentials,
354
- "google_project_id": google_project_id,
355
399
  "google_location": google_location,
356
- "cached_available_models": cached_available_models,
357
- "scope": scope,
400
+ "google_project_id": google_project_id,
358
401
  "is_internal": is_internal,
359
- "budget_alert_threshold": budget_alert_threshold,
402
+ "provider": provider,
403
+ "scope": scope,
360
404
  },
361
405
  headers={
362
406
  "content-type": "application/json",
@@ -378,50 +422,6 @@ class ModelProvidersClient:
378
422
  raise ApiError(status_code=_response.status_code, body=_response.text)
379
423
  raise ApiError(status_code=_response.status_code, body=_response_json)
380
424
 
381
- def list_model_provider_choices(
382
- self, *, request_options: typing.Optional[RequestOptions] = None
383
- ) -> ModelProvidersListModelProviderChoicesResponse:
384
- """
385
- List all possible model provider choices
386
-
387
- Parameters
388
- ----------
389
- request_options : typing.Optional[RequestOptions]
390
- Request-specific configuration.
391
-
392
- Returns
393
- -------
394
- ModelProvidersListModelProviderChoicesResponse
395
- List of model provider choices
396
-
397
- Examples
398
- --------
399
- from label_studio_sdk import LabelStudio
400
-
401
- client = LabelStudio(
402
- api_key="YOUR_API_KEY",
403
- )
404
- client.model_providers.list_model_provider_choices()
405
- """
406
- _response = self._client_wrapper.httpx_client.request(
407
- "api/model-provider-connections/provider-choices",
408
- method="GET",
409
- request_options=request_options,
410
- )
411
- try:
412
- if 200 <= _response.status_code < 300:
413
- return typing.cast(
414
- ModelProvidersListModelProviderChoicesResponse,
415
- construct_type(
416
- type_=ModelProvidersListModelProviderChoicesResponse, # type: ignore
417
- object_=_response.json(),
418
- ),
419
- )
420
- _response_json = _response.json()
421
- except JSONDecodeError:
422
- raise ApiError(status_code=_response.status_code, body=_response.text)
423
- raise ApiError(status_code=_response.status_code, body=_response_json)
424
-
425
425
 
426
426
  class AsyncModelProvidersClient:
427
427
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -488,18 +488,18 @@ class AsyncModelProvidersClient:
488
488
  async def create(
489
489
  self,
490
490
  *,
491
- provider: typing.Optional[ProviderEnum] = OMIT,
492
491
  api_key: typing.Optional[str] = OMIT,
493
492
  auth_token: typing.Optional[str] = OMIT,
493
+ budget_alert_threshold: typing.Optional[float] = OMIT,
494
+ cached_available_models: typing.Optional[str] = OMIT,
494
495
  deployment_name: typing.Optional[str] = OMIT,
495
496
  endpoint: typing.Optional[str] = OMIT,
496
497
  google_application_credentials: typing.Optional[str] = OMIT,
497
- google_project_id: typing.Optional[str] = OMIT,
498
498
  google_location: typing.Optional[str] = OMIT,
499
- cached_available_models: typing.Optional[str] = OMIT,
500
- scope: typing.Optional[ScopeEnum] = OMIT,
499
+ google_project_id: typing.Optional[str] = OMIT,
501
500
  is_internal: typing.Optional[bool] = OMIT,
502
- budget_alert_threshold: typing.Optional[float] = OMIT,
501
+ provider: typing.Optional[ProviderEnum] = OMIT,
502
+ scope: typing.Optional[ScopeEnum] = OMIT,
503
503
  request_options: typing.Optional[RequestOptions] = None,
504
504
  ) -> ModelProviderConnection:
505
505
  """
@@ -507,14 +507,18 @@ class AsyncModelProvidersClient:
507
507
 
508
508
  Parameters
509
509
  ----------
510
- provider : typing.Optional[ProviderEnum]
511
-
512
510
  api_key : typing.Optional[str]
513
511
  Model provider API key
514
512
 
515
513
  auth_token : typing.Optional[str]
516
514
  Model provider Auth token
517
515
 
516
+ budget_alert_threshold : typing.Optional[float]
517
+ Budget alert threshold for the given provider connection
518
+
519
+ cached_available_models : typing.Optional[str]
520
+ List of available models from the provider
521
+
518
522
  deployment_name : typing.Optional[str]
519
523
  Azure OpenAI deployment name
520
524
 
@@ -524,22 +528,18 @@ class AsyncModelProvidersClient:
524
528
  google_application_credentials : typing.Optional[str]
525
529
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
526
530
 
527
- google_project_id : typing.Optional[str]
528
- Google project ID
529
-
530
531
  google_location : typing.Optional[str]
531
532
  Google project location
532
533
 
533
- cached_available_models : typing.Optional[str]
534
- List of available models from the provider
535
-
536
- scope : typing.Optional[ScopeEnum]
534
+ google_project_id : typing.Optional[str]
535
+ Google project ID
537
536
 
538
537
  is_internal : typing.Optional[bool]
539
538
  Whether the model provider connection is internal, not visible to the user
540
539
 
541
- budget_alert_threshold : typing.Optional[float]
542
- Budget alert threshold for the given provider connection
540
+ provider : typing.Optional[ProviderEnum]
541
+
542
+ scope : typing.Optional[ScopeEnum]
543
543
 
544
544
  request_options : typing.Optional[RequestOptions]
545
545
  Request-specific configuration.
@@ -570,18 +570,18 @@ class AsyncModelProvidersClient:
570
570
  "api/model-provider-connections/",
571
571
  method="POST",
572
572
  json={
573
- "provider": provider,
574
573
  "api_key": api_key,
575
574
  "auth_token": auth_token,
575
+ "budget_alert_threshold": budget_alert_threshold,
576
+ "cached_available_models": cached_available_models,
576
577
  "deployment_name": deployment_name,
577
578
  "endpoint": endpoint,
578
579
  "google_application_credentials": google_application_credentials,
579
- "google_project_id": google_project_id,
580
580
  "google_location": google_location,
581
- "cached_available_models": cached_available_models,
582
- "scope": scope,
581
+ "google_project_id": google_project_id,
583
582
  "is_internal": is_internal,
584
- "budget_alert_threshold": budget_alert_threshold,
583
+ "provider": provider,
584
+ "scope": scope,
585
585
  },
586
586
  request_options=request_options,
587
587
  omit=OMIT,
@@ -600,6 +600,58 @@ class AsyncModelProvidersClient:
600
600
  raise ApiError(status_code=_response.status_code, body=_response.text)
601
601
  raise ApiError(status_code=_response.status_code, body=_response_json)
602
602
 
603
+ async def list_model_provider_choices(
604
+ self, *, request_options: typing.Optional[RequestOptions] = None
605
+ ) -> ModelProvidersListModelProviderChoicesResponse:
606
+ """
607
+ List all possible model provider choices
608
+
609
+ Parameters
610
+ ----------
611
+ request_options : typing.Optional[RequestOptions]
612
+ Request-specific configuration.
613
+
614
+ Returns
615
+ -------
616
+ ModelProvidersListModelProviderChoicesResponse
617
+ List of model provider choices
618
+
619
+ Examples
620
+ --------
621
+ import asyncio
622
+
623
+ from label_studio_sdk import AsyncLabelStudio
624
+
625
+ client = AsyncLabelStudio(
626
+ api_key="YOUR_API_KEY",
627
+ )
628
+
629
+
630
+ async def main() -> None:
631
+ await client.model_providers.list_model_provider_choices()
632
+
633
+
634
+ asyncio.run(main())
635
+ """
636
+ _response = await self._client_wrapper.httpx_client.request(
637
+ "api/model-provider-connections/provider-choices",
638
+ method="GET",
639
+ request_options=request_options,
640
+ )
641
+ try:
642
+ if 200 <= _response.status_code < 300:
643
+ return typing.cast(
644
+ ModelProvidersListModelProviderChoicesResponse,
645
+ construct_type(
646
+ type_=ModelProvidersListModelProviderChoicesResponse, # type: ignore
647
+ object_=_response.json(),
648
+ ),
649
+ )
650
+ _response_json = _response.json()
651
+ except JSONDecodeError:
652
+ raise ApiError(status_code=_response.status_code, body=_response.text)
653
+ raise ApiError(status_code=_response.status_code, body=_response_json)
654
+
603
655
  async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ModelProviderConnection:
604
656
  """
605
657
  Retrieve a specific model provider connection.
@@ -705,18 +757,18 @@ class AsyncModelProvidersClient:
705
757
  self,
706
758
  id: str,
707
759
  *,
708
- provider: typing.Optional[ProviderEnum] = OMIT,
709
760
  api_key: typing.Optional[str] = OMIT,
710
761
  auth_token: typing.Optional[str] = OMIT,
762
+ budget_alert_threshold: typing.Optional[float] = OMIT,
763
+ cached_available_models: typing.Optional[str] = OMIT,
711
764
  deployment_name: typing.Optional[str] = OMIT,
712
765
  endpoint: typing.Optional[str] = OMIT,
713
766
  google_application_credentials: typing.Optional[str] = OMIT,
714
- google_project_id: typing.Optional[str] = OMIT,
715
767
  google_location: typing.Optional[str] = OMIT,
716
- cached_available_models: typing.Optional[str] = OMIT,
717
- scope: typing.Optional[ScopeEnum] = OMIT,
768
+ google_project_id: typing.Optional[str] = OMIT,
718
769
  is_internal: typing.Optional[bool] = OMIT,
719
- budget_alert_threshold: typing.Optional[float] = OMIT,
770
+ provider: typing.Optional[ProviderEnum] = OMIT,
771
+ scope: typing.Optional[ScopeEnum] = OMIT,
720
772
  request_options: typing.Optional[RequestOptions] = None,
721
773
  ) -> ModelProviderConnection:
722
774
  """
@@ -726,14 +778,18 @@ class AsyncModelProvidersClient:
726
778
  ----------
727
779
  id : str
728
780
 
729
- provider : typing.Optional[ProviderEnum]
730
-
731
781
  api_key : typing.Optional[str]
732
782
  Model provider API key
733
783
 
734
784
  auth_token : typing.Optional[str]
735
785
  Model provider Auth token
736
786
 
787
+ budget_alert_threshold : typing.Optional[float]
788
+ Budget alert threshold for the given provider connection
789
+
790
+ cached_available_models : typing.Optional[str]
791
+ List of available models from the provider
792
+
737
793
  deployment_name : typing.Optional[str]
738
794
  Azure OpenAI deployment name
739
795
 
@@ -743,22 +799,18 @@ class AsyncModelProvidersClient:
743
799
  google_application_credentials : typing.Optional[str]
744
800
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
745
801
 
746
- google_project_id : typing.Optional[str]
747
- Google project ID
748
-
749
802
  google_location : typing.Optional[str]
750
803
  Google project location
751
804
 
752
- cached_available_models : typing.Optional[str]
753
- List of available models from the provider
754
-
755
- scope : typing.Optional[ScopeEnum]
805
+ google_project_id : typing.Optional[str]
806
+ Google project ID
756
807
 
757
808
  is_internal : typing.Optional[bool]
758
809
  Whether the model provider connection is internal, not visible to the user
759
810
 
760
- budget_alert_threshold : typing.Optional[float]
761
- Budget alert threshold for the given provider connection
811
+ provider : typing.Optional[ProviderEnum]
812
+
813
+ scope : typing.Optional[ScopeEnum]
762
814
 
763
815
  request_options : typing.Optional[RequestOptions]
764
816
  Request-specific configuration.
@@ -791,18 +843,18 @@ class AsyncModelProvidersClient:
791
843
  f"api/model-provider-connections/{jsonable_encoder(id)}/",
792
844
  method="PATCH",
793
845
  json={
794
- "provider": provider,
795
846
  "api_key": api_key,
796
847
  "auth_token": auth_token,
848
+ "budget_alert_threshold": budget_alert_threshold,
849
+ "cached_available_models": cached_available_models,
797
850
  "deployment_name": deployment_name,
798
851
  "endpoint": endpoint,
799
852
  "google_application_credentials": google_application_credentials,
800
- "google_project_id": google_project_id,
801
853
  "google_location": google_location,
802
- "cached_available_models": cached_available_models,
803
- "scope": scope,
854
+ "google_project_id": google_project_id,
804
855
  "is_internal": is_internal,
805
- "budget_alert_threshold": budget_alert_threshold,
856
+ "provider": provider,
857
+ "scope": scope,
806
858
  },
807
859
  headers={
808
860
  "content-type": "application/json",
@@ -823,55 +875,3 @@ class AsyncModelProvidersClient:
823
875
  except JSONDecodeError:
824
876
  raise ApiError(status_code=_response.status_code, body=_response.text)
825
877
  raise ApiError(status_code=_response.status_code, body=_response_json)
826
-
827
- async def list_model_provider_choices(
828
- self, *, request_options: typing.Optional[RequestOptions] = None
829
- ) -> ModelProvidersListModelProviderChoicesResponse:
830
- """
831
- List all possible model provider choices
832
-
833
- Parameters
834
- ----------
835
- request_options : typing.Optional[RequestOptions]
836
- Request-specific configuration.
837
-
838
- Returns
839
- -------
840
- ModelProvidersListModelProviderChoicesResponse
841
- List of model provider choices
842
-
843
- Examples
844
- --------
845
- import asyncio
846
-
847
- from label_studio_sdk import AsyncLabelStudio
848
-
849
- client = AsyncLabelStudio(
850
- api_key="YOUR_API_KEY",
851
- )
852
-
853
-
854
- async def main() -> None:
855
- await client.model_providers.list_model_provider_choices()
856
-
857
-
858
- asyncio.run(main())
859
- """
860
- _response = await self._client_wrapper.httpx_client.request(
861
- "api/model-provider-connections/provider-choices",
862
- method="GET",
863
- request_options=request_options,
864
- )
865
- try:
866
- if 200 <= _response.status_code < 300:
867
- return typing.cast(
868
- ModelProvidersListModelProviderChoicesResponse,
869
- construct_type(
870
- type_=ModelProvidersListModelProviderChoicesResponse, # type: ignore
871
- object_=_response.json(),
872
- ),
873
- )
874
- _response_json = _response.json()
875
- except JSONDecodeError:
876
- raise ApiError(status_code=_response.status_code, body=_response.text)
877
- raise ApiError(status_code=_response.status_code, body=_response_json)
@@ -112,8 +112,8 @@ class MembersClient:
112
112
  self,
113
113
  id: int,
114
114
  *,
115
- user_id: typing.Optional[int] = OMIT,
116
115
  role: typing.Optional[Role9E7Enum] = OMIT,
116
+ user_id: typing.Optional[int] = OMIT,
117
117
  request_options: typing.Optional[RequestOptions] = None,
118
118
  ) -> LseOrganizationMemberList:
119
119
  """
@@ -136,10 +136,10 @@ class MembersClient:
136
136
  id : int
137
137
  A unique integer value identifying this organization.
138
138
 
139
- user_id : typing.Optional[int]
140
-
141
139
  role : typing.Optional[Role9E7Enum]
142
140
 
141
+ user_id : typing.Optional[int]
142
+
143
143
  request_options : typing.Optional[RequestOptions]
144
144
  Request-specific configuration.
145
145
 
@@ -163,8 +163,8 @@ class MembersClient:
163
163
  f"api/organizations/{jsonable_encoder(id)}/memberships",
164
164
  method="PATCH",
165
165
  json={
166
- "user_id": user_id,
167
166
  "role": role,
167
+ "user_id": user_id,
168
168
  },
169
169
  headers={
170
170
  "content-type": "application/json",
@@ -412,8 +412,8 @@ class AsyncMembersClient:
412
412
  self,
413
413
  id: int,
414
414
  *,
415
- user_id: typing.Optional[int] = OMIT,
416
415
  role: typing.Optional[Role9E7Enum] = OMIT,
416
+ user_id: typing.Optional[int] = OMIT,
417
417
  request_options: typing.Optional[RequestOptions] = None,
418
418
  ) -> LseOrganizationMemberList:
419
419
  """
@@ -436,10 +436,10 @@ class AsyncMembersClient:
436
436
  id : int
437
437
  A unique integer value identifying this organization.
438
438
 
439
- user_id : typing.Optional[int]
440
-
441
439
  role : typing.Optional[Role9E7Enum]
442
440
 
441
+ user_id : typing.Optional[int]
442
+
443
443
  request_options : typing.Optional[RequestOptions]
444
444
  Request-specific configuration.
445
445
 
@@ -471,8 +471,8 @@ class AsyncMembersClient:
471
471
  f"api/organizations/{jsonable_encoder(id)}/memberships",
472
472
  method="PATCH",
473
473
  json={
474
- "user_id": user_id,
475
474
  "role": role,
475
+ "user_id": user_id,
476
476
  },
477
477
  headers={
478
478
  "content-type": "application/json",