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
@@ -8,14 +8,14 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskPredictionsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
- score: typing.Optional[float] = None
13
- model_version: typing.Optional[str] = None
11
+ created_at: typing.Optional[dt.datetime] = None
14
12
  model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
15
13
  model_run: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
16
- task: typing.Optional[int] = None
14
+ model_version: typing.Optional[str] = None
17
15
  project: typing.Optional[int] = None
18
- created_at: typing.Optional[dt.datetime] = None
16
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
17
+ score: typing.Optional[float] = None
18
+ task: typing.Optional[int] = None
19
19
  updated_at: typing.Optional[dt.datetime] = None
20
20
 
21
21
  if IS_PYDANTIC_V2:
@@ -14,35 +14,35 @@ class LseTaskSerializerForAnnotators(UncheckedBaseModel):
14
14
  Task Serializer with project scheme configs validation
15
15
  """
16
16
 
17
- id: int
18
- data: typing.Optional[typing.Any] = None
17
+ annotations: str
18
+ annotations_results: str
19
+ cancelled_annotations: typing.Optional[int] = None
20
+ comment_count: str
21
+ comments: str
19
22
  created_at: dt.datetime = pydantic.Field()
20
23
  """
21
24
  Time a task was created
22
25
  """
23
26
 
24
- annotations: str
27
+ data: typing.Optional[typing.Any] = None
28
+ draft_exists: typing.Optional[bool] = None
25
29
  drafts: typing.List[LseTaskSerializerForAnnotatorsDraftsItem] = pydantic.Field()
26
30
  """
27
31
  Drafts for this task
28
32
  """
29
33
 
30
- total_annotations: typing.Optional[int] = None
31
- cancelled_annotations: typing.Optional[int] = None
32
- annotations_results: str
34
+ id: int
33
35
  predictions: typing.List[LseTaskSerializerForAnnotatorsPredictionsItem] = pydantic.Field()
34
36
  """
35
37
  Predictions for this task
36
38
  """
37
39
 
38
- total_predictions: typing.Optional[int] = None
39
- predictions_score: typing.Optional[float] = None
40
40
  predictions_results: str
41
- comments: str
42
- comment_count: str
43
- unresolved_comment_count: str
41
+ predictions_score: typing.Optional[float] = None
44
42
  reviews_rejected: typing.Optional[int] = None
45
- draft_exists: typing.Optional[bool] = None
43
+ total_annotations: typing.Optional[int] = None
44
+ total_predictions: typing.Optional[int] = None
45
+ unresolved_comment_count: str
46
46
 
47
47
  if IS_PYDANTIC_V2:
48
48
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -8,8 +8,8 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskSerializerForAnnotatorsDraftsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
11
  created_at: typing.Optional[dt.datetime] = None
12
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
13
13
  updated_at: typing.Optional[dt.datetime] = None
14
14
 
15
15
  if IS_PYDANTIC_V2:
@@ -8,14 +8,14 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskSerializerForAnnotatorsPredictionsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
- score: typing.Optional[float] = None
13
- model_version: typing.Optional[str] = None
11
+ created_at: typing.Optional[dt.datetime] = None
14
12
  model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
15
13
  model_run: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
16
- task: typing.Optional[int] = None
14
+ model_version: typing.Optional[str] = None
17
15
  project: typing.Optional[int] = None
18
- created_at: typing.Optional[dt.datetime] = None
16
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
17
+ score: typing.Optional[float] = None
18
+ task: typing.Optional[int] = None
19
19
  updated_at: typing.Optional[dt.datetime] = None
20
20
 
21
21
  if IS_PYDANTIC_V2:
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- from .lse_task_serializer_for_reviewers_predictions_item import LseTaskSerializerForReviewersPredictionsItem
6
5
  import pydantic
7
- from .lse_task_serializer_for_reviewers_drafts_item import LseTaskSerializerForReviewersDraftsItem
8
6
  import datetime as dt
7
+ from .lse_task_serializer_for_reviewers_drafts_item import LseTaskSerializerForReviewersDraftsItem
8
+ from .lse_task_serializer_for_reviewers_predictions_item import LseTaskSerializerForReviewersPredictionsItem
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
@@ -14,97 +14,97 @@ class LseTaskSerializerForReviewers(UncheckedBaseModel):
14
14
  Task Serializer with project scheme configs validation
15
15
  """
16
16
 
17
- id: int
18
17
  agreement: str
19
- predictions: typing.List[LseTaskSerializerForReviewersPredictionsItem] = pydantic.Field()
20
- """
21
- Predictions for this task
22
- """
23
-
24
18
  annotations: str
25
- drafts: typing.List[LseTaskSerializerForReviewersDraftsItem] = pydantic.Field()
26
- """
27
- Drafts for this task
28
- """
29
-
19
+ annotations_ids: str
20
+ annotations_results: str
30
21
  annotators: typing.List[int] = pydantic.Field()
31
22
  """
32
23
  Annotators IDs who annotated this task
33
24
  """
34
25
 
35
- inner_id: typing.Optional[int] = None
36
- cancelled_annotations: typing.Optional[int] = None
37
- total_annotations: typing.Optional[int] = None
38
- total_predictions: typing.Optional[int] = None
39
- completed_at: typing.Optional[dt.datetime] = None
40
- annotations_results: str
41
- predictions_results: str
42
- predictions_score: typing.Optional[float] = None
43
- file_upload: str
44
- storage_filename: str
45
- annotations_ids: str
46
- predictions_model_versions: str
47
- avg_lead_time: typing.Optional[float] = None
48
- draft_exists: typing.Optional[bool] = None
49
- updated_by: typing.List[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field()
26
+ annotators_count: int = pydantic.Field()
50
27
  """
51
- User IDs who updated this task
28
+ The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
52
29
  """
53
30
 
54
- reviewers: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
55
- comments: str
31
+ avg_lead_time: typing.Optional[float] = None
32
+ cancelled_annotations: typing.Optional[int] = None
56
33
  comment_authors: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
57
- reviewed: typing.Optional[bool] = None
58
- reviews_accepted: typing.Optional[int] = None
59
- reviews_rejected: typing.Optional[int] = None
60
- ground_truth: typing.Optional[bool] = None
61
- annotators_count: int = pydantic.Field()
34
+ comment_authors_count: int
35
+ comment_count: typing.Optional[int] = pydantic.Field(default=None)
62
36
  """
63
- The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
37
+ Number of comments in the task including all annotations
64
38
  """
65
39
 
66
- reviewers_count: int
67
- comment_authors_count: int
68
- data: typing.Optional[typing.Any] = None
69
- meta: typing.Optional[typing.Optional[typing.Any]] = None
40
+ comments: str
41
+ completed_at: typing.Optional[dt.datetime] = None
70
42
  created_at: dt.datetime = pydantic.Field()
71
43
  """
72
44
  Time a task was created
73
45
  """
74
46
 
75
- updated_at: dt.datetime = pydantic.Field()
47
+ data: typing.Optional[typing.Any] = None
48
+ draft_exists: typing.Optional[bool] = None
49
+ drafts: typing.List[LseTaskSerializerForReviewersDraftsItem] = pydantic.Field()
76
50
  """
77
- Last time a task was updated
51
+ Drafts for this task
78
52
  """
79
53
 
54
+ file_upload: str
55
+ ground_truth: typing.Optional[bool] = None
56
+ id: int
57
+ inner_id: typing.Optional[int] = None
80
58
  is_labeled: typing.Optional[bool] = pydantic.Field(default=None)
81
59
  """
82
60
  True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
83
61
  """
84
62
 
63
+ last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
64
+ """
65
+ When the last comment was updated
66
+ """
67
+
68
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
85
69
  overlap: typing.Optional[int] = pydantic.Field(default=None)
86
70
  """
87
71
  Number of distinct annotators that processed the current task
88
72
  """
89
73
 
90
- comment_count: typing.Optional[int] = pydantic.Field(default=None)
74
+ predictions: typing.List[LseTaskSerializerForReviewersPredictionsItem] = pydantic.Field()
91
75
  """
92
- Number of comments in the task including all annotations
76
+ Predictions for this task
93
77
  """
94
78
 
79
+ predictions_model_versions: str
80
+ predictions_results: str
81
+ predictions_score: typing.Optional[float] = None
82
+ project: typing.Optional[int] = pydantic.Field(default=None)
83
+ """
84
+ Project ID for this task
85
+ """
86
+
87
+ reviewed: typing.Optional[bool] = None
88
+ reviewers: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
89
+ reviewers_count: int
90
+ reviews_accepted: typing.Optional[int] = None
91
+ reviews_rejected: typing.Optional[int] = None
92
+ storage_filename: str
93
+ total_annotations: typing.Optional[int] = None
94
+ total_predictions: typing.Optional[int] = None
95
95
  unresolved_comment_count: typing.Optional[int] = pydantic.Field(default=None)
96
96
  """
97
97
  Number of unresolved comments in the task including all annotations
98
98
  """
99
99
 
100
- last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
100
+ updated_at: dt.datetime = pydantic.Field()
101
101
  """
102
- When the last comment was updated
102
+ Last time a task was updated
103
103
  """
104
104
 
105
- project: typing.Optional[int] = pydantic.Field(default=None)
105
+ updated_by: typing.List[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field()
106
106
  """
107
- Project ID for this task
107
+ User IDs who updated this task
108
108
  """
109
109
 
110
110
  if IS_PYDANTIC_V2:
@@ -8,8 +8,8 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskSerializerForReviewersDraftsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
11
  created_at: typing.Optional[dt.datetime] = None
12
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
13
13
  updated_at: typing.Optional[dt.datetime] = None
14
14
 
15
15
  if IS_PYDANTIC_V2:
@@ -8,14 +8,14 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskSerializerForReviewersPredictionsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
- score: typing.Optional[float] = None
13
- model_version: typing.Optional[str] = None
11
+ created_at: typing.Optional[dt.datetime] = None
14
12
  model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
15
13
  model_run: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
16
- task: typing.Optional[int] = None
14
+ model_version: typing.Optional[str] = None
17
15
  project: typing.Optional[int] = None
18
- created_at: typing.Optional[dt.datetime] = None
16
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
17
+ score: typing.Optional[float] = None
18
+ task: typing.Optional[int] = None
19
19
  updated_at: typing.Optional[dt.datetime] = None
20
20
 
21
21
  if IS_PYDANTIC_V2:
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import datetime as dt
6
5
  import pydantic
7
- from .organization_membership import OrganizationMembership
6
+ import datetime as dt
8
7
  from .lse_fields import LseFields
8
+ from .organization_membership import OrganizationMembership
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
@@ -17,16 +17,6 @@ class LseUser(UncheckedBaseModel):
17
17
  values with complex, nested serializations
18
18
  """
19
19
 
20
- id: int
21
- first_name: typing.Optional[str] = None
22
- last_name: typing.Optional[str] = None
23
- username: str
24
- email: typing.Optional[str] = None
25
- last_activity: dt.datetime
26
- custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
27
- avatar: str
28
- initials: str
29
- phone: typing.Optional[str] = None
30
20
  active_organization: typing.Optional[int] = None
31
21
  active_organization_meta: str
32
22
  allow_newsletters: typing.Optional[bool] = pydantic.Field(default=None)
@@ -34,10 +24,20 @@ class LseUser(UncheckedBaseModel):
34
24
  Allow sending newsletters to user
35
25
  """
36
26
 
27
+ avatar: str
28
+ custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
37
29
  date_joined: typing.Optional[dt.datetime] = None
38
- org_membership: typing.List[OrganizationMembership]
30
+ email: typing.Optional[str] = None
31
+ first_name: typing.Optional[str] = None
32
+ id: int
33
+ initials: str
34
+ last_activity: dt.datetime
35
+ last_name: typing.Optional[str] = None
39
36
  lse_fields: LseFields
37
+ org_membership: typing.List[OrganizationMembership]
40
38
  pause: str
39
+ phone: typing.Optional[str] = None
40
+ username: str
41
41
 
42
42
  if IS_PYDANTIC_V2:
43
43
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,8 +2,8 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import datetime as dt
6
5
  import pydantic
6
+ import datetime as dt
7
7
  from .organization_membership import OrganizationMembership
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
@@ -16,16 +16,6 @@ class LseUserApi(UncheckedBaseModel):
16
16
  values with complex, nested serializations
17
17
  """
18
18
 
19
- id: int
20
- first_name: typing.Optional[str] = None
21
- last_name: typing.Optional[str] = None
22
- username: str
23
- email: typing.Optional[str] = None
24
- last_activity: dt.datetime
25
- custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
26
- avatar: str
27
- initials: str
28
- phone: typing.Optional[str] = None
29
19
  active_organization: typing.Optional[int] = None
30
20
  active_organization_meta: str
31
21
  allow_newsletters: typing.Optional[bool] = pydantic.Field(default=None)
@@ -33,8 +23,18 @@ class LseUserApi(UncheckedBaseModel):
33
23
  Allow sending newsletters to user
34
24
  """
35
25
 
26
+ avatar: str
27
+ custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
36
28
  date_joined: typing.Optional[dt.datetime] = None
29
+ email: typing.Optional[str] = None
30
+ first_name: typing.Optional[str] = None
31
+ id: int
32
+ initials: str
33
+ last_activity: dt.datetime
34
+ last_name: typing.Optional[str] = None
37
35
  org_membership: typing.List[OrganizationMembership]
36
+ phone: typing.Optional[str] = None
37
+ username: str
38
38
 
39
39
  if IS_PYDANTIC_V2:
40
40
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,8 +2,8 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import datetime as dt
6
5
  import pydantic
6
+ import datetime as dt
7
7
  from .lse_fields import LseFields
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
@@ -16,27 +16,27 @@ class LseUserOrganizationMemberList(UncheckedBaseModel):
16
16
  values with complex, nested serializations
17
17
  """
18
18
 
19
- id: int
20
- first_name: typing.Optional[str] = None
21
- last_name: typing.Optional[str] = None
22
- username: str
23
- email: typing.Optional[str] = None
24
- last_activity: dt.datetime
25
- custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
26
- avatar: str
27
- initials: str
28
- phone: typing.Optional[str] = None
29
19
  active_organization: typing.Optional[int] = None
30
20
  allow_newsletters: typing.Optional[bool] = pydantic.Field(default=None)
31
21
  """
32
22
  Allow sending newsletters to user
33
23
  """
34
24
 
25
+ avatar: str
26
+ contributed_to_projects: str
27
+ created_projects: str
28
+ custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
35
29
  date_joined: typing.Optional[dt.datetime] = None
30
+ email: typing.Optional[str] = None
31
+ first_name: typing.Optional[str] = None
32
+ id: int
33
+ initials: str
34
+ last_activity: dt.datetime
35
+ last_name: typing.Optional[str] = None
36
36
  lse_fields: LseFields
37
37
  pause: str
38
- created_projects: str
39
- contributed_to_projects: str
38
+ phone: typing.Optional[str] = None
39
+ username: str
40
40
 
41
41
  if IS_PYDANTIC_V2:
42
42
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -7,9 +7,9 @@ import pydantic
7
7
 
8
8
 
9
9
  class LseapiTokenCreate(UncheckedBaseModel):
10
- token: str
11
10
  created_at: str
12
11
  expires_at: str
12
+ token: str
13
13
 
14
14
  if IS_PYDANTIC_V2:
15
15
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -7,9 +7,9 @@ import pydantic
7
7
 
8
8
 
9
9
  class LseapiTokenList(UncheckedBaseModel):
10
- token: str
11
10
  created_at: str
12
11
  expires_at: str
12
+ token: str
13
13
 
14
14
  if IS_PYDANTIC_V2:
15
15
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -7,6 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
7
 
8
8
 
9
9
  class LsejwtSettings(UncheckedBaseModel):
10
+ api_token_ttl_days: typing.Optional[int] = pydantic.Field(default=None)
11
+ """
12
+ Number of days before JWT API tokens expire
13
+ """
14
+
10
15
  api_tokens_enabled: typing.Optional[bool] = pydantic.Field(default=None)
11
16
  """
12
17
  Enable JWT API token authentication for this organization
@@ -17,11 +22,6 @@ class LsejwtSettings(UncheckedBaseModel):
17
22
  Enable legacy API token authentication for this organization
18
23
  """
19
24
 
20
- api_token_ttl_days: typing.Optional[int] = pydantic.Field(default=None)
21
- """
22
- Number of days before JWT API tokens expire
23
- """
24
-
25
25
  if IS_PYDANTIC_V2:
26
26
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
27
  else:
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- from .state_enum import StateEnum
6
- import pydantic
7
5
  from .auth_method_enum import AuthMethodEnum
6
+ import pydantic
8
7
  import datetime as dt
8
+ from .state_enum import StateEnum
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
@@ -14,60 +14,59 @@ class MlBackend(UncheckedBaseModel):
14
14
  Serializer for MLBackend model.
15
15
  """
16
16
 
17
- id: int
18
- state: typing.Optional[StateEnum] = None
19
- readable_state: str
20
- is_interactive: typing.Optional[bool] = pydantic.Field(default=None)
21
- """
22
- Used to interactively annotate tasks. If true, model returns one list with results
23
- """
24
-
25
- url: str = pydantic.Field()
17
+ auth_method: typing.Optional[AuthMethodEnum] = None
18
+ auto_update: typing.Optional[bool] = pydantic.Field(default=None)
26
19
  """
27
- URL for the machine learning model server
20
+ If false, model version is set by the user, if true - getting latest version from backend.
28
21
  """
29
22
 
30
- error_message: typing.Optional[str] = pydantic.Field(default=None)
23
+ basic_auth_pass_is_set: str
24
+ basic_auth_user: typing.Optional[str] = pydantic.Field(default=None)
31
25
  """
32
- Error message in error state
26
+ HTTP Basic Auth user
33
27
  """
34
28
 
35
- title: typing.Optional[str] = pydantic.Field(default=None)
29
+ created_at: dt.datetime
30
+ description: typing.Optional[str] = pydantic.Field(default=None)
36
31
  """
37
- Name of the machine learning backend
32
+ Description for the machine learning backend
38
33
  """
39
34
 
40
- auth_method: typing.Optional[AuthMethodEnum] = None
41
- basic_auth_user: typing.Optional[str] = pydantic.Field(default=None)
35
+ error_message: typing.Optional[str] = pydantic.Field(default=None)
42
36
  """
43
- HTTP Basic Auth user
37
+ Error message in error state
44
38
  """
45
39
 
46
- basic_auth_pass_is_set: str
47
- description: typing.Optional[str] = pydantic.Field(default=None)
40
+ extra_params: typing.Optional[typing.Optional[typing.Any]] = None
41
+ id: int
42
+ is_interactive: typing.Optional[bool] = pydantic.Field(default=None)
48
43
  """
49
- Description for the machine learning backend
44
+ Used to interactively annotate tasks. If true, model returns one list with results
50
45
  """
51
46
 
52
- extra_params: typing.Optional[typing.Optional[typing.Any]] = None
53
47
  model_version: typing.Optional[str] = pydantic.Field(default=None)
54
48
  """
55
49
  Current model version associated with this machine learning backend
56
50
  """
57
51
 
52
+ project: int
53
+ readable_state: str
54
+ state: typing.Optional[StateEnum] = None
58
55
  timeout: typing.Optional[float] = pydantic.Field(default=None)
59
56
  """
60
57
  Response model timeout
61
58
  """
62
59
 
63
- created_at: dt.datetime
64
- updated_at: dt.datetime
65
- auto_update: typing.Optional[bool] = pydantic.Field(default=None)
60
+ title: typing.Optional[str] = pydantic.Field(default=None)
66
61
  """
67
- If false, model version is set by the user, if true - getting latest version from backend.
62
+ Name of the machine learning backend
68
63
  """
69
64
 
70
- project: int
65
+ updated_at: dt.datetime
66
+ url: str = pydantic.Field()
67
+ """
68
+ URL for the machine learning model server
69
+ """
71
70
 
72
71
  if IS_PYDANTIC_V2:
73
72
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,37 +2,37 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ import datetime as dt
5
6
  from .user_simple import UserSimple
6
7
  import pydantic
7
8
  from .skill_name_enum import SkillNameEnum
8
- import datetime as dt
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
12
12
  class ModelInterface(UncheckedBaseModel):
13
- id: int
13
+ associated_projects: typing.Optional[typing.List[int]] = None
14
+ created_at: dt.datetime
14
15
  created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
15
16
  """
16
17
  User who created Dataset
17
18
  """
18
19
 
19
- skill_name: typing.Optional[SkillNameEnum] = None
20
- title: str = pydantic.Field()
21
- """
22
- Model name
23
- """
24
-
25
20
  description: typing.Optional[str] = pydantic.Field(default=None)
26
21
  """
27
22
  Model description
28
23
  """
29
24
 
30
- created_at: dt.datetime
31
- updated_at: dt.datetime
25
+ id: int
32
26
  input_fields: typing.Optional[typing.Optional[typing.Any]] = None
33
- output_classes: typing.Optional[typing.Optional[typing.Any]] = None
34
27
  organization: typing.Optional[int] = None
35
- associated_projects: typing.Optional[typing.List[int]] = None
28
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = None
29
+ skill_name: typing.Optional[SkillNameEnum] = None
30
+ title: str = pydantic.Field()
31
+ """
32
+ Model name
33
+ """
34
+
35
+ updated_at: dt.datetime
36
36
 
37
37
  if IS_PYDANTIC_V2:
38
38
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -9,26 +9,25 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class ModelInterfaceRequest(UncheckedBaseModel):
12
+ associated_projects: typing.Optional[typing.List[int]] = None
12
13
  created_by: typing.Optional[UserSimpleRequest] = pydantic.Field(default=None)
13
14
  """
14
15
  User who created Dataset
15
16
  """
16
17
 
17
- skill_name: typing.Optional[SkillNameEnum] = None
18
- title: str = pydantic.Field()
19
- """
20
- Model name
21
- """
22
-
23
18
  description: typing.Optional[str] = pydantic.Field(default=None)
24
19
  """
25
20
  Model description
26
21
  """
27
22
 
28
23
  input_fields: typing.Optional[typing.Optional[typing.Any]] = None
29
- output_classes: typing.Optional[typing.Optional[typing.Any]] = None
30
24
  organization: typing.Optional[int] = None
31
- associated_projects: typing.Optional[typing.List[int]] = None
25
+ output_classes: typing.Optional[typing.Optional[typing.Any]] = None
26
+ skill_name: typing.Optional[SkillNameEnum] = None
27
+ title: str = pydantic.Field()
28
+ """
29
+ Model name
30
+ """
32
31
 
33
32
  if IS_PYDANTIC_V2:
34
33
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2