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
@@ -2,13 +2,13 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ from .assignment_settings import AssignmentSettings
5
6
  import pydantic
6
- from .user_simple import UserSimple
7
7
  import datetime as dt
8
+ from .user_simple import UserSimple
9
+ from .review_settings import ReviewSettings
8
10
  from .lse_project_update_sampling import LseProjectUpdateSampling
9
11
  from .lse_project_update_skip_queue import LseProjectUpdateSkipQueue
10
- from .review_settings import ReviewSettings
11
- from .assignment_settings import AssignmentSettings
12
12
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
13
13
 
14
14
 
@@ -18,35 +18,39 @@ class LseProjectUpdate(UncheckedBaseModel):
18
18
  make sure, that you use correct one(Project.objects.with_counts())
19
19
  """
20
20
 
21
- id: int
22
- title: typing.Optional[str] = pydantic.Field(default=None)
23
- """
24
- Project name. Must be between 3 and 50 characters long.
25
- """
26
-
27
- description: typing.Optional[str] = pydantic.Field(default=None)
21
+ annotation_limit_count: typing.Optional[int] = None
22
+ annotation_limit_percent: typing.Optional[str] = None
23
+ annotator_evaluation_minimum_score: typing.Optional[str] = None
24
+ annotator_evaluation_minimum_tasks: typing.Optional[int] = None
25
+ assignment_settings: AssignmentSettings
26
+ color: typing.Optional[str] = None
27
+ comment_classification_config: typing.Optional[str] = None
28
+ config_has_control_tags: bool = pydantic.Field()
28
29
  """
29
- Project description
30
+ Flag to detect is project ready for labeling
30
31
  """
31
32
 
32
- label_config: typing.Optional[str] = pydantic.Field(default=None)
33
+ config_suitable_for_bulk_annotation: bool = pydantic.Field()
33
34
  """
34
- Label config in XML format. See more about it in documentation
35
+ Flag to detect is project ready for bulk annotation
35
36
  """
36
37
 
37
- expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
38
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = None
39
+ created_at: dt.datetime
40
+ created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
38
41
  """
39
- Labeling instructions in HTML format
42
+ Project owner
40
43
  """
41
44
 
42
- show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
45
+ custom_script: typing.Optional[str] = None
46
+ custom_task_lock_ttl: typing.Optional[int] = pydantic.Field(default=None)
43
47
  """
44
- Show instructions to the annotator before they start
48
+ TTL in seconds for task reservations, on new and existing tasks
45
49
  """
46
50
 
47
- show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
51
+ description: typing.Optional[str] = pydantic.Field(default=None)
48
52
  """
49
- Show a skip button in interface and allow annotators to skip the task
53
+ Project description
50
54
  """
51
55
 
52
56
  enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
@@ -54,52 +58,55 @@ class LseProjectUpdate(UncheckedBaseModel):
54
58
  Allow annotators to submit empty annotations
55
59
  """
56
60
 
57
- show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
61
+ evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
58
62
  """
59
- Show annotation history to annotator
63
+ Retrieve and display predictions when loading a task
60
64
  """
61
65
 
62
- organization: typing.Optional[int] = None
63
- color: typing.Optional[str] = None
64
- maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
66
+ expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
65
67
  """
66
- Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
68
+ Labeling instructions in HTML format
67
69
  """
68
70
 
69
- is_published: typing.Optional[bool] = pydantic.Field(default=None)
71
+ finished_task_number: int = pydantic.Field()
70
72
  """
71
- Whether or not the project is published to annotators
73
+ Finished tasks
72
74
  """
73
75
 
74
- model_version: typing.Optional[str] = pydantic.Field(default=None)
76
+ ground_truth_number: int = pydantic.Field()
75
77
  """
76
- Machine learning model version
78
+ Honeypot annotation number in project
77
79
  """
78
80
 
81
+ id: int
79
82
  is_draft: typing.Optional[bool] = pydantic.Field(default=None)
80
83
  """
81
84
  Whether or not the project is in the middle of being created
82
85
  """
83
86
 
84
- created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
87
+ is_published: typing.Optional[bool] = pydantic.Field(default=None)
85
88
  """
86
- Project owner
89
+ Whether or not the project is published to annotators
87
90
  """
88
91
 
89
- created_at: dt.datetime
90
- min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
92
+ label_config: typing.Optional[str] = pydantic.Field(default=None)
91
93
  """
92
- Minimum number of completed tasks after which model training is started
94
+ Label config in XML format. See more about it in documentation
93
95
  """
94
96
 
95
- start_training_on_annotation_update: bool = pydantic.Field()
97
+ maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
96
98
  """
97
- Start model training after any annotations are submitted or updated
99
+ Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
98
100
  """
99
101
 
100
- show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
102
+ min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
101
103
  """
102
- If set, the annotator can view model predictions
104
+ Minimum number of completed tasks after which model training is started
105
+ """
106
+
107
+ model_version: typing.Optional[str] = pydantic.Field(default=None)
108
+ """
109
+ Machine learning model version
103
110
  """
104
111
 
105
112
  num_tasks_with_annotations: int = pydantic.Field()
@@ -107,102 +114,95 @@ class LseProjectUpdate(UncheckedBaseModel):
107
114
  Tasks with annotations count
108
115
  """
109
116
 
110
- task_number: int = pydantic.Field()
117
+ organization: typing.Optional[int] = None
118
+ overlap_cohort_percentage: typing.Optional[int] = None
119
+ parsed_label_config: typing.Optional[typing.Any] = None
120
+ pause_on_failed_annotator_evaluation: typing.Optional[bool] = None
121
+ pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
111
122
  """
112
- Total task number in project
123
+ Pinned date and time
113
124
  """
114
125
 
115
- useful_annotation_number: int = pydantic.Field()
126
+ prompts: str
127
+ queue_done: int
128
+ queue_total: int
129
+ require_comment_on_skip: typing.Optional[bool] = None
130
+ reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
116
131
  """
117
- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
132
+ Reveal pre-annotations interactively
118
133
  """
119
134
 
120
- ground_truth_number: int = pydantic.Field()
135
+ review_settings: ReviewSettings
136
+ sampling: typing.Optional[LseProjectUpdateSampling] = None
137
+ show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
121
138
  """
122
- Honeypot annotation number in project
139
+ Show annotation history to annotator
123
140
  """
124
141
 
125
- skipped_annotations_number: int = pydantic.Field()
142
+ show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
126
143
  """
127
- Skipped by collaborators annotation number in project
144
+ If set, the annotator can view model predictions
128
145
  """
129
146
 
130
- total_annotations_number: int = pydantic.Field()
147
+ show_ground_truth_first: typing.Optional[bool] = None
148
+ show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
131
149
  """
132
- Total annotations number in project including skipped_annotations_number and ground_truth_number.
150
+ Show instructions to the annotator before they start
133
151
  """
134
152
 
135
- total_predictions_number: int = pydantic.Field()
153
+ show_overlap_first: typing.Optional[bool] = None
154
+ show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
136
155
  """
137
- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
156
+ Show a skip button in interface and allow annotators to skip the task
138
157
  """
139
158
 
140
- sampling: typing.Optional[LseProjectUpdateSampling] = None
141
- show_ground_truth_first: typing.Optional[bool] = None
142
- show_overlap_first: typing.Optional[bool] = None
143
- overlap_cohort_percentage: typing.Optional[int] = None
144
- task_data_login: typing.Optional[str] = pydantic.Field(default=None)
159
+ skip_queue: typing.Optional[LseProjectUpdateSkipQueue] = None
160
+ skipped_annotations_number: int = pydantic.Field()
145
161
  """
146
- Task data credentials: login
162
+ Skipped by collaborators annotation number in project
147
163
  """
148
164
 
149
- task_data_password: typing.Optional[str] = pydantic.Field(default=None)
165
+ start_training_on_annotation_update: bool = pydantic.Field()
150
166
  """
151
- Task data credentials: password
167
+ Start model training after any annotations are submitted or updated
152
168
  """
153
169
 
154
- control_weights: typing.Optional[typing.Optional[typing.Any]] = None
155
- parsed_label_config: typing.Optional[typing.Any] = None
156
- evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
170
+ task_data_login: typing.Optional[str] = pydantic.Field(default=None)
157
171
  """
158
- Retrieve and display predictions when loading a task
172
+ Task data credentials: login
159
173
  """
160
174
 
161
- config_has_control_tags: bool = pydantic.Field()
175
+ task_data_password: typing.Optional[str] = pydantic.Field(default=None)
162
176
  """
163
- Flag to detect is project ready for labeling
177
+ Task data credentials: password
164
178
  """
165
179
 
166
- skip_queue: typing.Optional[LseProjectUpdateSkipQueue] = None
167
- reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
180
+ task_number: int = pydantic.Field()
168
181
  """
169
- Reveal pre-annotations interactively
182
+ Total task number in project
170
183
  """
171
184
 
172
- pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
185
+ title: typing.Optional[str] = pydantic.Field(default=None)
173
186
  """
174
- Pinned date and time
187
+ Project name. Must be between 3 and 50 characters long.
175
188
  """
176
189
 
177
- finished_task_number: int = pydantic.Field()
190
+ total_annotations_number: int = pydantic.Field()
178
191
  """
179
- Finished tasks
192
+ Total annotations number in project including skipped_annotations_number and ground_truth_number.
180
193
  """
181
194
 
182
- queue_total: int
183
- queue_done: int
184
- config_suitable_for_bulk_annotation: bool = pydantic.Field()
195
+ total_predictions_number: int = pydantic.Field()
185
196
  """
186
- Flag to detect is project ready for bulk annotation
197
+ Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
187
198
  """
188
199
 
189
- workspace: int
190
- review_settings: ReviewSettings
191
- assignment_settings: AssignmentSettings
192
- custom_script: typing.Optional[str] = None
193
- comment_classification_config: typing.Optional[str] = None
194
- require_comment_on_skip: typing.Optional[bool] = None
195
- custom_task_lock_ttl: typing.Optional[int] = pydantic.Field(default=None)
200
+ useful_annotation_number: int = pydantic.Field()
196
201
  """
197
- TTL in seconds for task reservations, on new and existing tasks
202
+ Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
198
203
  """
199
204
 
200
- prompts: str
201
- annotation_limit_count: typing.Optional[int] = None
202
- annotation_limit_percent: typing.Optional[str] = None
203
- pause_on_failed_annotator_evaluation: typing.Optional[bool] = None
204
- annotator_evaluation_minimum_score: typing.Optional[str] = None
205
- annotator_evaluation_minimum_tasks: typing.Optional[int] = None
205
+ workspace: int
206
206
  workspace_title: str
207
207
 
208
208
  if IS_PYDANTIC_V2:
@@ -2,48 +2,43 @@
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 .status_c5a_enum import StatusC5AEnum
6
+ import datetime as dt
8
7
  import typing_extensions
9
8
  from ..core.serialization import FieldMetadata
9
+ from .status_c5a_enum import StatusC5AEnum
10
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
11
 
12
12
 
13
13
  class LseS3ExportStorage(UncheckedBaseModel):
14
- id: int
15
- type: str
16
- synchronizable: typing.Optional[bool] = None
17
- last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
14
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
18
15
  """
19
- Last sync finished time
16
+ AWS_ACCESS_KEY_ID
20
17
  """
21
18
 
22
- last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
19
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
23
20
  """
24
- Count of tasks synced last time
21
+ AWS_SECRET_ACCESS_KEY
25
22
  """
26
23
 
27
- last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
24
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
28
25
  """
29
- Last sync job ID
26
+ AWS_SESSION_TOKEN
30
27
  """
31
28
 
32
- status: typing.Optional[StatusC5AEnum] = None
33
- traceback: typing.Optional[str] = pydantic.Field(default=None)
29
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
34
30
  """
35
- Traceback report for the last failed sync
31
+ AWS SSE KMS Key ID
36
32
  """
37
33
 
38
- meta: typing.Optional[typing.Optional[typing.Any]] = None
39
- title: typing.Optional[str] = pydantic.Field(default=None)
34
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
40
35
  """
41
- Cloud storage title
36
+ S3 bucket name
42
37
  """
43
38
 
44
- description: typing.Optional[str] = pydantic.Field(default=None)
39
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
45
40
  """
46
- Cloud storage description
41
+ Deletion from storage enabled
47
42
  """
48
43
 
49
44
  created_at: dt.datetime = pydantic.Field()
@@ -51,54 +46,57 @@ class LseS3ExportStorage(UncheckedBaseModel):
51
46
  Creation time
52
47
  """
53
48
 
54
- can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
49
+ description: typing.Optional[str] = pydantic.Field(default=None)
55
50
  """
56
- Deletion from storage enabled
51
+ Cloud storage description
57
52
  """
58
53
 
59
- bucket: typing.Optional[str] = pydantic.Field(default=None)
54
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
60
55
  """
61
- S3 bucket name
56
+ AWS ExternalId
62
57
  """
63
58
 
64
- prefix: typing.Optional[str] = pydantic.Field(default=None)
59
+ id: int
60
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
65
61
  """
66
- S3 bucket prefix
62
+ Last sync finished time
67
63
  """
68
64
 
69
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
65
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
70
66
  """
71
- Cloud storage regex for filtering objects
67
+ Count of tasks synced last time
72
68
  """
73
69
 
74
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
70
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
75
71
  """
76
- Interpret objects as BLOBs and generate URLs
72
+ Last sync job ID
77
73
  """
78
74
 
79
- aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
75
+ legacy_auth: typing.Optional[bool] = None
76
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
77
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
80
78
  """
81
- AWS_ACCESS_KEY_ID
79
+ S3 bucket prefix
82
80
  """
83
81
 
84
- aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
82
+ project: int = pydantic.Field()
85
83
  """
86
- AWS_SECRET_ACCESS_KEY
84
+ A unique integer value identifying this project.
87
85
  """
88
86
 
89
- aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
87
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
90
88
  """
91
- AWS_SESSION_TOKEN
89
+ Cloud storage regex for filtering objects
92
90
  """
93
91
 
94
- aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
92
+ region_name: typing.Optional[str] = pydantic.Field(default=None)
95
93
  """
96
- AWS SSE KMS Key ID
94
+ AWS Region
97
95
  """
98
96
 
99
- region_name: typing.Optional[str] = pydantic.Field(default=None)
97
+ role_arn: str = pydantic.Field()
100
98
  """
101
- AWS Region
99
+ AWS RoleArn
102
100
  """
103
101
 
104
102
  s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
@@ -108,20 +106,22 @@ class LseS3ExportStorage(UncheckedBaseModel):
108
106
  S3 Endpoint
109
107
  """
110
108
 
111
- external_id: typing.Optional[str] = pydantic.Field(default=None)
109
+ status: typing.Optional[StatusC5AEnum] = None
110
+ synchronizable: typing.Optional[bool] = None
111
+ title: typing.Optional[str] = pydantic.Field(default=None)
112
112
  """
113
- AWS ExternalId
113
+ Cloud storage title
114
114
  """
115
115
 
116
- role_arn: str = pydantic.Field()
116
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
117
117
  """
118
- AWS RoleArn
118
+ Traceback report for the last failed sync
119
119
  """
120
120
 
121
- legacy_auth: typing.Optional[bool] = None
122
- project: int = pydantic.Field()
121
+ type: str
122
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
123
123
  """
124
- A unique integer value identifying this project.
124
+ Interpret objects as BLOBs and generate URLs
125
125
  """
126
126
 
127
127
  if IS_PYDANTIC_V2:
@@ -2,46 +2,38 @@
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 .status_c5a_enum import StatusC5AEnum
6
+ import datetime as dt
8
7
  import typing_extensions
9
8
  from ..core.serialization import FieldMetadata
9
+ from .status_c5a_enum import StatusC5AEnum
10
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
11
 
12
12
 
13
13
  class LseS3ExportStorageRequest(UncheckedBaseModel):
14
- synchronizable: typing.Optional[bool] = None
15
- last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
16
- """
17
- Last sync finished time
18
- """
19
-
20
- last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
14
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
21
15
  """
22
- Count of tasks synced last time
16
+ AWS_ACCESS_KEY_ID
23
17
  """
24
18
 
25
- last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
19
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
26
20
  """
27
- Last sync job ID
21
+ AWS_SECRET_ACCESS_KEY
28
22
  """
29
23
 
30
- status: typing.Optional[StatusC5AEnum] = None
31
- traceback: typing.Optional[str] = pydantic.Field(default=None)
24
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
32
25
  """
33
- Traceback report for the last failed sync
26
+ AWS_SESSION_TOKEN
34
27
  """
35
28
 
36
- meta: typing.Optional[typing.Optional[typing.Any]] = None
37
- title: typing.Optional[str] = pydantic.Field(default=None)
29
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
38
30
  """
39
- Cloud storage title
31
+ AWS SSE KMS Key ID
40
32
  """
41
33
 
42
- description: typing.Optional[str] = pydantic.Field(default=None)
34
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
43
35
  """
44
- Cloud storage description
36
+ S3 bucket name
45
37
  """
46
38
 
47
39
  can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
@@ -49,44 +41,46 @@ class LseS3ExportStorageRequest(UncheckedBaseModel):
49
41
  Deletion from storage enabled
50
42
  """
51
43
 
52
- bucket: typing.Optional[str] = pydantic.Field(default=None)
44
+ description: typing.Optional[str] = pydantic.Field(default=None)
53
45
  """
54
- S3 bucket name
46
+ Cloud storage description
55
47
  """
56
48
 
57
- prefix: typing.Optional[str] = pydantic.Field(default=None)
49
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
58
50
  """
59
- S3 bucket prefix
51
+ AWS ExternalId
60
52
  """
61
53
 
62
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
54
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
63
55
  """
64
- Cloud storage regex for filtering objects
56
+ Last sync finished time
65
57
  """
66
58
 
67
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
59
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
68
60
  """
69
- Interpret objects as BLOBs and generate URLs
61
+ Count of tasks synced last time
70
62
  """
71
63
 
72
- aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
64
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
73
65
  """
74
- AWS_ACCESS_KEY_ID
66
+ Last sync job ID
75
67
  """
76
68
 
77
- aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
69
+ legacy_auth: typing.Optional[bool] = None
70
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
71
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
78
72
  """
79
- AWS_SECRET_ACCESS_KEY
73
+ S3 bucket prefix
80
74
  """
81
75
 
82
- aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
76
+ project: int = pydantic.Field()
83
77
  """
84
- AWS_SESSION_TOKEN
78
+ A unique integer value identifying this project.
85
79
  """
86
80
 
87
- aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
81
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
88
82
  """
89
- AWS SSE KMS Key ID
83
+ Cloud storage regex for filtering objects
90
84
  """
91
85
 
92
86
  region_name: typing.Optional[str] = pydantic.Field(default=None)
@@ -94,6 +88,11 @@ class LseS3ExportStorageRequest(UncheckedBaseModel):
94
88
  AWS Region
95
89
  """
96
90
 
91
+ role_arn: str = pydantic.Field()
92
+ """
93
+ AWS RoleArn
94
+ """
95
+
97
96
  s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
98
97
  default=None
99
98
  )
@@ -101,20 +100,21 @@ class LseS3ExportStorageRequest(UncheckedBaseModel):
101
100
  S3 Endpoint
102
101
  """
103
102
 
104
- external_id: typing.Optional[str] = pydantic.Field(default=None)
103
+ status: typing.Optional[StatusC5AEnum] = None
104
+ synchronizable: typing.Optional[bool] = None
105
+ title: typing.Optional[str] = pydantic.Field(default=None)
105
106
  """
106
- AWS ExternalId
107
+ Cloud storage title
107
108
  """
108
109
 
109
- role_arn: str = pydantic.Field()
110
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
110
111
  """
111
- AWS RoleArn
112
+ Traceback report for the last failed sync
112
113
  """
113
114
 
114
- legacy_auth: typing.Optional[bool] = None
115
- project: int = pydantic.Field()
115
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
116
116
  """
117
- A unique integer value identifying this project.
117
+ Interpret objects as BLOBs and generate URLs
118
118
  """
119
119
 
120
120
  if IS_PYDANTIC_V2: