label-studio-sdk 2.0.1__py3-none-any.whl → 2.0.3__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 (184) hide show
  1. label_studio_sdk/__init__.py +20 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/base_client.py +4 -0
  7. label_studio_sdk/comments/client.py +176 -176
  8. label_studio_sdk/export_storage/azure/client.py +274 -274
  9. label_studio_sdk/export_storage/gcs/client.py +263 -263
  10. label_studio_sdk/export_storage/local/client.py +206 -206
  11. label_studio_sdk/export_storage/redis/client.py +287 -287
  12. label_studio_sdk/export_storage/s3/client.py +347 -347
  13. label_studio_sdk/export_storage/s3s/client.py +678 -678
  14. label_studio_sdk/import_storage/azure/client.py +357 -357
  15. label_studio_sdk/import_storage/gcs/client.py +357 -357
  16. label_studio_sdk/import_storage/local/client.py +206 -206
  17. label_studio_sdk/import_storage/redis/client.py +309 -309
  18. label_studio_sdk/import_storage/s3/client.py +452 -452
  19. label_studio_sdk/import_storage/s3s/client.py +735 -735
  20. label_studio_sdk/jwt_settings/client.py +10 -10
  21. label_studio_sdk/ml/client.py +118 -118
  22. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  23. label_studio_sdk/model_providers/client.py +181 -181
  24. label_studio_sdk/organizations/members/client.py +8 -8
  25. label_studio_sdk/predictions/client.py +60 -60
  26. label_studio_sdk/projects/__init__.py +33 -1
  27. label_studio_sdk/projects/assignments/__init__.py +35 -0
  28. label_studio_sdk/projects/assignments/client.py +801 -0
  29. label_studio_sdk/projects/assignments/types/__init__.py +37 -0
  30. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  31. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  32. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  42. label_studio_sdk/projects/assignments/types/assignments_delete_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  44. label_studio_sdk/projects/client.py +445 -425
  45. label_studio_sdk/projects/exports/client.py +55 -55
  46. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  47. label_studio_sdk/projects/members/__init__.py +2 -0
  48. label_studio_sdk/projects/members/client.py +137 -0
  49. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  50. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  51. label_studio_sdk/prompts/client.py +211 -211
  52. label_studio_sdk/prompts/runs/client.py +33 -33
  53. label_studio_sdk/prompts/versions/client.py +72 -72
  54. label_studio_sdk/sso/__init__.py +5 -0
  55. label_studio_sdk/sso/client.py +22 -0
  56. label_studio_sdk/sso/saml/__init__.py +2 -0
  57. label_studio_sdk/sso/saml/client.py +278 -0
  58. label_studio_sdk/sso/scim/__init__.py +2 -0
  59. label_studio_sdk/sso/scim/client.py +278 -0
  60. label_studio_sdk/tasks/client.py +174 -174
  61. label_studio_sdk/types/__init__.py +18 -0
  62. label_studio_sdk/types/all_roles_project_list.py +94 -94
  63. label_studio_sdk/types/annotation.py +35 -35
  64. label_studio_sdk/types/annotation_request.py +27 -27
  65. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  66. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  67. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  68. label_studio_sdk/types/billing_checks.py +14 -14
  69. label_studio_sdk/types/billing_flags.py +16 -16
  70. label_studio_sdk/types/blueprint_list.py +7 -8
  71. label_studio_sdk/types/child_filter.py +11 -10
  72. label_studio_sdk/types/comment.py +15 -15
  73. label_studio_sdk/types/comment_request.py +7 -8
  74. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  75. label_studio_sdk/types/converted_format.py +1 -1
  76. label_studio_sdk/types/converted_format_request.py +1 -1
  77. label_studio_sdk/types/export.py +8 -8
  78. label_studio_sdk/types/file_upload.py +3 -2
  79. label_studio_sdk/types/filter.py +10 -9
  80. label_studio_sdk/types/filter_group.py +4 -3
  81. label_studio_sdk/types/gcs_export_storage.py +23 -23
  82. label_studio_sdk/types/gcs_import_storage.py +27 -27
  83. label_studio_sdk/types/import_api_request.py +26 -26
  84. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  85. label_studio_sdk/types/local_files_export_storage.py +23 -23
  86. label_studio_sdk/types/local_files_import_storage.py +26 -26
  87. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  88. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  89. label_studio_sdk/types/lse_export_create.py +12 -12
  90. label_studio_sdk/types/lse_fields.py +14 -14
  91. label_studio_sdk/types/lse_organization.py +17 -17
  92. label_studio_sdk/types/lse_organization_member_list.py +1 -1
  93. label_studio_sdk/types/lse_project_create.py +72 -72
  94. label_studio_sdk/types/lse_project_update.py +89 -89
  95. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  96. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  97. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  98. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  99. label_studio_sdk/types/lse_task.py +49 -49
  100. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  102. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  103. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  104. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  105. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  106. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  107. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  108. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  109. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  110. label_studio_sdk/types/lse_user.py +13 -13
  111. label_studio_sdk/types/lse_user_api.py +11 -11
  112. label_studio_sdk/types/lse_user_organization_member_list.py +13 -13
  113. label_studio_sdk/types/lseapi_token_create.py +1 -1
  114. label_studio_sdk/types/lseapi_token_list.py +1 -1
  115. label_studio_sdk/types/lsejwt_settings.py +5 -5
  116. label_studio_sdk/types/ml_backend.py +27 -28
  117. label_studio_sdk/types/model_interface.py +12 -12
  118. label_studio_sdk/types/model_interface_request.py +7 -8
  119. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  120. label_studio_sdk/types/model_provider_connection.py +34 -34
  121. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  122. label_studio_sdk/types/model_run.py +12 -12
  123. label_studio_sdk/types/organization_billing.py +1 -1
  124. label_studio_sdk/types/organization_id.py +2 -2
  125. label_studio_sdk/types/organization_invite.py +1 -1
  126. label_studio_sdk/types/organization_member.py +8 -9
  127. label_studio_sdk/types/organization_membership.py +2 -1
  128. label_studio_sdk/types/pause.py +23 -23
  129. label_studio_sdk/types/prediction.py +21 -21
  130. label_studio_sdk/types/prediction_request.py +16 -16
  131. label_studio_sdk/types/project.py +72 -72
  132. label_studio_sdk/types/project_group.py +22 -0
  133. label_studio_sdk/types/project_group_request.py +22 -0
  134. label_studio_sdk/types/project_group_role_enum.py +5 -0
  135. label_studio_sdk/types/project_import.py +21 -21
  136. label_studio_sdk/types/redis_export_storage.py +34 -34
  137. label_studio_sdk/types/redis_import_storage.py +37 -37
  138. label_studio_sdk/types/refined_prompt_response.py +11 -11
  139. label_studio_sdk/types/review_settings.py +29 -30
  140. label_studio_sdk/types/review_settings_request.py +29 -30
  141. label_studio_sdk/types/s3export_storage.py +45 -45
  142. label_studio_sdk/types/s3import_storage.py +44 -44
  143. label_studio_sdk/types/saml_settings.py +21 -0
  144. label_studio_sdk/types/saml_settings_update.py +22 -0
  145. label_studio_sdk/types/scim_settings.py +21 -0
  146. label_studio_sdk/types/scim_settings_update.py +22 -0
  147. label_studio_sdk/types/selected_items_request.py +1 -1
  148. label_studio_sdk/types/serialization_options.py +10 -10
  149. label_studio_sdk/types/serialization_options_request.py +10 -10
  150. label_studio_sdk/types/task_assignment.py +43 -0
  151. label_studio_sdk/types/third_party_model_version.py +11 -11
  152. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  153. label_studio_sdk/types/type_enum.py +5 -0
  154. label_studio_sdk/types/user_simple.py +3 -3
  155. label_studio_sdk/types/user_simple_request.py +1 -1
  156. label_studio_sdk/types/version_response.py +19 -20
  157. label_studio_sdk/types/view.py +8 -8
  158. label_studio_sdk/types/webhook.py +16 -16
  159. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  160. label_studio_sdk/types/workspace.py +10 -11
  161. label_studio_sdk/users/client.py +160 -160
  162. label_studio_sdk/views/client.py +164 -164
  163. label_studio_sdk/webhooks/client.py +183 -183
  164. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  165. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  171. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  172. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  173. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  174. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  175. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  176. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  177. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  178. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  179. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  180. label_studio_sdk/workspaces/client.py +40 -40
  181. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/METADATA +1 -1
  182. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/RECORD +184 -150
  183. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/LICENSE +0 -0
  184. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/WHEEL +0 -0
@@ -3,7 +3,9 @@
3
3
  import typing
4
4
  from ..core.client_wrapper import SyncClientWrapper
5
5
  from .exports.client import ExportsClient
6
+ from .members.client import MembersClient
6
7
  from .stats.client import StatsClient
8
+ from .assignments.client import AssignmentsClient
7
9
  from .pauses.client import PausesClient
8
10
  from .types.projects_list_request_filter import ProjectsListRequestFilter
9
11
  from ..core.request_options import RequestOptions
@@ -14,17 +16,17 @@ from ..core.unchecked_base_model import construct_type
14
16
  from json.decoder import JSONDecodeError
15
17
  from ..core.api_error import ApiError
16
18
  from ..types.user_simple_request import UserSimpleRequest
19
+ import datetime as dt
17
20
  from .types.lse_project_create_request_sampling import LseProjectCreateRequestSampling
18
21
  from .types.lse_project_create_request_skip_queue import LseProjectCreateRequestSkipQueue
19
- import datetime as dt
20
22
  from ..types.lse_project_create import LseProjectCreate
21
23
  from ..core.serialization import convert_and_respect_annotation_metadata
22
24
  from ..types.project import Project
23
25
  from ..core.jsonable_encoder import jsonable_encoder
26
+ from ..types.assignment_settings_request import AssignmentSettingsRequest
27
+ from ..types.review_settings_request import ReviewSettingsRequest
24
28
  from .types.patched_lse_project_update_request_sampling import PatchedLseProjectUpdateRequestSampling
25
29
  from .types.patched_lse_project_update_request_skip_queue import PatchedLseProjectUpdateRequestSkipQueue
26
- from ..types.review_settings_request import ReviewSettingsRequest
27
- from ..types.assignment_settings_request import AssignmentSettingsRequest
28
30
  from ..types.lse_project_update import LseProjectUpdate
29
31
  from ..types.mode_enum import ModeEnum
30
32
  from .types.projects_duplicate_response import ProjectsDuplicateResponse
@@ -34,7 +36,9 @@ from ..errors.bad_request_error import BadRequestError
34
36
  from ..types.project_label_config import ProjectLabelConfig
35
37
  from ..core.client_wrapper import AsyncClientWrapper
36
38
  from .exports.client import AsyncExportsClient
39
+ from .members.client import AsyncMembersClient
37
40
  from .stats.client import AsyncStatsClient
41
+ from .assignments.client import AsyncAssignmentsClient
38
42
  from .pauses.client import AsyncPausesClient
39
43
  from ..core.pagination import AsyncPager
40
44
 
@@ -46,7 +50,9 @@ class ProjectsClient:
46
50
  def __init__(self, *, client_wrapper: SyncClientWrapper):
47
51
  self._client_wrapper = client_wrapper
48
52
  self.exports = ExportsClient(client_wrapper=self._client_wrapper)
53
+ self.members = MembersClient(client_wrapper=self._client_wrapper)
49
54
  self.stats = StatsClient(client_wrapper=self._client_wrapper)
55
+ self.assignments = AssignmentsClient(client_wrapper=self._client_wrapper)
50
56
  self.pauses = PausesClient(client_wrapper=self._client_wrapper)
51
57
 
52
58
  def list(
@@ -55,6 +61,7 @@ class ProjectsClient:
55
61
  filter: typing.Optional[ProjectsListRequestFilter] = None,
56
62
  ids: typing.Optional[str] = None,
57
63
  include: typing.Optional[str] = None,
64
+ members_limit: typing.Optional[int] = None,
58
65
  ordering: typing.Optional[str] = None,
59
66
  page: typing.Optional[int] = None,
60
67
  page_size: typing.Optional[int] = None,
@@ -76,6 +83,9 @@ class ProjectsClient:
76
83
  include : typing.Optional[str]
77
84
  Comma-separated list of count fields to include in the response to optimize performance. Available fields: task_number, finished_task_number, total_predictions_number, total_annotations_number, num_tasks_with_annotations, useful_annotation_number, ground_truth_number, skipped_annotations_number. If not specified, all count fields are included.
78
85
 
86
+ members_limit : typing.Optional[int]
87
+ Maximum number of members to return.
88
+
79
89
  ordering : typing.Optional[str]
80
90
  Which field to use when ordering the results.
81
91
 
@@ -121,6 +131,7 @@ class ProjectsClient:
121
131
  "filter": filter,
122
132
  "ids": ids,
123
133
  "include": include,
134
+ "members_limit": members_limit,
124
135
  "ordering": ordering,
125
136
  "page": page,
126
137
  "page_size": page_size,
@@ -143,6 +154,7 @@ class ProjectsClient:
143
154
  filter=filter,
144
155
  ids=ids,
145
156
  include=include,
157
+ members_limit=members_limit,
146
158
  ordering=ordering,
147
159
  page=page + 1,
148
160
  page_size=page_size,
@@ -160,34 +172,34 @@ class ProjectsClient:
160
172
  def create(
161
173
  self,
162
174
  *,
163
- title: typing.Optional[str] = OMIT,
175
+ color: typing.Optional[str] = OMIT,
176
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
177
+ created_by: typing.Optional[UserSimpleRequest] = OMIT,
164
178
  description: typing.Optional[str] = OMIT,
165
- label_config: typing.Optional[str] = OMIT,
166
- expert_instruction: typing.Optional[str] = OMIT,
167
- show_instruction: typing.Optional[bool] = OMIT,
168
- show_skip_button: typing.Optional[bool] = OMIT,
169
179
  enable_empty_annotation: typing.Optional[bool] = OMIT,
170
- show_annotation_history: typing.Optional[bool] = OMIT,
171
- organization: typing.Optional[int] = OMIT,
172
- color: typing.Optional[str] = OMIT,
173
- maximum_annotations: typing.Optional[int] = OMIT,
174
- is_published: typing.Optional[bool] = OMIT,
175
- model_version: typing.Optional[str] = OMIT,
180
+ evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
181
+ expert_instruction: typing.Optional[str] = OMIT,
176
182
  is_draft: typing.Optional[bool] = OMIT,
177
- created_by: typing.Optional[UserSimpleRequest] = OMIT,
183
+ is_published: typing.Optional[bool] = OMIT,
184
+ label_config: typing.Optional[str] = OMIT,
185
+ maximum_annotations: typing.Optional[int] = OMIT,
178
186
  min_annotations_to_start_training: typing.Optional[int] = OMIT,
179
- show_collab_predictions: typing.Optional[bool] = OMIT,
187
+ model_version: typing.Optional[str] = OMIT,
188
+ organization: typing.Optional[int] = OMIT,
189
+ overlap_cohort_percentage: typing.Optional[int] = OMIT,
190
+ pinned_at: typing.Optional[dt.datetime] = OMIT,
191
+ reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
180
192
  sampling: typing.Optional[LseProjectCreateRequestSampling] = OMIT,
193
+ show_annotation_history: typing.Optional[bool] = OMIT,
194
+ show_collab_predictions: typing.Optional[bool] = OMIT,
181
195
  show_ground_truth_first: typing.Optional[bool] = OMIT,
196
+ show_instruction: typing.Optional[bool] = OMIT,
182
197
  show_overlap_first: typing.Optional[bool] = OMIT,
183
- overlap_cohort_percentage: typing.Optional[int] = OMIT,
198
+ show_skip_button: typing.Optional[bool] = OMIT,
199
+ skip_queue: typing.Optional[LseProjectCreateRequestSkipQueue] = OMIT,
184
200
  task_data_login: typing.Optional[str] = OMIT,
185
201
  task_data_password: typing.Optional[str] = OMIT,
186
- control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
187
- evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
188
- skip_queue: typing.Optional[LseProjectCreateRequestSkipQueue] = OMIT,
189
- reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
190
- pinned_at: typing.Optional[dt.datetime] = OMIT,
202
+ title: typing.Optional[str] = OMIT,
191
203
  workspace: typing.Optional[int] = OMIT,
192
204
  request_options: typing.Optional[RequestOptions] = None,
193
205
  ) -> LseProjectCreate:
@@ -196,62 +208,72 @@ class ProjectsClient:
196
208
 
197
209
  Parameters
198
210
  ----------
199
- title : typing.Optional[str]
200
- Project name. Must be between 3 and 50 characters long.
211
+ color : typing.Optional[str]
212
+
213
+ control_weights : typing.Optional[typing.Optional[typing.Any]]
214
+
215
+ created_by : typing.Optional[UserSimpleRequest]
216
+ Project owner
201
217
 
202
218
  description : typing.Optional[str]
203
219
  Project description
204
220
 
205
- label_config : typing.Optional[str]
206
- Label config in XML format. See more about it in documentation
221
+ enable_empty_annotation : typing.Optional[bool]
222
+ Allow annotators to submit empty annotations
223
+
224
+ evaluate_predictions_automatically : typing.Optional[bool]
225
+ Retrieve and display predictions when loading a task
207
226
 
208
227
  expert_instruction : typing.Optional[str]
209
228
  Labeling instructions in HTML format
210
229
 
211
- show_instruction : typing.Optional[bool]
212
- Show instructions to the annotator before they start
213
-
214
- show_skip_button : typing.Optional[bool]
215
- Show a skip button in interface and allow annotators to skip the task
216
-
217
- enable_empty_annotation : typing.Optional[bool]
218
- Allow annotators to submit empty annotations
219
-
220
- show_annotation_history : typing.Optional[bool]
221
- Show annotation history to annotator
230
+ is_draft : typing.Optional[bool]
231
+ Whether or not the project is in the middle of being created
222
232
 
223
- organization : typing.Optional[int]
233
+ is_published : typing.Optional[bool]
234
+ Whether or not the project is published to annotators
224
235
 
225
- color : typing.Optional[str]
236
+ label_config : typing.Optional[str]
237
+ Label config in XML format. See more about it in documentation
226
238
 
227
239
  maximum_annotations : typing.Optional[int]
228
240
  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)
229
241
 
230
- is_published : typing.Optional[bool]
231
- Whether or not the project is published to annotators
242
+ min_annotations_to_start_training : typing.Optional[int]
243
+ Minimum number of completed tasks after which model training is started
232
244
 
233
245
  model_version : typing.Optional[str]
234
246
  Machine learning model version
235
247
 
236
- is_draft : typing.Optional[bool]
237
- Whether or not the project is in the middle of being created
248
+ organization : typing.Optional[int]
238
249
 
239
- created_by : typing.Optional[UserSimpleRequest]
240
- Project owner
250
+ overlap_cohort_percentage : typing.Optional[int]
241
251
 
242
- min_annotations_to_start_training : typing.Optional[int]
243
- Minimum number of completed tasks after which model training is started
252
+ pinned_at : typing.Optional[dt.datetime]
253
+ Pinned date and time
244
254
 
245
- show_collab_predictions : typing.Optional[bool]
246
- If set, the annotator can view model predictions
255
+ reveal_preannotations_interactively : typing.Optional[bool]
256
+ Reveal pre-annotations interactively
247
257
 
248
258
  sampling : typing.Optional[LseProjectCreateRequestSampling]
249
259
 
260
+ show_annotation_history : typing.Optional[bool]
261
+ Show annotation history to annotator
262
+
263
+ show_collab_predictions : typing.Optional[bool]
264
+ If set, the annotator can view model predictions
265
+
250
266
  show_ground_truth_first : typing.Optional[bool]
251
267
 
268
+ show_instruction : typing.Optional[bool]
269
+ Show instructions to the annotator before they start
270
+
252
271
  show_overlap_first : typing.Optional[bool]
253
272
 
254
- overlap_cohort_percentage : typing.Optional[int]
273
+ show_skip_button : typing.Optional[bool]
274
+ Show a skip button in interface and allow annotators to skip the task
275
+
276
+ skip_queue : typing.Optional[LseProjectCreateRequestSkipQueue]
255
277
 
256
278
  task_data_login : typing.Optional[str]
257
279
  Task data credentials: login
@@ -259,18 +281,8 @@ class ProjectsClient:
259
281
  task_data_password : typing.Optional[str]
260
282
  Task data credentials: password
261
283
 
262
- control_weights : typing.Optional[typing.Optional[typing.Any]]
263
-
264
- evaluate_predictions_automatically : typing.Optional[bool]
265
- Retrieve and display predictions when loading a task
266
-
267
- skip_queue : typing.Optional[LseProjectCreateRequestSkipQueue]
268
-
269
- reveal_preannotations_interactively : typing.Optional[bool]
270
- Reveal pre-annotations interactively
271
-
272
- pinned_at : typing.Optional[dt.datetime]
273
- Pinned date and time
284
+ title : typing.Optional[str]
285
+ Project name. Must be between 3 and 50 characters long.
274
286
 
275
287
  workspace : typing.Optional[int]
276
288
 
@@ -295,40 +307,40 @@ class ProjectsClient:
295
307
  "api/projects/",
296
308
  method="POST",
297
309
  json={
298
- "title": title,
299
- "description": description,
300
- "label_config": label_config,
301
- "expert_instruction": expert_instruction,
302
- "show_instruction": show_instruction,
303
- "show_skip_button": show_skip_button,
304
- "enable_empty_annotation": enable_empty_annotation,
305
- "show_annotation_history": show_annotation_history,
306
- "organization": organization,
307
310
  "color": color,
308
- "maximum_annotations": maximum_annotations,
309
- "is_published": is_published,
310
- "model_version": model_version,
311
- "is_draft": is_draft,
311
+ "control_weights": control_weights,
312
312
  "created_by": convert_and_respect_annotation_metadata(
313
313
  object_=created_by, annotation=UserSimpleRequest, direction="write"
314
314
  ),
315
+ "description": description,
316
+ "enable_empty_annotation": enable_empty_annotation,
317
+ "evaluate_predictions_automatically": evaluate_predictions_automatically,
318
+ "expert_instruction": expert_instruction,
319
+ "is_draft": is_draft,
320
+ "is_published": is_published,
321
+ "label_config": label_config,
322
+ "maximum_annotations": maximum_annotations,
315
323
  "min_annotations_to_start_training": min_annotations_to_start_training,
316
- "show_collab_predictions": show_collab_predictions,
324
+ "model_version": model_version,
325
+ "organization": organization,
326
+ "overlap_cohort_percentage": overlap_cohort_percentage,
327
+ "pinned_at": pinned_at,
328
+ "reveal_preannotations_interactively": reveal_preannotations_interactively,
317
329
  "sampling": convert_and_respect_annotation_metadata(
318
330
  object_=sampling, annotation=LseProjectCreateRequestSampling, direction="write"
319
331
  ),
332
+ "show_annotation_history": show_annotation_history,
333
+ "show_collab_predictions": show_collab_predictions,
320
334
  "show_ground_truth_first": show_ground_truth_first,
335
+ "show_instruction": show_instruction,
321
336
  "show_overlap_first": show_overlap_first,
322
- "overlap_cohort_percentage": overlap_cohort_percentage,
323
- "task_data_login": task_data_login,
324
- "task_data_password": task_data_password,
325
- "control_weights": control_weights,
326
- "evaluate_predictions_automatically": evaluate_predictions_automatically,
337
+ "show_skip_button": show_skip_button,
327
338
  "skip_queue": convert_and_respect_annotation_metadata(
328
339
  object_=skip_queue, annotation=LseProjectCreateRequestSkipQueue, direction="write"
329
340
  ),
330
- "reveal_preannotations_interactively": reveal_preannotations_interactively,
331
- "pinned_at": pinned_at,
341
+ "task_data_login": task_data_login,
342
+ "task_data_password": task_data_password,
343
+ "title": title,
332
344
  "workspace": workspace,
333
345
  },
334
346
  headers={
@@ -440,46 +452,46 @@ class ProjectsClient:
440
452
  self,
441
453
  id: int,
442
454
  *,
443
- title: typing.Optional[str] = OMIT,
455
+ annotation_limit_count: typing.Optional[int] = OMIT,
456
+ annotation_limit_percent: typing.Optional[str] = OMIT,
457
+ annotator_evaluation_minimum_score: typing.Optional[str] = OMIT,
458
+ annotator_evaluation_minimum_tasks: typing.Optional[int] = OMIT,
459
+ assignment_settings: typing.Optional[AssignmentSettingsRequest] = OMIT,
460
+ color: typing.Optional[str] = OMIT,
461
+ comment_classification_config: typing.Optional[str] = OMIT,
462
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
463
+ created_by: typing.Optional[UserSimpleRequest] = OMIT,
464
+ custom_script: typing.Optional[str] = OMIT,
465
+ custom_task_lock_ttl: typing.Optional[int] = OMIT,
444
466
  description: typing.Optional[str] = OMIT,
445
- label_config: typing.Optional[str] = OMIT,
446
- expert_instruction: typing.Optional[str] = OMIT,
447
- show_instruction: typing.Optional[bool] = OMIT,
448
- show_skip_button: typing.Optional[bool] = OMIT,
449
467
  enable_empty_annotation: typing.Optional[bool] = OMIT,
450
- show_annotation_history: typing.Optional[bool] = OMIT,
451
- organization: typing.Optional[int] = OMIT,
452
- color: typing.Optional[str] = OMIT,
453
- maximum_annotations: typing.Optional[int] = OMIT,
454
- is_published: typing.Optional[bool] = OMIT,
455
- model_version: typing.Optional[str] = OMIT,
468
+ evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
469
+ expert_instruction: typing.Optional[str] = OMIT,
456
470
  is_draft: typing.Optional[bool] = OMIT,
457
- created_by: typing.Optional[UserSimpleRequest] = OMIT,
471
+ is_published: typing.Optional[bool] = OMIT,
472
+ label_config: typing.Optional[str] = OMIT,
473
+ maximum_annotations: typing.Optional[int] = OMIT,
458
474
  min_annotations_to_start_training: typing.Optional[int] = OMIT,
459
- show_collab_predictions: typing.Optional[bool] = OMIT,
475
+ model_version: typing.Optional[str] = OMIT,
476
+ organization: typing.Optional[int] = OMIT,
477
+ overlap_cohort_percentage: typing.Optional[int] = OMIT,
478
+ pause_on_failed_annotator_evaluation: typing.Optional[bool] = OMIT,
479
+ pinned_at: typing.Optional[dt.datetime] = OMIT,
480
+ require_comment_on_skip: typing.Optional[bool] = OMIT,
481
+ reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
482
+ review_settings: typing.Optional[ReviewSettingsRequest] = OMIT,
460
483
  sampling: typing.Optional[PatchedLseProjectUpdateRequestSampling] = OMIT,
484
+ show_annotation_history: typing.Optional[bool] = OMIT,
485
+ show_collab_predictions: typing.Optional[bool] = OMIT,
461
486
  show_ground_truth_first: typing.Optional[bool] = OMIT,
487
+ show_instruction: typing.Optional[bool] = OMIT,
462
488
  show_overlap_first: typing.Optional[bool] = OMIT,
463
- overlap_cohort_percentage: typing.Optional[int] = OMIT,
489
+ show_skip_button: typing.Optional[bool] = OMIT,
490
+ skip_queue: typing.Optional[PatchedLseProjectUpdateRequestSkipQueue] = OMIT,
464
491
  task_data_login: typing.Optional[str] = OMIT,
465
492
  task_data_password: typing.Optional[str] = OMIT,
466
- control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
467
- evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
468
- skip_queue: typing.Optional[PatchedLseProjectUpdateRequestSkipQueue] = OMIT,
469
- reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
470
- pinned_at: typing.Optional[dt.datetime] = OMIT,
493
+ title: typing.Optional[str] = OMIT,
471
494
  workspace: typing.Optional[int] = OMIT,
472
- review_settings: typing.Optional[ReviewSettingsRequest] = OMIT,
473
- assignment_settings: typing.Optional[AssignmentSettingsRequest] = OMIT,
474
- custom_script: typing.Optional[str] = OMIT,
475
- comment_classification_config: typing.Optional[str] = OMIT,
476
- require_comment_on_skip: typing.Optional[bool] = OMIT,
477
- custom_task_lock_ttl: typing.Optional[int] = OMIT,
478
- annotation_limit_count: typing.Optional[int] = OMIT,
479
- annotation_limit_percent: typing.Optional[str] = OMIT,
480
- pause_on_failed_annotator_evaluation: typing.Optional[bool] = OMIT,
481
- annotator_evaluation_minimum_score: typing.Optional[str] = OMIT,
482
- annotator_evaluation_minimum_tasks: typing.Optional[int] = OMIT,
483
495
  request_options: typing.Optional[RequestOptions] = None,
484
496
  ) -> LseProjectUpdate:
485
497
  """
@@ -489,106 +501,106 @@ class ProjectsClient:
489
501
  ----------
490
502
  id : int
491
503
 
492
- title : typing.Optional[str]
493
- Project name. Must be between 3 and 50 characters long.
504
+ annotation_limit_count : typing.Optional[int]
494
505
 
495
- description : typing.Optional[str]
496
- Project description
506
+ annotation_limit_percent : typing.Optional[str]
497
507
 
498
- label_config : typing.Optional[str]
499
- Label config in XML format. See more about it in documentation
508
+ annotator_evaluation_minimum_score : typing.Optional[str]
500
509
 
501
- expert_instruction : typing.Optional[str]
502
- Labeling instructions in HTML format
510
+ annotator_evaluation_minimum_tasks : typing.Optional[int]
503
511
 
504
- show_instruction : typing.Optional[bool]
505
- Show instructions to the annotator before they start
512
+ assignment_settings : typing.Optional[AssignmentSettingsRequest]
506
513
 
507
- show_skip_button : typing.Optional[bool]
508
- Show a skip button in interface and allow annotators to skip the task
514
+ color : typing.Optional[str]
509
515
 
510
- enable_empty_annotation : typing.Optional[bool]
511
- Allow annotators to submit empty annotations
516
+ comment_classification_config : typing.Optional[str]
512
517
 
513
- show_annotation_history : typing.Optional[bool]
514
- Show annotation history to annotator
518
+ control_weights : typing.Optional[typing.Optional[typing.Any]]
515
519
 
516
- organization : typing.Optional[int]
520
+ created_by : typing.Optional[UserSimpleRequest]
521
+ Project owner
517
522
 
518
- color : typing.Optional[str]
523
+ custom_script : typing.Optional[str]
519
524
 
520
- maximum_annotations : typing.Optional[int]
521
- 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)
525
+ custom_task_lock_ttl : typing.Optional[int]
526
+ TTL in seconds for task reservations, on new and existing tasks
522
527
 
523
- is_published : typing.Optional[bool]
524
- Whether or not the project is published to annotators
528
+ description : typing.Optional[str]
529
+ Project description
525
530
 
526
- model_version : typing.Optional[str]
527
- Machine learning model version
531
+ enable_empty_annotation : typing.Optional[bool]
532
+ Allow annotators to submit empty annotations
533
+
534
+ evaluate_predictions_automatically : typing.Optional[bool]
535
+ Retrieve and display predictions when loading a task
536
+
537
+ expert_instruction : typing.Optional[str]
538
+ Labeling instructions in HTML format
528
539
 
529
540
  is_draft : typing.Optional[bool]
530
541
  Whether or not the project is in the middle of being created
531
542
 
532
- created_by : typing.Optional[UserSimpleRequest]
533
- Project owner
543
+ is_published : typing.Optional[bool]
544
+ Whether or not the project is published to annotators
534
545
 
535
- min_annotations_to_start_training : typing.Optional[int]
536
- Minimum number of completed tasks after which model training is started
546
+ label_config : typing.Optional[str]
547
+ Label config in XML format. See more about it in documentation
537
548
 
538
- show_collab_predictions : typing.Optional[bool]
539
- If set, the annotator can view model predictions
549
+ maximum_annotations : typing.Optional[int]
550
+ 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)
540
551
 
541
- sampling : typing.Optional[PatchedLseProjectUpdateRequestSampling]
552
+ min_annotations_to_start_training : typing.Optional[int]
553
+ Minimum number of completed tasks after which model training is started
542
554
 
543
- show_ground_truth_first : typing.Optional[bool]
555
+ model_version : typing.Optional[str]
556
+ Machine learning model version
544
557
 
545
- show_overlap_first : typing.Optional[bool]
558
+ organization : typing.Optional[int]
546
559
 
547
560
  overlap_cohort_percentage : typing.Optional[int]
548
561
 
549
- task_data_login : typing.Optional[str]
550
- Task data credentials: login
551
-
552
- task_data_password : typing.Optional[str]
553
- Task data credentials: password
554
-
555
- control_weights : typing.Optional[typing.Optional[typing.Any]]
562
+ pause_on_failed_annotator_evaluation : typing.Optional[bool]
556
563
 
557
- evaluate_predictions_automatically : typing.Optional[bool]
558
- Retrieve and display predictions when loading a task
564
+ pinned_at : typing.Optional[dt.datetime]
565
+ Pinned date and time
559
566
 
560
- skip_queue : typing.Optional[PatchedLseProjectUpdateRequestSkipQueue]
567
+ require_comment_on_skip : typing.Optional[bool]
561
568
 
562
569
  reveal_preannotations_interactively : typing.Optional[bool]
563
570
  Reveal pre-annotations interactively
564
571
 
565
- pinned_at : typing.Optional[dt.datetime]
566
- Pinned date and time
572
+ review_settings : typing.Optional[ReviewSettingsRequest]
567
573
 
568
- workspace : typing.Optional[int]
574
+ sampling : typing.Optional[PatchedLseProjectUpdateRequestSampling]
569
575
 
570
- review_settings : typing.Optional[ReviewSettingsRequest]
576
+ show_annotation_history : typing.Optional[bool]
577
+ Show annotation history to annotator
571
578
 
572
- assignment_settings : typing.Optional[AssignmentSettingsRequest]
579
+ show_collab_predictions : typing.Optional[bool]
580
+ If set, the annotator can view model predictions
573
581
 
574
- custom_script : typing.Optional[str]
582
+ show_ground_truth_first : typing.Optional[bool]
575
583
 
576
- comment_classification_config : typing.Optional[str]
584
+ show_instruction : typing.Optional[bool]
585
+ Show instructions to the annotator before they start
577
586
 
578
- require_comment_on_skip : typing.Optional[bool]
587
+ show_overlap_first : typing.Optional[bool]
579
588
 
580
- custom_task_lock_ttl : typing.Optional[int]
581
- TTL in seconds for task reservations, on new and existing tasks
589
+ show_skip_button : typing.Optional[bool]
590
+ Show a skip button in interface and allow annotators to skip the task
582
591
 
583
- annotation_limit_count : typing.Optional[int]
592
+ skip_queue : typing.Optional[PatchedLseProjectUpdateRequestSkipQueue]
584
593
 
585
- annotation_limit_percent : typing.Optional[str]
594
+ task_data_login : typing.Optional[str]
595
+ Task data credentials: login
586
596
 
587
- pause_on_failed_annotator_evaluation : typing.Optional[bool]
597
+ task_data_password : typing.Optional[str]
598
+ Task data credentials: password
588
599
 
589
- annotator_evaluation_minimum_score : typing.Optional[str]
600
+ title : typing.Optional[str]
601
+ Project name. Must be between 3 and 50 characters long.
590
602
 
591
- annotator_evaluation_minimum_tasks : typing.Optional[int]
603
+ workspace : typing.Optional[int]
592
604
 
593
605
  request_options : typing.Optional[RequestOptions]
594
606
  Request-specific configuration.
@@ -613,56 +625,56 @@ class ProjectsClient:
613
625
  f"api/projects/{jsonable_encoder(id)}/",
614
626
  method="PATCH",
615
627
  json={
616
- "title": title,
617
- "description": description,
618
- "label_config": label_config,
619
- "expert_instruction": expert_instruction,
620
- "show_instruction": show_instruction,
621
- "show_skip_button": show_skip_button,
622
- "enable_empty_annotation": enable_empty_annotation,
623
- "show_annotation_history": show_annotation_history,
624
- "organization": organization,
628
+ "annotation_limit_count": annotation_limit_count,
629
+ "annotation_limit_percent": annotation_limit_percent,
630
+ "annotator_evaluation_minimum_score": annotator_evaluation_minimum_score,
631
+ "annotator_evaluation_minimum_tasks": annotator_evaluation_minimum_tasks,
632
+ "assignment_settings": convert_and_respect_annotation_metadata(
633
+ object_=assignment_settings, annotation=AssignmentSettingsRequest, direction="write"
634
+ ),
625
635
  "color": color,
626
- "maximum_annotations": maximum_annotations,
627
- "is_published": is_published,
628
- "model_version": model_version,
629
- "is_draft": is_draft,
636
+ "comment_classification_config": comment_classification_config,
637
+ "control_weights": control_weights,
630
638
  "created_by": convert_and_respect_annotation_metadata(
631
639
  object_=created_by, annotation=UserSimpleRequest, direction="write"
632
640
  ),
641
+ "custom_script": custom_script,
642
+ "custom_task_lock_ttl": custom_task_lock_ttl,
643
+ "description": description,
644
+ "enable_empty_annotation": enable_empty_annotation,
645
+ "evaluate_predictions_automatically": evaluate_predictions_automatically,
646
+ "expert_instruction": expert_instruction,
647
+ "is_draft": is_draft,
648
+ "is_published": is_published,
649
+ "label_config": label_config,
650
+ "maximum_annotations": maximum_annotations,
633
651
  "min_annotations_to_start_training": min_annotations_to_start_training,
634
- "show_collab_predictions": show_collab_predictions,
652
+ "model_version": model_version,
653
+ "organization": organization,
654
+ "overlap_cohort_percentage": overlap_cohort_percentage,
655
+ "pause_on_failed_annotator_evaluation": pause_on_failed_annotator_evaluation,
656
+ "pinned_at": pinned_at,
657
+ "require_comment_on_skip": require_comment_on_skip,
658
+ "reveal_preannotations_interactively": reveal_preannotations_interactively,
659
+ "review_settings": convert_and_respect_annotation_metadata(
660
+ object_=review_settings, annotation=ReviewSettingsRequest, direction="write"
661
+ ),
635
662
  "sampling": convert_and_respect_annotation_metadata(
636
663
  object_=sampling, annotation=PatchedLseProjectUpdateRequestSampling, direction="write"
637
664
  ),
665
+ "show_annotation_history": show_annotation_history,
666
+ "show_collab_predictions": show_collab_predictions,
638
667
  "show_ground_truth_first": show_ground_truth_first,
668
+ "show_instruction": show_instruction,
639
669
  "show_overlap_first": show_overlap_first,
640
- "overlap_cohort_percentage": overlap_cohort_percentage,
641
- "task_data_login": task_data_login,
642
- "task_data_password": task_data_password,
643
- "control_weights": control_weights,
644
- "evaluate_predictions_automatically": evaluate_predictions_automatically,
670
+ "show_skip_button": show_skip_button,
645
671
  "skip_queue": convert_and_respect_annotation_metadata(
646
672
  object_=skip_queue, annotation=PatchedLseProjectUpdateRequestSkipQueue, direction="write"
647
673
  ),
648
- "reveal_preannotations_interactively": reveal_preannotations_interactively,
649
- "pinned_at": pinned_at,
674
+ "task_data_login": task_data_login,
675
+ "task_data_password": task_data_password,
676
+ "title": title,
650
677
  "workspace": workspace,
651
- "review_settings": convert_and_respect_annotation_metadata(
652
- object_=review_settings, annotation=ReviewSettingsRequest, direction="write"
653
- ),
654
- "assignment_settings": convert_and_respect_annotation_metadata(
655
- object_=assignment_settings, annotation=AssignmentSettingsRequest, direction="write"
656
- ),
657
- "custom_script": custom_script,
658
- "comment_classification_config": comment_classification_config,
659
- "require_comment_on_skip": require_comment_on_skip,
660
- "custom_task_lock_ttl": custom_task_lock_ttl,
661
- "annotation_limit_count": annotation_limit_count,
662
- "annotation_limit_percent": annotation_limit_percent,
663
- "pause_on_failed_annotator_evaluation": pause_on_failed_annotator_evaluation,
664
- "annotator_evaluation_minimum_score": annotator_evaluation_minimum_score,
665
- "annotator_evaluation_minimum_tasks": annotator_evaluation_minimum_tasks,
666
678
  },
667
679
  headers={
668
680
  "content-type": "application/json",
@@ -689,8 +701,8 @@ class ProjectsClient:
689
701
  id: int,
690
702
  *,
691
703
  mode: ModeEnum,
692
- workspace: int,
693
704
  title: str,
705
+ workspace: int,
694
706
  description: typing.Optional[str] = OMIT,
695
707
  request_options: typing.Optional[RequestOptions] = None,
696
708
  ) -> ProjectsDuplicateResponse:
@@ -707,12 +719,12 @@ class ProjectsClient:
707
719
  * `settings` - Only settings
708
720
  * `settings,data` - Settings and tasks
709
721
 
710
- workspace : int
711
- Workspace, where to place duplicated project
712
-
713
722
  title : str
714
723
  Title of duplicated project
715
724
 
725
+ workspace : int
726
+ Workspace, where to place duplicated project
727
+
716
728
  description : typing.Optional[str]
717
729
  Description of duplicated project
718
730
 
@@ -734,18 +746,18 @@ class ProjectsClient:
734
746
  client.projects.duplicate(
735
747
  id=1,
736
748
  mode="settings",
737
- workspace=1,
738
749
  title="title",
750
+ workspace=1,
739
751
  )
740
752
  """
741
753
  _response = self._client_wrapper.httpx_client.request(
742
754
  f"api/projects/{jsonable_encoder(id)}/duplicate/",
743
755
  method="POST",
744
756
  json={
757
+ "description": description,
745
758
  "mode": mode,
746
- "workspace": workspace,
747
759
  "title": title,
748
- "description": description,
760
+ "workspace": workspace,
749
761
  },
750
762
  headers={
751
763
  "content-type": "application/json",
@@ -967,7 +979,9 @@ class AsyncProjectsClient:
967
979
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
968
980
  self._client_wrapper = client_wrapper
969
981
  self.exports = AsyncExportsClient(client_wrapper=self._client_wrapper)
982
+ self.members = AsyncMembersClient(client_wrapper=self._client_wrapper)
970
983
  self.stats = AsyncStatsClient(client_wrapper=self._client_wrapper)
984
+ self.assignments = AsyncAssignmentsClient(client_wrapper=self._client_wrapper)
971
985
  self.pauses = AsyncPausesClient(client_wrapper=self._client_wrapper)
972
986
 
973
987
  async def list(
@@ -976,6 +990,7 @@ class AsyncProjectsClient:
976
990
  filter: typing.Optional[ProjectsListRequestFilter] = None,
977
991
  ids: typing.Optional[str] = None,
978
992
  include: typing.Optional[str] = None,
993
+ members_limit: typing.Optional[int] = None,
979
994
  ordering: typing.Optional[str] = None,
980
995
  page: typing.Optional[int] = None,
981
996
  page_size: typing.Optional[int] = None,
@@ -997,6 +1012,9 @@ class AsyncProjectsClient:
997
1012
  include : typing.Optional[str]
998
1013
  Comma-separated list of count fields to include in the response to optimize performance. Available fields: task_number, finished_task_number, total_predictions_number, total_annotations_number, num_tasks_with_annotations, useful_annotation_number, ground_truth_number, skipped_annotations_number. If not specified, all count fields are included.
999
1014
 
1015
+ members_limit : typing.Optional[int]
1016
+ Maximum number of members to return.
1017
+
1000
1018
  ordering : typing.Optional[str]
1001
1019
  Which field to use when ordering the results.
1002
1020
 
@@ -1050,6 +1068,7 @@ class AsyncProjectsClient:
1050
1068
  "filter": filter,
1051
1069
  "ids": ids,
1052
1070
  "include": include,
1071
+ "members_limit": members_limit,
1053
1072
  "ordering": ordering,
1054
1073
  "page": page,
1055
1074
  "page_size": page_size,
@@ -1072,6 +1091,7 @@ class AsyncProjectsClient:
1072
1091
  filter=filter,
1073
1092
  ids=ids,
1074
1093
  include=include,
1094
+ members_limit=members_limit,
1075
1095
  ordering=ordering,
1076
1096
  page=page + 1,
1077
1097
  page_size=page_size,
@@ -1089,34 +1109,34 @@ class AsyncProjectsClient:
1089
1109
  async def create(
1090
1110
  self,
1091
1111
  *,
1092
- title: typing.Optional[str] = OMIT,
1112
+ color: typing.Optional[str] = OMIT,
1113
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1114
+ created_by: typing.Optional[UserSimpleRequest] = OMIT,
1093
1115
  description: typing.Optional[str] = OMIT,
1094
- label_config: typing.Optional[str] = OMIT,
1095
- expert_instruction: typing.Optional[str] = OMIT,
1096
- show_instruction: typing.Optional[bool] = OMIT,
1097
- show_skip_button: typing.Optional[bool] = OMIT,
1098
1116
  enable_empty_annotation: typing.Optional[bool] = OMIT,
1099
- show_annotation_history: typing.Optional[bool] = OMIT,
1100
- organization: typing.Optional[int] = OMIT,
1101
- color: typing.Optional[str] = OMIT,
1102
- maximum_annotations: typing.Optional[int] = OMIT,
1103
- is_published: typing.Optional[bool] = OMIT,
1104
- model_version: typing.Optional[str] = OMIT,
1117
+ evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
1118
+ expert_instruction: typing.Optional[str] = OMIT,
1105
1119
  is_draft: typing.Optional[bool] = OMIT,
1106
- created_by: typing.Optional[UserSimpleRequest] = OMIT,
1120
+ is_published: typing.Optional[bool] = OMIT,
1121
+ label_config: typing.Optional[str] = OMIT,
1122
+ maximum_annotations: typing.Optional[int] = OMIT,
1107
1123
  min_annotations_to_start_training: typing.Optional[int] = OMIT,
1108
- show_collab_predictions: typing.Optional[bool] = OMIT,
1124
+ model_version: typing.Optional[str] = OMIT,
1125
+ organization: typing.Optional[int] = OMIT,
1126
+ overlap_cohort_percentage: typing.Optional[int] = OMIT,
1127
+ pinned_at: typing.Optional[dt.datetime] = OMIT,
1128
+ reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
1109
1129
  sampling: typing.Optional[LseProjectCreateRequestSampling] = OMIT,
1130
+ show_annotation_history: typing.Optional[bool] = OMIT,
1131
+ show_collab_predictions: typing.Optional[bool] = OMIT,
1110
1132
  show_ground_truth_first: typing.Optional[bool] = OMIT,
1133
+ show_instruction: typing.Optional[bool] = OMIT,
1111
1134
  show_overlap_first: typing.Optional[bool] = OMIT,
1112
- overlap_cohort_percentage: typing.Optional[int] = OMIT,
1135
+ show_skip_button: typing.Optional[bool] = OMIT,
1136
+ skip_queue: typing.Optional[LseProjectCreateRequestSkipQueue] = OMIT,
1113
1137
  task_data_login: typing.Optional[str] = OMIT,
1114
1138
  task_data_password: typing.Optional[str] = OMIT,
1115
- control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1116
- evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
1117
- skip_queue: typing.Optional[LseProjectCreateRequestSkipQueue] = OMIT,
1118
- reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
1119
- pinned_at: typing.Optional[dt.datetime] = OMIT,
1139
+ title: typing.Optional[str] = OMIT,
1120
1140
  workspace: typing.Optional[int] = OMIT,
1121
1141
  request_options: typing.Optional[RequestOptions] = None,
1122
1142
  ) -> LseProjectCreate:
@@ -1125,62 +1145,72 @@ class AsyncProjectsClient:
1125
1145
 
1126
1146
  Parameters
1127
1147
  ----------
1128
- title : typing.Optional[str]
1129
- Project name. Must be between 3 and 50 characters long.
1148
+ color : typing.Optional[str]
1149
+
1150
+ control_weights : typing.Optional[typing.Optional[typing.Any]]
1151
+
1152
+ created_by : typing.Optional[UserSimpleRequest]
1153
+ Project owner
1130
1154
 
1131
1155
  description : typing.Optional[str]
1132
1156
  Project description
1133
1157
 
1134
- label_config : typing.Optional[str]
1135
- Label config in XML format. See more about it in documentation
1158
+ enable_empty_annotation : typing.Optional[bool]
1159
+ Allow annotators to submit empty annotations
1160
+
1161
+ evaluate_predictions_automatically : typing.Optional[bool]
1162
+ Retrieve and display predictions when loading a task
1136
1163
 
1137
1164
  expert_instruction : typing.Optional[str]
1138
1165
  Labeling instructions in HTML format
1139
1166
 
1140
- show_instruction : typing.Optional[bool]
1141
- Show instructions to the annotator before they start
1142
-
1143
- show_skip_button : typing.Optional[bool]
1144
- Show a skip button in interface and allow annotators to skip the task
1145
-
1146
- enable_empty_annotation : typing.Optional[bool]
1147
- Allow annotators to submit empty annotations
1148
-
1149
- show_annotation_history : typing.Optional[bool]
1150
- Show annotation history to annotator
1167
+ is_draft : typing.Optional[bool]
1168
+ Whether or not the project is in the middle of being created
1151
1169
 
1152
- organization : typing.Optional[int]
1170
+ is_published : typing.Optional[bool]
1171
+ Whether or not the project is published to annotators
1153
1172
 
1154
- color : typing.Optional[str]
1173
+ label_config : typing.Optional[str]
1174
+ Label config in XML format. See more about it in documentation
1155
1175
 
1156
1176
  maximum_annotations : typing.Optional[int]
1157
1177
  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)
1158
1178
 
1159
- is_published : typing.Optional[bool]
1160
- Whether or not the project is published to annotators
1179
+ min_annotations_to_start_training : typing.Optional[int]
1180
+ Minimum number of completed tasks after which model training is started
1161
1181
 
1162
1182
  model_version : typing.Optional[str]
1163
1183
  Machine learning model version
1164
1184
 
1165
- is_draft : typing.Optional[bool]
1166
- Whether or not the project is in the middle of being created
1185
+ organization : typing.Optional[int]
1167
1186
 
1168
- created_by : typing.Optional[UserSimpleRequest]
1169
- Project owner
1187
+ overlap_cohort_percentage : typing.Optional[int]
1170
1188
 
1171
- min_annotations_to_start_training : typing.Optional[int]
1172
- Minimum number of completed tasks after which model training is started
1189
+ pinned_at : typing.Optional[dt.datetime]
1190
+ Pinned date and time
1173
1191
 
1174
- show_collab_predictions : typing.Optional[bool]
1175
- If set, the annotator can view model predictions
1192
+ reveal_preannotations_interactively : typing.Optional[bool]
1193
+ Reveal pre-annotations interactively
1176
1194
 
1177
1195
  sampling : typing.Optional[LseProjectCreateRequestSampling]
1178
1196
 
1197
+ show_annotation_history : typing.Optional[bool]
1198
+ Show annotation history to annotator
1199
+
1200
+ show_collab_predictions : typing.Optional[bool]
1201
+ If set, the annotator can view model predictions
1202
+
1179
1203
  show_ground_truth_first : typing.Optional[bool]
1180
1204
 
1205
+ show_instruction : typing.Optional[bool]
1206
+ Show instructions to the annotator before they start
1207
+
1181
1208
  show_overlap_first : typing.Optional[bool]
1182
1209
 
1183
- overlap_cohort_percentage : typing.Optional[int]
1210
+ show_skip_button : typing.Optional[bool]
1211
+ Show a skip button in interface and allow annotators to skip the task
1212
+
1213
+ skip_queue : typing.Optional[LseProjectCreateRequestSkipQueue]
1184
1214
 
1185
1215
  task_data_login : typing.Optional[str]
1186
1216
  Task data credentials: login
@@ -1188,18 +1218,8 @@ class AsyncProjectsClient:
1188
1218
  task_data_password : typing.Optional[str]
1189
1219
  Task data credentials: password
1190
1220
 
1191
- control_weights : typing.Optional[typing.Optional[typing.Any]]
1192
-
1193
- evaluate_predictions_automatically : typing.Optional[bool]
1194
- Retrieve and display predictions when loading a task
1195
-
1196
- skip_queue : typing.Optional[LseProjectCreateRequestSkipQueue]
1197
-
1198
- reveal_preannotations_interactively : typing.Optional[bool]
1199
- Reveal pre-annotations interactively
1200
-
1201
- pinned_at : typing.Optional[dt.datetime]
1202
- Pinned date and time
1221
+ title : typing.Optional[str]
1222
+ Project name. Must be between 3 and 50 characters long.
1203
1223
 
1204
1224
  workspace : typing.Optional[int]
1205
1225
 
@@ -1232,40 +1252,40 @@ class AsyncProjectsClient:
1232
1252
  "api/projects/",
1233
1253
  method="POST",
1234
1254
  json={
1235
- "title": title,
1236
- "description": description,
1237
- "label_config": label_config,
1238
- "expert_instruction": expert_instruction,
1239
- "show_instruction": show_instruction,
1240
- "show_skip_button": show_skip_button,
1241
- "enable_empty_annotation": enable_empty_annotation,
1242
- "show_annotation_history": show_annotation_history,
1243
- "organization": organization,
1244
1255
  "color": color,
1245
- "maximum_annotations": maximum_annotations,
1246
- "is_published": is_published,
1247
- "model_version": model_version,
1248
- "is_draft": is_draft,
1256
+ "control_weights": control_weights,
1249
1257
  "created_by": convert_and_respect_annotation_metadata(
1250
1258
  object_=created_by, annotation=UserSimpleRequest, direction="write"
1251
1259
  ),
1260
+ "description": description,
1261
+ "enable_empty_annotation": enable_empty_annotation,
1262
+ "evaluate_predictions_automatically": evaluate_predictions_automatically,
1263
+ "expert_instruction": expert_instruction,
1264
+ "is_draft": is_draft,
1265
+ "is_published": is_published,
1266
+ "label_config": label_config,
1267
+ "maximum_annotations": maximum_annotations,
1252
1268
  "min_annotations_to_start_training": min_annotations_to_start_training,
1253
- "show_collab_predictions": show_collab_predictions,
1269
+ "model_version": model_version,
1270
+ "organization": organization,
1271
+ "overlap_cohort_percentage": overlap_cohort_percentage,
1272
+ "pinned_at": pinned_at,
1273
+ "reveal_preannotations_interactively": reveal_preannotations_interactively,
1254
1274
  "sampling": convert_and_respect_annotation_metadata(
1255
1275
  object_=sampling, annotation=LseProjectCreateRequestSampling, direction="write"
1256
1276
  ),
1277
+ "show_annotation_history": show_annotation_history,
1278
+ "show_collab_predictions": show_collab_predictions,
1257
1279
  "show_ground_truth_first": show_ground_truth_first,
1280
+ "show_instruction": show_instruction,
1258
1281
  "show_overlap_first": show_overlap_first,
1259
- "overlap_cohort_percentage": overlap_cohort_percentage,
1260
- "task_data_login": task_data_login,
1261
- "task_data_password": task_data_password,
1262
- "control_weights": control_weights,
1263
- "evaluate_predictions_automatically": evaluate_predictions_automatically,
1282
+ "show_skip_button": show_skip_button,
1264
1283
  "skip_queue": convert_and_respect_annotation_metadata(
1265
1284
  object_=skip_queue, annotation=LseProjectCreateRequestSkipQueue, direction="write"
1266
1285
  ),
1267
- "reveal_preannotations_interactively": reveal_preannotations_interactively,
1268
- "pinned_at": pinned_at,
1286
+ "task_data_login": task_data_login,
1287
+ "task_data_password": task_data_password,
1288
+ "title": title,
1269
1289
  "workspace": workspace,
1270
1290
  },
1271
1291
  headers={
@@ -1393,46 +1413,46 @@ class AsyncProjectsClient:
1393
1413
  self,
1394
1414
  id: int,
1395
1415
  *,
1396
- title: typing.Optional[str] = OMIT,
1416
+ annotation_limit_count: typing.Optional[int] = OMIT,
1417
+ annotation_limit_percent: typing.Optional[str] = OMIT,
1418
+ annotator_evaluation_minimum_score: typing.Optional[str] = OMIT,
1419
+ annotator_evaluation_minimum_tasks: typing.Optional[int] = OMIT,
1420
+ assignment_settings: typing.Optional[AssignmentSettingsRequest] = OMIT,
1421
+ color: typing.Optional[str] = OMIT,
1422
+ comment_classification_config: typing.Optional[str] = OMIT,
1423
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1424
+ created_by: typing.Optional[UserSimpleRequest] = OMIT,
1425
+ custom_script: typing.Optional[str] = OMIT,
1426
+ custom_task_lock_ttl: typing.Optional[int] = OMIT,
1397
1427
  description: typing.Optional[str] = OMIT,
1398
- label_config: typing.Optional[str] = OMIT,
1399
- expert_instruction: typing.Optional[str] = OMIT,
1400
- show_instruction: typing.Optional[bool] = OMIT,
1401
- show_skip_button: typing.Optional[bool] = OMIT,
1402
1428
  enable_empty_annotation: typing.Optional[bool] = OMIT,
1403
- show_annotation_history: typing.Optional[bool] = OMIT,
1404
- organization: typing.Optional[int] = OMIT,
1405
- color: typing.Optional[str] = OMIT,
1406
- maximum_annotations: typing.Optional[int] = OMIT,
1407
- is_published: typing.Optional[bool] = OMIT,
1408
- model_version: typing.Optional[str] = OMIT,
1429
+ evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
1430
+ expert_instruction: typing.Optional[str] = OMIT,
1409
1431
  is_draft: typing.Optional[bool] = OMIT,
1410
- created_by: typing.Optional[UserSimpleRequest] = OMIT,
1432
+ is_published: typing.Optional[bool] = OMIT,
1433
+ label_config: typing.Optional[str] = OMIT,
1434
+ maximum_annotations: typing.Optional[int] = OMIT,
1411
1435
  min_annotations_to_start_training: typing.Optional[int] = OMIT,
1412
- show_collab_predictions: typing.Optional[bool] = OMIT,
1436
+ model_version: typing.Optional[str] = OMIT,
1437
+ organization: typing.Optional[int] = OMIT,
1438
+ overlap_cohort_percentage: typing.Optional[int] = OMIT,
1439
+ pause_on_failed_annotator_evaluation: typing.Optional[bool] = OMIT,
1440
+ pinned_at: typing.Optional[dt.datetime] = OMIT,
1441
+ require_comment_on_skip: typing.Optional[bool] = OMIT,
1442
+ reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
1443
+ review_settings: typing.Optional[ReviewSettingsRequest] = OMIT,
1413
1444
  sampling: typing.Optional[PatchedLseProjectUpdateRequestSampling] = OMIT,
1445
+ show_annotation_history: typing.Optional[bool] = OMIT,
1446
+ show_collab_predictions: typing.Optional[bool] = OMIT,
1414
1447
  show_ground_truth_first: typing.Optional[bool] = OMIT,
1448
+ show_instruction: typing.Optional[bool] = OMIT,
1415
1449
  show_overlap_first: typing.Optional[bool] = OMIT,
1416
- overlap_cohort_percentage: typing.Optional[int] = OMIT,
1450
+ show_skip_button: typing.Optional[bool] = OMIT,
1451
+ skip_queue: typing.Optional[PatchedLseProjectUpdateRequestSkipQueue] = OMIT,
1417
1452
  task_data_login: typing.Optional[str] = OMIT,
1418
1453
  task_data_password: typing.Optional[str] = OMIT,
1419
- control_weights: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1420
- evaluate_predictions_automatically: typing.Optional[bool] = OMIT,
1421
- skip_queue: typing.Optional[PatchedLseProjectUpdateRequestSkipQueue] = OMIT,
1422
- reveal_preannotations_interactively: typing.Optional[bool] = OMIT,
1423
- pinned_at: typing.Optional[dt.datetime] = OMIT,
1454
+ title: typing.Optional[str] = OMIT,
1424
1455
  workspace: typing.Optional[int] = OMIT,
1425
- review_settings: typing.Optional[ReviewSettingsRequest] = OMIT,
1426
- assignment_settings: typing.Optional[AssignmentSettingsRequest] = OMIT,
1427
- custom_script: typing.Optional[str] = OMIT,
1428
- comment_classification_config: typing.Optional[str] = OMIT,
1429
- require_comment_on_skip: typing.Optional[bool] = OMIT,
1430
- custom_task_lock_ttl: typing.Optional[int] = OMIT,
1431
- annotation_limit_count: typing.Optional[int] = OMIT,
1432
- annotation_limit_percent: typing.Optional[str] = OMIT,
1433
- pause_on_failed_annotator_evaluation: typing.Optional[bool] = OMIT,
1434
- annotator_evaluation_minimum_score: typing.Optional[str] = OMIT,
1435
- annotator_evaluation_minimum_tasks: typing.Optional[int] = OMIT,
1436
1456
  request_options: typing.Optional[RequestOptions] = None,
1437
1457
  ) -> LseProjectUpdate:
1438
1458
  """
@@ -1442,106 +1462,106 @@ class AsyncProjectsClient:
1442
1462
  ----------
1443
1463
  id : int
1444
1464
 
1445
- title : typing.Optional[str]
1446
- Project name. Must be between 3 and 50 characters long.
1465
+ annotation_limit_count : typing.Optional[int]
1447
1466
 
1448
- description : typing.Optional[str]
1449
- Project description
1467
+ annotation_limit_percent : typing.Optional[str]
1450
1468
 
1451
- label_config : typing.Optional[str]
1452
- Label config in XML format. See more about it in documentation
1469
+ annotator_evaluation_minimum_score : typing.Optional[str]
1453
1470
 
1454
- expert_instruction : typing.Optional[str]
1455
- Labeling instructions in HTML format
1471
+ annotator_evaluation_minimum_tasks : typing.Optional[int]
1456
1472
 
1457
- show_instruction : typing.Optional[bool]
1458
- Show instructions to the annotator before they start
1473
+ assignment_settings : typing.Optional[AssignmentSettingsRequest]
1459
1474
 
1460
- show_skip_button : typing.Optional[bool]
1461
- Show a skip button in interface and allow annotators to skip the task
1475
+ color : typing.Optional[str]
1462
1476
 
1463
- enable_empty_annotation : typing.Optional[bool]
1464
- Allow annotators to submit empty annotations
1477
+ comment_classification_config : typing.Optional[str]
1465
1478
 
1466
- show_annotation_history : typing.Optional[bool]
1467
- Show annotation history to annotator
1479
+ control_weights : typing.Optional[typing.Optional[typing.Any]]
1468
1480
 
1469
- organization : typing.Optional[int]
1481
+ created_by : typing.Optional[UserSimpleRequest]
1482
+ Project owner
1470
1483
 
1471
- color : typing.Optional[str]
1484
+ custom_script : typing.Optional[str]
1472
1485
 
1473
- maximum_annotations : typing.Optional[int]
1474
- 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)
1486
+ custom_task_lock_ttl : typing.Optional[int]
1487
+ TTL in seconds for task reservations, on new and existing tasks
1475
1488
 
1476
- is_published : typing.Optional[bool]
1477
- Whether or not the project is published to annotators
1489
+ description : typing.Optional[str]
1490
+ Project description
1478
1491
 
1479
- model_version : typing.Optional[str]
1480
- Machine learning model version
1492
+ enable_empty_annotation : typing.Optional[bool]
1493
+ Allow annotators to submit empty annotations
1494
+
1495
+ evaluate_predictions_automatically : typing.Optional[bool]
1496
+ Retrieve and display predictions when loading a task
1497
+
1498
+ expert_instruction : typing.Optional[str]
1499
+ Labeling instructions in HTML format
1481
1500
 
1482
1501
  is_draft : typing.Optional[bool]
1483
1502
  Whether or not the project is in the middle of being created
1484
1503
 
1485
- created_by : typing.Optional[UserSimpleRequest]
1486
- Project owner
1504
+ is_published : typing.Optional[bool]
1505
+ Whether or not the project is published to annotators
1487
1506
 
1488
- min_annotations_to_start_training : typing.Optional[int]
1489
- Minimum number of completed tasks after which model training is started
1507
+ label_config : typing.Optional[str]
1508
+ Label config in XML format. See more about it in documentation
1490
1509
 
1491
- show_collab_predictions : typing.Optional[bool]
1492
- If set, the annotator can view model predictions
1510
+ maximum_annotations : typing.Optional[int]
1511
+ 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)
1493
1512
 
1494
- sampling : typing.Optional[PatchedLseProjectUpdateRequestSampling]
1513
+ min_annotations_to_start_training : typing.Optional[int]
1514
+ Minimum number of completed tasks after which model training is started
1495
1515
 
1496
- show_ground_truth_first : typing.Optional[bool]
1516
+ model_version : typing.Optional[str]
1517
+ Machine learning model version
1497
1518
 
1498
- show_overlap_first : typing.Optional[bool]
1519
+ organization : typing.Optional[int]
1499
1520
 
1500
1521
  overlap_cohort_percentage : typing.Optional[int]
1501
1522
 
1502
- task_data_login : typing.Optional[str]
1503
- Task data credentials: login
1504
-
1505
- task_data_password : typing.Optional[str]
1506
- Task data credentials: password
1507
-
1508
- control_weights : typing.Optional[typing.Optional[typing.Any]]
1523
+ pause_on_failed_annotator_evaluation : typing.Optional[bool]
1509
1524
 
1510
- evaluate_predictions_automatically : typing.Optional[bool]
1511
- Retrieve and display predictions when loading a task
1525
+ pinned_at : typing.Optional[dt.datetime]
1526
+ Pinned date and time
1512
1527
 
1513
- skip_queue : typing.Optional[PatchedLseProjectUpdateRequestSkipQueue]
1528
+ require_comment_on_skip : typing.Optional[bool]
1514
1529
 
1515
1530
  reveal_preannotations_interactively : typing.Optional[bool]
1516
1531
  Reveal pre-annotations interactively
1517
1532
 
1518
- pinned_at : typing.Optional[dt.datetime]
1519
- Pinned date and time
1533
+ review_settings : typing.Optional[ReviewSettingsRequest]
1520
1534
 
1521
- workspace : typing.Optional[int]
1535
+ sampling : typing.Optional[PatchedLseProjectUpdateRequestSampling]
1522
1536
 
1523
- review_settings : typing.Optional[ReviewSettingsRequest]
1537
+ show_annotation_history : typing.Optional[bool]
1538
+ Show annotation history to annotator
1524
1539
 
1525
- assignment_settings : typing.Optional[AssignmentSettingsRequest]
1540
+ show_collab_predictions : typing.Optional[bool]
1541
+ If set, the annotator can view model predictions
1526
1542
 
1527
- custom_script : typing.Optional[str]
1543
+ show_ground_truth_first : typing.Optional[bool]
1528
1544
 
1529
- comment_classification_config : typing.Optional[str]
1545
+ show_instruction : typing.Optional[bool]
1546
+ Show instructions to the annotator before they start
1530
1547
 
1531
- require_comment_on_skip : typing.Optional[bool]
1548
+ show_overlap_first : typing.Optional[bool]
1532
1549
 
1533
- custom_task_lock_ttl : typing.Optional[int]
1534
- TTL in seconds for task reservations, on new and existing tasks
1550
+ show_skip_button : typing.Optional[bool]
1551
+ Show a skip button in interface and allow annotators to skip the task
1535
1552
 
1536
- annotation_limit_count : typing.Optional[int]
1553
+ skip_queue : typing.Optional[PatchedLseProjectUpdateRequestSkipQueue]
1537
1554
 
1538
- annotation_limit_percent : typing.Optional[str]
1555
+ task_data_login : typing.Optional[str]
1556
+ Task data credentials: login
1539
1557
 
1540
- pause_on_failed_annotator_evaluation : typing.Optional[bool]
1558
+ task_data_password : typing.Optional[str]
1559
+ Task data credentials: password
1541
1560
 
1542
- annotator_evaluation_minimum_score : typing.Optional[str]
1561
+ title : typing.Optional[str]
1562
+ Project name. Must be between 3 and 50 characters long.
1543
1563
 
1544
- annotator_evaluation_minimum_tasks : typing.Optional[int]
1564
+ workspace : typing.Optional[int]
1545
1565
 
1546
1566
  request_options : typing.Optional[RequestOptions]
1547
1567
  Request-specific configuration.
@@ -1574,56 +1594,56 @@ class AsyncProjectsClient:
1574
1594
  f"api/projects/{jsonable_encoder(id)}/",
1575
1595
  method="PATCH",
1576
1596
  json={
1577
- "title": title,
1578
- "description": description,
1579
- "label_config": label_config,
1580
- "expert_instruction": expert_instruction,
1581
- "show_instruction": show_instruction,
1582
- "show_skip_button": show_skip_button,
1583
- "enable_empty_annotation": enable_empty_annotation,
1584
- "show_annotation_history": show_annotation_history,
1585
- "organization": organization,
1597
+ "annotation_limit_count": annotation_limit_count,
1598
+ "annotation_limit_percent": annotation_limit_percent,
1599
+ "annotator_evaluation_minimum_score": annotator_evaluation_minimum_score,
1600
+ "annotator_evaluation_minimum_tasks": annotator_evaluation_minimum_tasks,
1601
+ "assignment_settings": convert_and_respect_annotation_metadata(
1602
+ object_=assignment_settings, annotation=AssignmentSettingsRequest, direction="write"
1603
+ ),
1586
1604
  "color": color,
1587
- "maximum_annotations": maximum_annotations,
1588
- "is_published": is_published,
1589
- "model_version": model_version,
1590
- "is_draft": is_draft,
1605
+ "comment_classification_config": comment_classification_config,
1606
+ "control_weights": control_weights,
1591
1607
  "created_by": convert_and_respect_annotation_metadata(
1592
1608
  object_=created_by, annotation=UserSimpleRequest, direction="write"
1593
1609
  ),
1610
+ "custom_script": custom_script,
1611
+ "custom_task_lock_ttl": custom_task_lock_ttl,
1612
+ "description": description,
1613
+ "enable_empty_annotation": enable_empty_annotation,
1614
+ "evaluate_predictions_automatically": evaluate_predictions_automatically,
1615
+ "expert_instruction": expert_instruction,
1616
+ "is_draft": is_draft,
1617
+ "is_published": is_published,
1618
+ "label_config": label_config,
1619
+ "maximum_annotations": maximum_annotations,
1594
1620
  "min_annotations_to_start_training": min_annotations_to_start_training,
1595
- "show_collab_predictions": show_collab_predictions,
1621
+ "model_version": model_version,
1622
+ "organization": organization,
1623
+ "overlap_cohort_percentage": overlap_cohort_percentage,
1624
+ "pause_on_failed_annotator_evaluation": pause_on_failed_annotator_evaluation,
1625
+ "pinned_at": pinned_at,
1626
+ "require_comment_on_skip": require_comment_on_skip,
1627
+ "reveal_preannotations_interactively": reveal_preannotations_interactively,
1628
+ "review_settings": convert_and_respect_annotation_metadata(
1629
+ object_=review_settings, annotation=ReviewSettingsRequest, direction="write"
1630
+ ),
1596
1631
  "sampling": convert_and_respect_annotation_metadata(
1597
1632
  object_=sampling, annotation=PatchedLseProjectUpdateRequestSampling, direction="write"
1598
1633
  ),
1634
+ "show_annotation_history": show_annotation_history,
1635
+ "show_collab_predictions": show_collab_predictions,
1599
1636
  "show_ground_truth_first": show_ground_truth_first,
1637
+ "show_instruction": show_instruction,
1600
1638
  "show_overlap_first": show_overlap_first,
1601
- "overlap_cohort_percentage": overlap_cohort_percentage,
1602
- "task_data_login": task_data_login,
1603
- "task_data_password": task_data_password,
1604
- "control_weights": control_weights,
1605
- "evaluate_predictions_automatically": evaluate_predictions_automatically,
1639
+ "show_skip_button": show_skip_button,
1606
1640
  "skip_queue": convert_and_respect_annotation_metadata(
1607
1641
  object_=skip_queue, annotation=PatchedLseProjectUpdateRequestSkipQueue, direction="write"
1608
1642
  ),
1609
- "reveal_preannotations_interactively": reveal_preannotations_interactively,
1610
- "pinned_at": pinned_at,
1643
+ "task_data_login": task_data_login,
1644
+ "task_data_password": task_data_password,
1645
+ "title": title,
1611
1646
  "workspace": workspace,
1612
- "review_settings": convert_and_respect_annotation_metadata(
1613
- object_=review_settings, annotation=ReviewSettingsRequest, direction="write"
1614
- ),
1615
- "assignment_settings": convert_and_respect_annotation_metadata(
1616
- object_=assignment_settings, annotation=AssignmentSettingsRequest, direction="write"
1617
- ),
1618
- "custom_script": custom_script,
1619
- "comment_classification_config": comment_classification_config,
1620
- "require_comment_on_skip": require_comment_on_skip,
1621
- "custom_task_lock_ttl": custom_task_lock_ttl,
1622
- "annotation_limit_count": annotation_limit_count,
1623
- "annotation_limit_percent": annotation_limit_percent,
1624
- "pause_on_failed_annotator_evaluation": pause_on_failed_annotator_evaluation,
1625
- "annotator_evaluation_minimum_score": annotator_evaluation_minimum_score,
1626
- "annotator_evaluation_minimum_tasks": annotator_evaluation_minimum_tasks,
1627
1647
  },
1628
1648
  headers={
1629
1649
  "content-type": "application/json",
@@ -1650,8 +1670,8 @@ class AsyncProjectsClient:
1650
1670
  id: int,
1651
1671
  *,
1652
1672
  mode: ModeEnum,
1653
- workspace: int,
1654
1673
  title: str,
1674
+ workspace: int,
1655
1675
  description: typing.Optional[str] = OMIT,
1656
1676
  request_options: typing.Optional[RequestOptions] = None,
1657
1677
  ) -> ProjectsDuplicateResponse:
@@ -1668,12 +1688,12 @@ class AsyncProjectsClient:
1668
1688
  * `settings` - Only settings
1669
1689
  * `settings,data` - Settings and tasks
1670
1690
 
1671
- workspace : int
1672
- Workspace, where to place duplicated project
1673
-
1674
1691
  title : str
1675
1692
  Title of duplicated project
1676
1693
 
1694
+ workspace : int
1695
+ Workspace, where to place duplicated project
1696
+
1677
1697
  description : typing.Optional[str]
1678
1698
  Description of duplicated project
1679
1699
 
@@ -1700,8 +1720,8 @@ class AsyncProjectsClient:
1700
1720
  await client.projects.duplicate(
1701
1721
  id=1,
1702
1722
  mode="settings",
1703
- workspace=1,
1704
1723
  title="title",
1724
+ workspace=1,
1705
1725
  )
1706
1726
 
1707
1727
 
@@ -1711,10 +1731,10 @@ class AsyncProjectsClient:
1711
1731
  f"api/projects/{jsonable_encoder(id)}/duplicate/",
1712
1732
  method="POST",
1713
1733
  json={
1734
+ "description": description,
1714
1735
  "mode": mode,
1715
- "workspace": workspace,
1716
1736
  "title": title,
1717
- "description": description,
1737
+ "workspace": workspace,
1718
1738
  },
1719
1739
  headers={
1720
1740
  "content-type": "application/json",