label-studio-sdk 2.0.0__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 (175) hide show
  1. label_studio_sdk/__init__.py +24 -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/base_client.py +4 -0
  7. label_studio_sdk/billing/__init__.py +2 -0
  8. label_studio_sdk/billing/client.py +112 -0
  9. label_studio_sdk/comments/client.py +176 -176
  10. label_studio_sdk/export_storage/azure/client.py +274 -274
  11. label_studio_sdk/export_storage/gcs/client.py +263 -263
  12. label_studio_sdk/export_storage/local/client.py +206 -206
  13. label_studio_sdk/export_storage/redis/client.py +287 -287
  14. label_studio_sdk/export_storage/s3/client.py +347 -347
  15. label_studio_sdk/export_storage/s3s/client.py +678 -678
  16. label_studio_sdk/import_storage/azure/client.py +357 -357
  17. label_studio_sdk/import_storage/gcs/client.py +357 -357
  18. label_studio_sdk/import_storage/local/client.py +206 -206
  19. label_studio_sdk/import_storage/redis/client.py +309 -309
  20. label_studio_sdk/import_storage/s3/client.py +452 -452
  21. label_studio_sdk/import_storage/s3s/client.py +735 -735
  22. label_studio_sdk/jwt_settings/client.py +10 -10
  23. label_studio_sdk/ml/client.py +118 -118
  24. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  25. label_studio_sdk/model_providers/client.py +181 -181
  26. label_studio_sdk/organizations/members/client.py +348 -2
  27. label_studio_sdk/predictions/client.py +60 -60
  28. label_studio_sdk/projects/__init__.py +30 -1
  29. label_studio_sdk/projects/assignments/__init__.py +33 -0
  30. label_studio_sdk/projects/assignments/client.py +764 -0
  31. label_studio_sdk/projects/assignments/types/__init__.py +35 -0
  32. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  42. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  44. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  45. label_studio_sdk/projects/client.py +441 -425
  46. label_studio_sdk/projects/exports/client.py +55 -55
  47. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  48. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  49. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  50. label_studio_sdk/prompts/client.py +211 -211
  51. label_studio_sdk/prompts/runs/client.py +33 -33
  52. label_studio_sdk/prompts/versions/client.py +72 -72
  53. label_studio_sdk/tasks/client.py +174 -174
  54. label_studio_sdk/types/__init__.py +22 -0
  55. label_studio_sdk/types/all_roles_project_list.py +98 -98
  56. label_studio_sdk/types/annotation.py +35 -35
  57. label_studio_sdk/types/annotation_request.py +27 -27
  58. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  59. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  60. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  61. label_studio_sdk/types/billing_checks.py +39 -0
  62. label_studio_sdk/types/billing_flags.py +44 -0
  63. label_studio_sdk/types/billing_info_response.py +22 -0
  64. label_studio_sdk/types/blueprint_list.py +7 -8
  65. label_studio_sdk/types/child_filter.py +11 -10
  66. label_studio_sdk/types/comment.py +15 -15
  67. label_studio_sdk/types/comment_request.py +7 -8
  68. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  69. label_studio_sdk/types/converted_format.py +1 -1
  70. label_studio_sdk/types/converted_format_request.py +1 -1
  71. label_studio_sdk/types/count_limit.py +22 -0
  72. label_studio_sdk/types/export.py +8 -8
  73. label_studio_sdk/types/file_upload.py +3 -2
  74. label_studio_sdk/types/filter.py +10 -9
  75. label_studio_sdk/types/filter_group.py +4 -3
  76. label_studio_sdk/types/gcs_export_storage.py +23 -23
  77. label_studio_sdk/types/gcs_import_storage.py +27 -27
  78. label_studio_sdk/types/import_api_request.py +26 -26
  79. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  80. label_studio_sdk/types/local_files_export_storage.py +23 -23
  81. label_studio_sdk/types/local_files_import_storage.py +26 -26
  82. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  83. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  84. label_studio_sdk/types/lse_export_create.py +12 -12
  85. label_studio_sdk/types/lse_fields.py +14 -14
  86. label_studio_sdk/types/lse_organization.py +17 -17
  87. label_studio_sdk/types/lse_organization_member_list.py +32 -0
  88. label_studio_sdk/types/lse_project_create.py +72 -72
  89. label_studio_sdk/types/lse_project_update.py +89 -89
  90. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  91. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  92. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  93. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  94. label_studio_sdk/types/lse_task.py +49 -49
  95. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  96. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  97. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  98. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  99. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  100. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  102. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  103. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  104. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  105. label_studio_sdk/types/lse_user.py +13 -13
  106. label_studio_sdk/types/lse_user_api.py +11 -11
  107. label_studio_sdk/types/lse_user_organization_member_list.py +48 -0
  108. label_studio_sdk/types/lseapi_token_create.py +1 -1
  109. label_studio_sdk/types/lseapi_token_list.py +1 -1
  110. label_studio_sdk/types/lsejwt_settings.py +5 -5
  111. label_studio_sdk/types/ml_backend.py +27 -28
  112. label_studio_sdk/types/model_interface.py +12 -12
  113. label_studio_sdk/types/model_interface_request.py +7 -8
  114. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  115. label_studio_sdk/types/model_provider_connection.py +34 -34
  116. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  117. label_studio_sdk/types/model_run.py +12 -12
  118. label_studio_sdk/types/organization_billing.py +1 -1
  119. label_studio_sdk/types/organization_id.py +2 -2
  120. label_studio_sdk/types/organization_invite.py +1 -1
  121. label_studio_sdk/types/organization_member.py +8 -9
  122. label_studio_sdk/types/organization_membership.py +2 -1
  123. label_studio_sdk/types/paginated_lse_organization_member_list_list.py +23 -0
  124. label_studio_sdk/types/pause.py +23 -23
  125. label_studio_sdk/types/prediction.py +21 -21
  126. label_studio_sdk/types/prediction_request.py +16 -16
  127. label_studio_sdk/types/project.py +72 -72
  128. label_studio_sdk/types/project_import.py +21 -21
  129. label_studio_sdk/types/prompts_status_enum.py +16 -0
  130. label_studio_sdk/types/redis_export_storage.py +34 -34
  131. label_studio_sdk/types/redis_import_storage.py +37 -37
  132. label_studio_sdk/types/refined_prompt_response.py +11 -11
  133. label_studio_sdk/types/review_settings.py +29 -30
  134. label_studio_sdk/types/review_settings_request.py +29 -30
  135. label_studio_sdk/types/role9e7enum.py +5 -0
  136. label_studio_sdk/types/s3export_storage.py +45 -45
  137. label_studio_sdk/types/s3import_storage.py +44 -44
  138. label_studio_sdk/types/selected_items_request.py +1 -1
  139. label_studio_sdk/types/serialization_options.py +10 -10
  140. label_studio_sdk/types/serialization_options_request.py +10 -10
  141. label_studio_sdk/types/task_assignment.py +43 -0
  142. label_studio_sdk/types/third_party_model_version.py +11 -11
  143. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  144. label_studio_sdk/types/type_enum.py +5 -0
  145. label_studio_sdk/types/user_simple.py +3 -3
  146. label_studio_sdk/types/user_simple_request.py +1 -1
  147. label_studio_sdk/types/version_response.py +19 -20
  148. label_studio_sdk/types/view.py +8 -8
  149. label_studio_sdk/types/webhook.py +16 -16
  150. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  151. label_studio_sdk/types/workspace.py +10 -11
  152. label_studio_sdk/users/client.py +160 -160
  153. label_studio_sdk/views/client.py +164 -164
  154. label_studio_sdk/webhooks/client.py +183 -183
  155. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  156. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  157. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  158. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  159. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  160. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  161. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  162. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  163. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  164. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  165. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  171. label_studio_sdk/workspaces/client.py +40 -40
  172. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +73 -25
  173. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +175 -146
  174. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
  175. {label_studio_sdk-2.0.0.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)