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
@@ -16,9 +16,9 @@ from ..types.user_simple_request import UserSimpleRequest
16
16
  from ..types.skill_name_enum import SkillNameEnum
17
17
  from ..types.model_interface import ModelInterface
18
18
  from ..core.serialization import convert_and_respect_annotation_metadata
19
- from ..core.jsonable_encoder import jsonable_encoder
20
19
  from .types.prompts_compatible_projects_request_project_type import PromptsCompatibleProjectsRequestProjectType
21
20
  from ..types.paginated_all_roles_project_list_list import PaginatedAllRolesProjectListList
21
+ from ..core.jsonable_encoder import jsonable_encoder
22
22
  from ..core.client_wrapper import AsyncClientWrapper
23
23
  from .indicators.client import AsyncIndicatorsClient
24
24
  from .versions.client import AsyncVersionsClient
@@ -85,8 +85,8 @@ class PromptsClient:
85
85
  "num_failed_predictions": num_failed_predictions,
86
86
  },
87
87
  json={
88
- "job_id": job_id,
89
88
  "failed_predictions": failed_predictions,
89
+ "job_id": job_id,
90
90
  "modelrun_id": modelrun_id,
91
91
  },
92
92
  headers={
@@ -112,8 +112,8 @@ class PromptsClient:
112
112
  def batch_predictions(
113
113
  self,
114
114
  *,
115
- results: typing.Sequence[typing.Optional[typing.Any]],
116
115
  modelrun_id: int,
116
+ results: typing.Sequence[typing.Optional[typing.Any]],
117
117
  num_predictions: typing.Optional[int] = None,
118
118
  job_id: typing.Optional[str] = OMIT,
119
119
  request_options: typing.Optional[RequestOptions] = None,
@@ -123,10 +123,10 @@ class PromptsClient:
123
123
 
124
124
  Parameters
125
125
  ----------
126
- results : typing.Sequence[typing.Optional[typing.Any]]
127
-
128
126
  modelrun_id : int
129
127
 
128
+ results : typing.Sequence[typing.Optional[typing.Any]]
129
+
130
130
  num_predictions : typing.Optional[int]
131
131
  Number of predictions being sent (for telemetry only, has no effect)
132
132
 
@@ -148,8 +148,8 @@ class PromptsClient:
148
148
  api_key="YOUR_API_KEY",
149
149
  )
150
150
  client.prompts.batch_predictions(
151
- results=[],
152
151
  modelrun_id=1,
152
+ results=[],
153
153
  )
154
154
  """
155
155
  _response = self._client_wrapper.httpx_client.request(
@@ -160,8 +160,8 @@ class PromptsClient:
160
160
  },
161
161
  json={
162
162
  "job_id": job_id,
163
- "results": results,
164
163
  "modelrun_id": modelrun_id,
164
+ "results": results,
165
165
  },
166
166
  headers={
167
167
  "content-type": "application/json",
@@ -237,13 +237,13 @@ class PromptsClient:
237
237
  self,
238
238
  *,
239
239
  title: str,
240
+ associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
240
241
  created_by: typing.Optional[UserSimpleRequest] = OMIT,
241
- skill_name: typing.Optional[SkillNameEnum] = OMIT,
242
242
  description: typing.Optional[str] = OMIT,
243
243
  input_fields: typing.Optional[typing.Optional[typing.Any]] = OMIT,
244
- output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
245
244
  organization: typing.Optional[int] = OMIT,
246
- associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
245
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
246
+ skill_name: typing.Optional[SkillNameEnum] = OMIT,
247
247
  request_options: typing.Optional[RequestOptions] = None,
248
248
  ) -> ModelInterface:
249
249
  """
@@ -254,21 +254,21 @@ class PromptsClient:
254
254
  title : str
255
255
  Model name
256
256
 
257
+ associated_projects : typing.Optional[typing.Sequence[int]]
258
+
257
259
  created_by : typing.Optional[UserSimpleRequest]
258
260
  User who created Dataset
259
261
 
260
- skill_name : typing.Optional[SkillNameEnum]
261
-
262
262
  description : typing.Optional[str]
263
263
  Model description
264
264
 
265
265
  input_fields : typing.Optional[typing.Optional[typing.Any]]
266
266
 
267
- output_classes : typing.Optional[typing.Optional[typing.Any]]
268
-
269
267
  organization : typing.Optional[int]
270
268
 
271
- associated_projects : typing.Optional[typing.Sequence[int]]
269
+ output_classes : typing.Optional[typing.Optional[typing.Any]]
270
+
271
+ skill_name : typing.Optional[SkillNameEnum]
272
272
 
273
273
  request_options : typing.Optional[RequestOptions]
274
274
  Request-specific configuration.
@@ -293,16 +293,16 @@ class PromptsClient:
293
293
  "api/prompts/",
294
294
  method="POST",
295
295
  json={
296
+ "associated_projects": associated_projects,
296
297
  "created_by": convert_and_respect_annotation_metadata(
297
298
  object_=created_by, annotation=UserSimpleRequest, direction="write"
298
299
  ),
299
- "skill_name": skill_name,
300
- "title": title,
301
300
  "description": description,
302
301
  "input_fields": input_fields,
303
- "output_classes": output_classes,
304
302
  "organization": organization,
305
- "associated_projects": associated_projects,
303
+ "output_classes": output_classes,
304
+ "skill_name": skill_name,
305
+ "title": title,
306
306
  },
307
307
  request_options=request_options,
308
308
  omit=OMIT,
@@ -321,6 +321,74 @@ class PromptsClient:
321
321
  raise ApiError(status_code=_response.status_code, body=_response.text)
322
322
  raise ApiError(status_code=_response.status_code, body=_response_json)
323
323
 
324
+ def compatible_projects(
325
+ self,
326
+ *,
327
+ ordering: typing.Optional[str] = None,
328
+ page: typing.Optional[int] = None,
329
+ page_size: typing.Optional[int] = None,
330
+ project_type: typing.Optional[PromptsCompatibleProjectsRequestProjectType] = None,
331
+ request_options: typing.Optional[RequestOptions] = None,
332
+ ) -> PaginatedAllRolesProjectListList:
333
+ """
334
+ Retrieve a list of compatible project for prompt.
335
+
336
+ Parameters
337
+ ----------
338
+ ordering : typing.Optional[str]
339
+ Which field to use when ordering the results.
340
+
341
+ page : typing.Optional[int]
342
+ A page number within the paginated result set.
343
+
344
+ page_size : typing.Optional[int]
345
+ Number of results to return per page.
346
+
347
+ project_type : typing.Optional[PromptsCompatibleProjectsRequestProjectType]
348
+ Skill to filter by
349
+
350
+ request_options : typing.Optional[RequestOptions]
351
+ Request-specific configuration.
352
+
353
+ Returns
354
+ -------
355
+ PaginatedAllRolesProjectListList
356
+
357
+
358
+ Examples
359
+ --------
360
+ from label_studio_sdk import LabelStudio
361
+
362
+ client = LabelStudio(
363
+ api_key="YOUR_API_KEY",
364
+ )
365
+ client.prompts.compatible_projects()
366
+ """
367
+ _response = self._client_wrapper.httpx_client.request(
368
+ "api/prompts/compatible-projects",
369
+ method="GET",
370
+ params={
371
+ "ordering": ordering,
372
+ "page": page,
373
+ "page_size": page_size,
374
+ "project_type": project_type,
375
+ },
376
+ request_options=request_options,
377
+ )
378
+ try:
379
+ if 200 <= _response.status_code < 300:
380
+ return typing.cast(
381
+ PaginatedAllRolesProjectListList,
382
+ construct_type(
383
+ type_=PaginatedAllRolesProjectListList, # type: ignore
384
+ object_=_response.json(),
385
+ ),
386
+ )
387
+ _response_json = _response.json()
388
+ except JSONDecodeError:
389
+ raise ApiError(status_code=_response.status_code, body=_response.text)
390
+ raise ApiError(status_code=_response.status_code, body=_response_json)
391
+
324
392
  def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ModelInterfaceSerializerGet:
325
393
  """
326
394
  Retrieve a specific prompt.
@@ -410,14 +478,14 @@ class PromptsClient:
410
478
  self,
411
479
  id: str,
412
480
  *,
481
+ associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
413
482
  created_by: typing.Optional[UserSimpleRequest] = OMIT,
414
- skill_name: typing.Optional[SkillNameEnum] = OMIT,
415
- title: typing.Optional[str] = OMIT,
416
483
  description: typing.Optional[str] = OMIT,
417
484
  input_fields: typing.Optional[typing.Optional[typing.Any]] = OMIT,
418
- output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
419
485
  organization: typing.Optional[int] = OMIT,
420
- associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
486
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
487
+ skill_name: typing.Optional[SkillNameEnum] = OMIT,
488
+ title: typing.Optional[str] = OMIT,
421
489
  request_options: typing.Optional[RequestOptions] = None,
422
490
  ) -> ModelInterface:
423
491
  """
@@ -427,24 +495,24 @@ class PromptsClient:
427
495
  ----------
428
496
  id : str
429
497
 
498
+ associated_projects : typing.Optional[typing.Sequence[int]]
499
+
430
500
  created_by : typing.Optional[UserSimpleRequest]
431
501
  User who created Dataset
432
502
 
433
- skill_name : typing.Optional[SkillNameEnum]
434
-
435
- title : typing.Optional[str]
436
- Model name
437
-
438
503
  description : typing.Optional[str]
439
504
  Model description
440
505
 
441
506
  input_fields : typing.Optional[typing.Optional[typing.Any]]
442
507
 
508
+ organization : typing.Optional[int]
509
+
443
510
  output_classes : typing.Optional[typing.Optional[typing.Any]]
444
511
 
445
- organization : typing.Optional[int]
512
+ skill_name : typing.Optional[SkillNameEnum]
446
513
 
447
- associated_projects : typing.Optional[typing.Sequence[int]]
514
+ title : typing.Optional[str]
515
+ Model name
448
516
 
449
517
  request_options : typing.Optional[RequestOptions]
450
518
  Request-specific configuration.
@@ -469,16 +537,16 @@ class PromptsClient:
469
537
  f"api/prompts/{jsonable_encoder(id)}/",
470
538
  method="PATCH",
471
539
  json={
540
+ "associated_projects": associated_projects,
472
541
  "created_by": convert_and_respect_annotation_metadata(
473
542
  object_=created_by, annotation=UserSimpleRequest, direction="write"
474
543
  ),
475
- "skill_name": skill_name,
476
- "title": title,
477
544
  "description": description,
478
545
  "input_fields": input_fields,
479
- "output_classes": output_classes,
480
546
  "organization": organization,
481
- "associated_projects": associated_projects,
547
+ "output_classes": output_classes,
548
+ "skill_name": skill_name,
549
+ "title": title,
482
550
  },
483
551
  headers={
484
552
  "content-type": "application/json",
@@ -500,74 +568,6 @@ class PromptsClient:
500
568
  raise ApiError(status_code=_response.status_code, body=_response.text)
501
569
  raise ApiError(status_code=_response.status_code, body=_response_json)
502
570
 
503
- def compatible_projects(
504
- self,
505
- *,
506
- ordering: typing.Optional[str] = None,
507
- page: typing.Optional[int] = None,
508
- page_size: typing.Optional[int] = None,
509
- project_type: typing.Optional[PromptsCompatibleProjectsRequestProjectType] = None,
510
- request_options: typing.Optional[RequestOptions] = None,
511
- ) -> PaginatedAllRolesProjectListList:
512
- """
513
- Retrieve a list of compatible project for prompt.
514
-
515
- Parameters
516
- ----------
517
- ordering : typing.Optional[str]
518
- Which field to use when ordering the results.
519
-
520
- page : typing.Optional[int]
521
- A page number within the paginated result set.
522
-
523
- page_size : typing.Optional[int]
524
- Number of results to return per page.
525
-
526
- project_type : typing.Optional[PromptsCompatibleProjectsRequestProjectType]
527
- Skill to filter by
528
-
529
- request_options : typing.Optional[RequestOptions]
530
- Request-specific configuration.
531
-
532
- Returns
533
- -------
534
- PaginatedAllRolesProjectListList
535
-
536
-
537
- Examples
538
- --------
539
- from label_studio_sdk import LabelStudio
540
-
541
- client = LabelStudio(
542
- api_key="YOUR_API_KEY",
543
- )
544
- client.prompts.compatible_projects()
545
- """
546
- _response = self._client_wrapper.httpx_client.request(
547
- "api/prompts/compatible-projects",
548
- method="GET",
549
- params={
550
- "ordering": ordering,
551
- "page": page,
552
- "page_size": page_size,
553
- "project_type": project_type,
554
- },
555
- request_options=request_options,
556
- )
557
- try:
558
- if 200 <= _response.status_code < 300:
559
- return typing.cast(
560
- PaginatedAllRolesProjectListList,
561
- construct_type(
562
- type_=PaginatedAllRolesProjectListList, # type: ignore
563
- object_=_response.json(),
564
- ),
565
- )
566
- _response_json = _response.json()
567
- except JSONDecodeError:
568
- raise ApiError(status_code=_response.status_code, body=_response.text)
569
- raise ApiError(status_code=_response.status_code, body=_response_json)
570
-
571
571
 
572
572
  class AsyncPromptsClient:
573
573
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -634,8 +634,8 @@ class AsyncPromptsClient:
634
634
  "num_failed_predictions": num_failed_predictions,
635
635
  },
636
636
  json={
637
- "job_id": job_id,
638
637
  "failed_predictions": failed_predictions,
638
+ "job_id": job_id,
639
639
  "modelrun_id": modelrun_id,
640
640
  },
641
641
  headers={
@@ -661,8 +661,8 @@ class AsyncPromptsClient:
661
661
  async def batch_predictions(
662
662
  self,
663
663
  *,
664
- results: typing.Sequence[typing.Optional[typing.Any]],
665
664
  modelrun_id: int,
665
+ results: typing.Sequence[typing.Optional[typing.Any]],
666
666
  num_predictions: typing.Optional[int] = None,
667
667
  job_id: typing.Optional[str] = OMIT,
668
668
  request_options: typing.Optional[RequestOptions] = None,
@@ -672,10 +672,10 @@ class AsyncPromptsClient:
672
672
 
673
673
  Parameters
674
674
  ----------
675
- results : typing.Sequence[typing.Optional[typing.Any]]
676
-
677
675
  modelrun_id : int
678
676
 
677
+ results : typing.Sequence[typing.Optional[typing.Any]]
678
+
679
679
  num_predictions : typing.Optional[int]
680
680
  Number of predictions being sent (for telemetry only, has no effect)
681
681
 
@@ -702,8 +702,8 @@ class AsyncPromptsClient:
702
702
 
703
703
  async def main() -> None:
704
704
  await client.prompts.batch_predictions(
705
- results=[],
706
705
  modelrun_id=1,
706
+ results=[],
707
707
  )
708
708
 
709
709
 
@@ -717,8 +717,8 @@ class AsyncPromptsClient:
717
717
  },
718
718
  json={
719
719
  "job_id": job_id,
720
- "results": results,
721
720
  "modelrun_id": modelrun_id,
721
+ "results": results,
722
722
  },
723
723
  headers={
724
724
  "content-type": "application/json",
@@ -802,13 +802,13 @@ class AsyncPromptsClient:
802
802
  self,
803
803
  *,
804
804
  title: str,
805
+ associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
805
806
  created_by: typing.Optional[UserSimpleRequest] = OMIT,
806
- skill_name: typing.Optional[SkillNameEnum] = OMIT,
807
807
  description: typing.Optional[str] = OMIT,
808
808
  input_fields: typing.Optional[typing.Optional[typing.Any]] = OMIT,
809
- output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
810
809
  organization: typing.Optional[int] = OMIT,
811
- associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
810
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
811
+ skill_name: typing.Optional[SkillNameEnum] = OMIT,
812
812
  request_options: typing.Optional[RequestOptions] = None,
813
813
  ) -> ModelInterface:
814
814
  """
@@ -819,21 +819,21 @@ class AsyncPromptsClient:
819
819
  title : str
820
820
  Model name
821
821
 
822
+ associated_projects : typing.Optional[typing.Sequence[int]]
823
+
822
824
  created_by : typing.Optional[UserSimpleRequest]
823
825
  User who created Dataset
824
826
 
825
- skill_name : typing.Optional[SkillNameEnum]
826
-
827
827
  description : typing.Optional[str]
828
828
  Model description
829
829
 
830
830
  input_fields : typing.Optional[typing.Optional[typing.Any]]
831
831
 
832
- output_classes : typing.Optional[typing.Optional[typing.Any]]
833
-
834
832
  organization : typing.Optional[int]
835
833
 
836
- associated_projects : typing.Optional[typing.Sequence[int]]
834
+ output_classes : typing.Optional[typing.Optional[typing.Any]]
835
+
836
+ skill_name : typing.Optional[SkillNameEnum]
837
837
 
838
838
  request_options : typing.Optional[RequestOptions]
839
839
  Request-specific configuration.
@@ -866,16 +866,16 @@ class AsyncPromptsClient:
866
866
  "api/prompts/",
867
867
  method="POST",
868
868
  json={
869
+ "associated_projects": associated_projects,
869
870
  "created_by": convert_and_respect_annotation_metadata(
870
871
  object_=created_by, annotation=UserSimpleRequest, direction="write"
871
872
  ),
872
- "skill_name": skill_name,
873
- "title": title,
874
873
  "description": description,
875
874
  "input_fields": input_fields,
876
- "output_classes": output_classes,
877
875
  "organization": organization,
878
- "associated_projects": associated_projects,
876
+ "output_classes": output_classes,
877
+ "skill_name": skill_name,
878
+ "title": title,
879
879
  },
880
880
  request_options=request_options,
881
881
  omit=OMIT,
@@ -894,6 +894,82 @@ class AsyncPromptsClient:
894
894
  raise ApiError(status_code=_response.status_code, body=_response.text)
895
895
  raise ApiError(status_code=_response.status_code, body=_response_json)
896
896
 
897
+ async def compatible_projects(
898
+ self,
899
+ *,
900
+ ordering: typing.Optional[str] = None,
901
+ page: typing.Optional[int] = None,
902
+ page_size: typing.Optional[int] = None,
903
+ project_type: typing.Optional[PromptsCompatibleProjectsRequestProjectType] = None,
904
+ request_options: typing.Optional[RequestOptions] = None,
905
+ ) -> PaginatedAllRolesProjectListList:
906
+ """
907
+ Retrieve a list of compatible project for prompt.
908
+
909
+ Parameters
910
+ ----------
911
+ ordering : typing.Optional[str]
912
+ Which field to use when ordering the results.
913
+
914
+ page : typing.Optional[int]
915
+ A page number within the paginated result set.
916
+
917
+ page_size : typing.Optional[int]
918
+ Number of results to return per page.
919
+
920
+ project_type : typing.Optional[PromptsCompatibleProjectsRequestProjectType]
921
+ Skill to filter by
922
+
923
+ request_options : typing.Optional[RequestOptions]
924
+ Request-specific configuration.
925
+
926
+ Returns
927
+ -------
928
+ PaginatedAllRolesProjectListList
929
+
930
+
931
+ Examples
932
+ --------
933
+ import asyncio
934
+
935
+ from label_studio_sdk import AsyncLabelStudio
936
+
937
+ client = AsyncLabelStudio(
938
+ api_key="YOUR_API_KEY",
939
+ )
940
+
941
+
942
+ async def main() -> None:
943
+ await client.prompts.compatible_projects()
944
+
945
+
946
+ asyncio.run(main())
947
+ """
948
+ _response = await self._client_wrapper.httpx_client.request(
949
+ "api/prompts/compatible-projects",
950
+ method="GET",
951
+ params={
952
+ "ordering": ordering,
953
+ "page": page,
954
+ "page_size": page_size,
955
+ "project_type": project_type,
956
+ },
957
+ request_options=request_options,
958
+ )
959
+ try:
960
+ if 200 <= _response.status_code < 300:
961
+ return typing.cast(
962
+ PaginatedAllRolesProjectListList,
963
+ construct_type(
964
+ type_=PaginatedAllRolesProjectListList, # type: ignore
965
+ object_=_response.json(),
966
+ ),
967
+ )
968
+ _response_json = _response.json()
969
+ except JSONDecodeError:
970
+ raise ApiError(status_code=_response.status_code, body=_response.text)
971
+ raise ApiError(status_code=_response.status_code, body=_response_json)
972
+
897
973
  async def get(
898
974
  self, id: str, *, request_options: typing.Optional[RequestOptions] = None
899
975
  ) -> ModelInterfaceSerializerGet:
@@ -1001,14 +1077,14 @@ class AsyncPromptsClient:
1001
1077
  self,
1002
1078
  id: str,
1003
1079
  *,
1080
+ associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
1004
1081
  created_by: typing.Optional[UserSimpleRequest] = OMIT,
1005
- skill_name: typing.Optional[SkillNameEnum] = OMIT,
1006
- title: typing.Optional[str] = OMIT,
1007
1082
  description: typing.Optional[str] = OMIT,
1008
1083
  input_fields: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1009
- output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1010
1084
  organization: typing.Optional[int] = OMIT,
1011
- associated_projects: typing.Optional[typing.Sequence[int]] = OMIT,
1085
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1086
+ skill_name: typing.Optional[SkillNameEnum] = OMIT,
1087
+ title: typing.Optional[str] = OMIT,
1012
1088
  request_options: typing.Optional[RequestOptions] = None,
1013
1089
  ) -> ModelInterface:
1014
1090
  """
@@ -1018,24 +1094,24 @@ class AsyncPromptsClient:
1018
1094
  ----------
1019
1095
  id : str
1020
1096
 
1097
+ associated_projects : typing.Optional[typing.Sequence[int]]
1098
+
1021
1099
  created_by : typing.Optional[UserSimpleRequest]
1022
1100
  User who created Dataset
1023
1101
 
1024
- skill_name : typing.Optional[SkillNameEnum]
1025
-
1026
- title : typing.Optional[str]
1027
- Model name
1028
-
1029
1102
  description : typing.Optional[str]
1030
1103
  Model description
1031
1104
 
1032
1105
  input_fields : typing.Optional[typing.Optional[typing.Any]]
1033
1106
 
1107
+ organization : typing.Optional[int]
1108
+
1034
1109
  output_classes : typing.Optional[typing.Optional[typing.Any]]
1035
1110
 
1036
- organization : typing.Optional[int]
1111
+ skill_name : typing.Optional[SkillNameEnum]
1037
1112
 
1038
- associated_projects : typing.Optional[typing.Sequence[int]]
1113
+ title : typing.Optional[str]
1114
+ Model name
1039
1115
 
1040
1116
  request_options : typing.Optional[RequestOptions]
1041
1117
  Request-specific configuration.
@@ -1068,16 +1144,16 @@ class AsyncPromptsClient:
1068
1144
  f"api/prompts/{jsonable_encoder(id)}/",
1069
1145
  method="PATCH",
1070
1146
  json={
1147
+ "associated_projects": associated_projects,
1071
1148
  "created_by": convert_and_respect_annotation_metadata(
1072
1149
  object_=created_by, annotation=UserSimpleRequest, direction="write"
1073
1150
  ),
1074
- "skill_name": skill_name,
1075
- "title": title,
1076
1151
  "description": description,
1077
1152
  "input_fields": input_fields,
1078
- "output_classes": output_classes,
1079
1153
  "organization": organization,
1080
- "associated_projects": associated_projects,
1154
+ "output_classes": output_classes,
1155
+ "skill_name": skill_name,
1156
+ "title": title,
1081
1157
  },
1082
1158
  headers={
1083
1159
  "content-type": "application/json",
@@ -1098,79 +1174,3 @@ class AsyncPromptsClient:
1098
1174
  except JSONDecodeError:
1099
1175
  raise ApiError(status_code=_response.status_code, body=_response.text)
1100
1176
  raise ApiError(status_code=_response.status_code, body=_response_json)
1101
-
1102
- async def compatible_projects(
1103
- self,
1104
- *,
1105
- ordering: typing.Optional[str] = None,
1106
- page: typing.Optional[int] = None,
1107
- page_size: typing.Optional[int] = None,
1108
- project_type: typing.Optional[PromptsCompatibleProjectsRequestProjectType] = None,
1109
- request_options: typing.Optional[RequestOptions] = None,
1110
- ) -> PaginatedAllRolesProjectListList:
1111
- """
1112
- Retrieve a list of compatible project for prompt.
1113
-
1114
- Parameters
1115
- ----------
1116
- ordering : typing.Optional[str]
1117
- Which field to use when ordering the results.
1118
-
1119
- page : typing.Optional[int]
1120
- A page number within the paginated result set.
1121
-
1122
- page_size : typing.Optional[int]
1123
- Number of results to return per page.
1124
-
1125
- project_type : typing.Optional[PromptsCompatibleProjectsRequestProjectType]
1126
- Skill to filter by
1127
-
1128
- request_options : typing.Optional[RequestOptions]
1129
- Request-specific configuration.
1130
-
1131
- Returns
1132
- -------
1133
- PaginatedAllRolesProjectListList
1134
-
1135
-
1136
- Examples
1137
- --------
1138
- import asyncio
1139
-
1140
- from label_studio_sdk import AsyncLabelStudio
1141
-
1142
- client = AsyncLabelStudio(
1143
- api_key="YOUR_API_KEY",
1144
- )
1145
-
1146
-
1147
- async def main() -> None:
1148
- await client.prompts.compatible_projects()
1149
-
1150
-
1151
- asyncio.run(main())
1152
- """
1153
- _response = await self._client_wrapper.httpx_client.request(
1154
- "api/prompts/compatible-projects",
1155
- method="GET",
1156
- params={
1157
- "ordering": ordering,
1158
- "page": page,
1159
- "page_size": page_size,
1160
- "project_type": project_type,
1161
- },
1162
- request_options=request_options,
1163
- )
1164
- try:
1165
- if 200 <= _response.status_code < 300:
1166
- return typing.cast(
1167
- PaginatedAllRolesProjectListList,
1168
- construct_type(
1169
- type_=PaginatedAllRolesProjectListList, # type: ignore
1170
- object_=_response.json(),
1171
- ),
1172
- )
1173
- _response_json = _response.json()
1174
- except JSONDecodeError:
1175
- raise ApiError(status_code=_response.status_code, body=_response.text)
1176
- raise ApiError(status_code=_response.status_code, body=_response_json)