label-studio-sdk 2.0.0__py3-none-any.whl → 2.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of label-studio-sdk might be problematic. Click here for more details.

Files changed (175) hide show
  1. label_studio_sdk/__init__.py +24 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/base_client.py +4 -0
  7. label_studio_sdk/billing/__init__.py +2 -0
  8. label_studio_sdk/billing/client.py +112 -0
  9. label_studio_sdk/comments/client.py +176 -176
  10. label_studio_sdk/export_storage/azure/client.py +274 -274
  11. label_studio_sdk/export_storage/gcs/client.py +263 -263
  12. label_studio_sdk/export_storage/local/client.py +206 -206
  13. label_studio_sdk/export_storage/redis/client.py +287 -287
  14. label_studio_sdk/export_storage/s3/client.py +347 -347
  15. label_studio_sdk/export_storage/s3s/client.py +678 -678
  16. label_studio_sdk/import_storage/azure/client.py +357 -357
  17. label_studio_sdk/import_storage/gcs/client.py +357 -357
  18. label_studio_sdk/import_storage/local/client.py +206 -206
  19. label_studio_sdk/import_storage/redis/client.py +309 -309
  20. label_studio_sdk/import_storage/s3/client.py +452 -452
  21. label_studio_sdk/import_storage/s3s/client.py +735 -735
  22. label_studio_sdk/jwt_settings/client.py +10 -10
  23. label_studio_sdk/ml/client.py +118 -118
  24. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  25. label_studio_sdk/model_providers/client.py +181 -181
  26. label_studio_sdk/organizations/members/client.py +348 -2
  27. label_studio_sdk/predictions/client.py +60 -60
  28. label_studio_sdk/projects/__init__.py +30 -1
  29. label_studio_sdk/projects/assignments/__init__.py +33 -0
  30. label_studio_sdk/projects/assignments/client.py +764 -0
  31. label_studio_sdk/projects/assignments/types/__init__.py +35 -0
  32. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  42. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  44. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  45. label_studio_sdk/projects/client.py +441 -425
  46. label_studio_sdk/projects/exports/client.py +55 -55
  47. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  48. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  49. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  50. label_studio_sdk/prompts/client.py +211 -211
  51. label_studio_sdk/prompts/runs/client.py +33 -33
  52. label_studio_sdk/prompts/versions/client.py +72 -72
  53. label_studio_sdk/tasks/client.py +174 -174
  54. label_studio_sdk/types/__init__.py +22 -0
  55. label_studio_sdk/types/all_roles_project_list.py +98 -98
  56. label_studio_sdk/types/annotation.py +35 -35
  57. label_studio_sdk/types/annotation_request.py +27 -27
  58. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  59. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  60. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  61. label_studio_sdk/types/billing_checks.py +39 -0
  62. label_studio_sdk/types/billing_flags.py +44 -0
  63. label_studio_sdk/types/billing_info_response.py +22 -0
  64. label_studio_sdk/types/blueprint_list.py +7 -8
  65. label_studio_sdk/types/child_filter.py +11 -10
  66. label_studio_sdk/types/comment.py +15 -15
  67. label_studio_sdk/types/comment_request.py +7 -8
  68. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  69. label_studio_sdk/types/converted_format.py +1 -1
  70. label_studio_sdk/types/converted_format_request.py +1 -1
  71. label_studio_sdk/types/count_limit.py +22 -0
  72. label_studio_sdk/types/export.py +8 -8
  73. label_studio_sdk/types/file_upload.py +3 -2
  74. label_studio_sdk/types/filter.py +10 -9
  75. label_studio_sdk/types/filter_group.py +4 -3
  76. label_studio_sdk/types/gcs_export_storage.py +23 -23
  77. label_studio_sdk/types/gcs_import_storage.py +27 -27
  78. label_studio_sdk/types/import_api_request.py +26 -26
  79. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  80. label_studio_sdk/types/local_files_export_storage.py +23 -23
  81. label_studio_sdk/types/local_files_import_storage.py +26 -26
  82. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  83. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  84. label_studio_sdk/types/lse_export_create.py +12 -12
  85. label_studio_sdk/types/lse_fields.py +14 -14
  86. label_studio_sdk/types/lse_organization.py +17 -17
  87. label_studio_sdk/types/lse_organization_member_list.py +32 -0
  88. label_studio_sdk/types/lse_project_create.py +72 -72
  89. label_studio_sdk/types/lse_project_update.py +89 -89
  90. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  91. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  92. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  93. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  94. label_studio_sdk/types/lse_task.py +49 -49
  95. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  96. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  97. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  98. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  99. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  100. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  102. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  103. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  104. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  105. label_studio_sdk/types/lse_user.py +13 -13
  106. label_studio_sdk/types/lse_user_api.py +11 -11
  107. label_studio_sdk/types/lse_user_organization_member_list.py +48 -0
  108. label_studio_sdk/types/lseapi_token_create.py +1 -1
  109. label_studio_sdk/types/lseapi_token_list.py +1 -1
  110. label_studio_sdk/types/lsejwt_settings.py +5 -5
  111. label_studio_sdk/types/ml_backend.py +27 -28
  112. label_studio_sdk/types/model_interface.py +12 -12
  113. label_studio_sdk/types/model_interface_request.py +7 -8
  114. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  115. label_studio_sdk/types/model_provider_connection.py +34 -34
  116. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  117. label_studio_sdk/types/model_run.py +12 -12
  118. label_studio_sdk/types/organization_billing.py +1 -1
  119. label_studio_sdk/types/organization_id.py +2 -2
  120. label_studio_sdk/types/organization_invite.py +1 -1
  121. label_studio_sdk/types/organization_member.py +8 -9
  122. label_studio_sdk/types/organization_membership.py +2 -1
  123. label_studio_sdk/types/paginated_lse_organization_member_list_list.py +23 -0
  124. label_studio_sdk/types/pause.py +23 -23
  125. label_studio_sdk/types/prediction.py +21 -21
  126. label_studio_sdk/types/prediction_request.py +16 -16
  127. label_studio_sdk/types/project.py +72 -72
  128. label_studio_sdk/types/project_import.py +21 -21
  129. label_studio_sdk/types/prompts_status_enum.py +16 -0
  130. label_studio_sdk/types/redis_export_storage.py +34 -34
  131. label_studio_sdk/types/redis_import_storage.py +37 -37
  132. label_studio_sdk/types/refined_prompt_response.py +11 -11
  133. label_studio_sdk/types/review_settings.py +29 -30
  134. label_studio_sdk/types/review_settings_request.py +29 -30
  135. label_studio_sdk/types/role9e7enum.py +5 -0
  136. label_studio_sdk/types/s3export_storage.py +45 -45
  137. label_studio_sdk/types/s3import_storage.py +44 -44
  138. label_studio_sdk/types/selected_items_request.py +1 -1
  139. label_studio_sdk/types/serialization_options.py +10 -10
  140. label_studio_sdk/types/serialization_options_request.py +10 -10
  141. label_studio_sdk/types/task_assignment.py +43 -0
  142. label_studio_sdk/types/third_party_model_version.py +11 -11
  143. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  144. label_studio_sdk/types/type_enum.py +5 -0
  145. label_studio_sdk/types/user_simple.py +3 -3
  146. label_studio_sdk/types/user_simple_request.py +1 -1
  147. label_studio_sdk/types/version_response.py +19 -20
  148. label_studio_sdk/types/view.py +8 -8
  149. label_studio_sdk/types/webhook.py +16 -16
  150. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  151. label_studio_sdk/types/workspace.py +10 -11
  152. label_studio_sdk/users/client.py +160 -160
  153. label_studio_sdk/views/client.py +164 -164
  154. label_studio_sdk/webhooks/client.py +183 -183
  155. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  156. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  157. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  158. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  159. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  160. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  161. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  162. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  163. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  164. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  165. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  171. label_studio_sdk/workspaces/client.py +40 -40
  172. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +73 -25
  173. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +175 -146
  174. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
  175. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/WHEEL +0 -0
@@ -2,44 +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 LseS3ImportStorage(UncheckedBaseModel):
14
- id: int
15
- type: str
16
- synchronizable: typing.Optional[bool] = None
17
- presign: typing.Optional[bool] = None
18
- last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
14
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
19
15
  """
20
- Last sync finished time
16
+ AWS_ACCESS_KEY_ID
21
17
  """
22
18
 
23
- last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
19
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
24
20
  """
25
- Count of tasks synced last time
21
+ AWS_SECRET_ACCESS_KEY
26
22
  """
27
23
 
28
- last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
24
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
29
25
  """
30
- Last sync job ID
26
+ AWS_SESSION_TOKEN
31
27
  """
32
28
 
33
- status: typing.Optional[StatusC5AEnum] = None
34
- traceback: typing.Optional[str] = pydantic.Field(default=None)
29
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
35
30
  """
36
- Traceback report for the last failed sync
31
+ AWS SSE KMS Key ID
37
32
  """
38
33
 
39
- meta: typing.Optional[typing.Optional[typing.Any]] = None
40
- title: typing.Optional[str] = pydantic.Field(default=None)
34
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
41
35
  """
42
- Cloud storage title
36
+ S3 bucket name
37
+ """
38
+
39
+ created_at: dt.datetime = pydantic.Field()
40
+ """
41
+ Creation time
43
42
  """
44
43
 
45
44
  description: typing.Optional[str] = pydantic.Field(default=None)
@@ -47,49 +46,53 @@ class LseS3ImportStorage(UncheckedBaseModel):
47
46
  Cloud storage description
48
47
  """
49
48
 
50
- created_at: dt.datetime = pydantic.Field()
49
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
51
50
  """
52
- Creation time
51
+ AWS ExternalId
53
52
  """
54
53
 
55
- bucket: typing.Optional[str] = pydantic.Field(default=None)
54
+ id: int
55
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
56
56
  """
57
- S3 bucket name
57
+ Last sync finished time
58
58
  """
59
59
 
60
- prefix: typing.Optional[str] = pydantic.Field(default=None)
60
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
61
61
  """
62
- S3 bucket prefix
62
+ Count of tasks synced last time
63
63
  """
64
64
 
65
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
65
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
66
66
  """
67
- Cloud storage regex for filtering objects
67
+ Last sync job ID
68
68
  """
69
69
 
70
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
70
+ legacy_auth: typing.Optional[bool] = None
71
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
72
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
71
73
  """
72
- Interpret objects as BLOBs and generate URLs
74
+ S3 bucket prefix
73
75
  """
74
76
 
75
- aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
77
+ presign: typing.Optional[bool] = None
78
+ presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
76
79
  """
77
- AWS_ACCESS_KEY_ID
80
+ Presigned URLs TTL (in minutes)
78
81
  """
79
82
 
80
- aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
83
+ project: int = pydantic.Field()
81
84
  """
82
- AWS_SECRET_ACCESS_KEY
85
+ A unique integer value identifying this project.
83
86
  """
84
87
 
85
- aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
88
+ recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
86
89
  """
87
- AWS_SESSION_TOKEN
90
+ Perform recursive scan over the bucket content
88
91
  """
89
92
 
90
- aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
93
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
91
94
  """
92
- AWS SSE KMS Key ID
95
+ Cloud storage regex for filtering objects
93
96
  """
94
97
 
95
98
  region_name: typing.Optional[str] = pydantic.Field(default=None)
@@ -97,6 +100,11 @@ class LseS3ImportStorage(UncheckedBaseModel):
97
100
  AWS Region
98
101
  """
99
102
 
103
+ role_arn: str = pydantic.Field()
104
+ """
105
+ AWS RoleArn
106
+ """
107
+
100
108
  s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
101
109
  default=None
102
110
  )
@@ -104,30 +112,22 @@ class LseS3ImportStorage(UncheckedBaseModel):
104
112
  S3 Endpoint
105
113
  """
106
114
 
107
- external_id: typing.Optional[str] = pydantic.Field(default=None)
108
- """
109
- AWS ExternalId
110
- """
111
-
112
- role_arn: str = pydantic.Field()
113
- """
114
- AWS RoleArn
115
- """
116
-
117
- legacy_auth: typing.Optional[bool] = None
118
- presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
115
+ status: typing.Optional[StatusC5AEnum] = None
116
+ synchronizable: typing.Optional[bool] = None
117
+ title: typing.Optional[str] = pydantic.Field(default=None)
119
118
  """
120
- Presigned URLs TTL (in minutes)
119
+ Cloud storage title
121
120
  """
122
121
 
123
- recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
122
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
124
123
  """
125
- Perform recursive scan over the bucket content
124
+ Traceback report for the last failed sync
126
125
  """
127
126
 
128
- project: int = pydantic.Field()
127
+ type: str
128
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
129
129
  """
130
- A unique integer value identifying this project.
130
+ Interpret objects as BLOBs and generate URLs
131
131
  """
132
132
 
133
133
  if IS_PYDANTIC_V2:
@@ -2,42 +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 LseS3ImportStorageRequest(UncheckedBaseModel):
14
- synchronizable: typing.Optional[bool] = None
15
- presign: typing.Optional[bool] = None
16
- last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
14
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
17
15
  """
18
- Last sync finished time
16
+ AWS_ACCESS_KEY_ID
19
17
  """
20
18
 
21
- last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
19
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
22
20
  """
23
- Count of tasks synced last time
21
+ AWS_SECRET_ACCESS_KEY
24
22
  """
25
23
 
26
- last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
24
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
27
25
  """
28
- Last sync job ID
26
+ AWS_SESSION_TOKEN
29
27
  """
30
28
 
31
- status: typing.Optional[StatusC5AEnum] = None
32
- traceback: typing.Optional[str] = pydantic.Field(default=None)
29
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
33
30
  """
34
- Traceback report for the last failed sync
31
+ AWS SSE KMS Key ID
35
32
  """
36
33
 
37
- meta: typing.Optional[typing.Optional[typing.Any]] = None
38
- title: typing.Optional[str] = pydantic.Field(default=None)
34
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
39
35
  """
40
- Cloud storage title
36
+ S3 bucket name
41
37
  """
42
38
 
43
39
  description: typing.Optional[str] = pydantic.Field(default=None)
@@ -45,82 +41,86 @@ class LseS3ImportStorageRequest(UncheckedBaseModel):
45
41
  Cloud storage description
46
42
  """
47
43
 
48
- bucket: typing.Optional[str] = pydantic.Field(default=None)
44
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
49
45
  """
50
- S3 bucket name
46
+ AWS ExternalId
51
47
  """
52
48
 
53
- prefix: typing.Optional[str] = pydantic.Field(default=None)
49
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
54
50
  """
55
- S3 bucket prefix
51
+ Last sync finished time
56
52
  """
57
53
 
58
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
54
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
59
55
  """
60
- Cloud storage regex for filtering objects
56
+ Count of tasks synced last time
61
57
  """
62
58
 
63
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
59
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
64
60
  """
65
- Interpret objects as BLOBs and generate URLs
61
+ Last sync job ID
66
62
  """
67
63
 
68
- aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
64
+ legacy_auth: typing.Optional[bool] = None
65
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
66
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
69
67
  """
70
- AWS_ACCESS_KEY_ID
68
+ S3 bucket prefix
71
69
  """
72
70
 
73
- aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
71
+ presign: typing.Optional[bool] = None
72
+ presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
74
73
  """
75
- AWS_SECRET_ACCESS_KEY
74
+ Presigned URLs TTL (in minutes)
76
75
  """
77
76
 
78
- aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
77
+ project: int = pydantic.Field()
79
78
  """
80
- AWS_SESSION_TOKEN
79
+ A unique integer value identifying this project.
81
80
  """
82
81
 
83
- aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
82
+ recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
84
83
  """
85
- AWS SSE KMS Key ID
84
+ Perform recursive scan over the bucket content
86
85
  """
87
86
 
88
- region_name: typing.Optional[str] = pydantic.Field(default=None)
87
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
89
88
  """
90
- AWS Region
89
+ Cloud storage regex for filtering objects
91
90
  """
92
91
 
93
- s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
94
- default=None
95
- )
92
+ region_name: typing.Optional[str] = pydantic.Field(default=None)
96
93
  """
97
- S3 Endpoint
94
+ AWS Region
98
95
  """
99
96
 
100
- external_id: typing.Optional[str] = pydantic.Field(default=None)
97
+ role_arn: str = pydantic.Field()
101
98
  """
102
- AWS ExternalId
99
+ AWS RoleArn
103
100
  """
104
101
 
105
- role_arn: str = pydantic.Field()
102
+ s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
103
+ default=None
104
+ )
106
105
  """
107
- AWS RoleArn
106
+ S3 Endpoint
108
107
  """
109
108
 
110
- legacy_auth: typing.Optional[bool] = None
111
- presign_ttl: typing.Optional[int] = 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
- Presigned URLs TTL (in minutes)
113
+ Cloud storage title
114
114
  """
115
115
 
116
- recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
116
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
117
117
  """
118
- Perform recursive scan over the bucket content
118
+ Traceback report for the last failed sync
119
119
  """
120
120
 
121
- project: int = pydantic.Field()
121
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
122
122
  """
123
- A unique integer value identifying this project.
123
+ Interpret objects as BLOBs and generate URLs
124
124
  """
125
125
 
126
126
  if IS_PYDANTIC_V2:
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- from .lse_task_predictions_item import LseTaskPredictionsItem
6
5
  import pydantic
7
- from .lse_task_drafts_item import LseTaskDraftsItem
8
6
  import datetime as dt
7
+ from .lse_task_drafts_item import LseTaskDraftsItem
8
+ from .lse_task_predictions_item import LseTaskPredictionsItem
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
@@ -14,97 +14,97 @@ class LseTask(UncheckedBaseModel):
14
14
  Task Serializer with project scheme configs validation
15
15
  """
16
16
 
17
- id: int
18
17
  agreement: str
19
- predictions: typing.List[LseTaskPredictionsItem] = pydantic.Field()
20
- """
21
- Predictions for this task
22
- """
23
-
24
18
  annotations: str
25
- drafts: typing.List[LseTaskDraftsItem] = pydantic.Field()
26
- """
27
- Drafts for this task
28
- """
29
-
19
+ annotations_ids: str
20
+ annotations_results: str
30
21
  annotators: typing.List[int] = pydantic.Field()
31
22
  """
32
23
  Annotators IDs who annotated this task
33
24
  """
34
25
 
35
- inner_id: typing.Optional[int] = None
36
- cancelled_annotations: typing.Optional[int] = None
37
- total_annotations: typing.Optional[int] = None
38
- total_predictions: typing.Optional[int] = None
39
- completed_at: typing.Optional[dt.datetime] = None
40
- annotations_results: str
41
- predictions_results: str
42
- predictions_score: typing.Optional[float] = None
43
- file_upload: str
44
- storage_filename: str
45
- annotations_ids: str
46
- predictions_model_versions: str
47
- avg_lead_time: typing.Optional[float] = None
48
- draft_exists: typing.Optional[bool] = None
49
- updated_by: typing.List[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field()
26
+ annotators_count: int = pydantic.Field()
50
27
  """
51
- User IDs who updated this task
28
+ The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
52
29
  """
53
30
 
54
- reviewers: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
55
- comments: str
31
+ avg_lead_time: typing.Optional[float] = None
32
+ cancelled_annotations: typing.Optional[int] = None
56
33
  comment_authors: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
57
- reviewed: typing.Optional[bool] = None
58
- reviews_accepted: typing.Optional[int] = None
59
- reviews_rejected: typing.Optional[int] = None
60
- ground_truth: typing.Optional[bool] = None
61
- annotators_count: int = pydantic.Field()
34
+ comment_authors_count: int
35
+ comment_count: typing.Optional[int] = pydantic.Field(default=None)
62
36
  """
63
- The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
37
+ Number of comments in the task including all annotations
64
38
  """
65
39
 
66
- reviewers_count: int
67
- comment_authors_count: int
68
- data: typing.Optional[typing.Any] = None
69
- meta: typing.Optional[typing.Optional[typing.Any]] = None
40
+ comments: str
41
+ completed_at: typing.Optional[dt.datetime] = None
70
42
  created_at: dt.datetime = pydantic.Field()
71
43
  """
72
44
  Time a task was created
73
45
  """
74
46
 
75
- updated_at: dt.datetime = pydantic.Field()
47
+ data: typing.Optional[typing.Any] = None
48
+ draft_exists: typing.Optional[bool] = None
49
+ drafts: typing.List[LseTaskDraftsItem] = pydantic.Field()
76
50
  """
77
- Last time a task was updated
51
+ Drafts for this task
78
52
  """
79
53
 
54
+ file_upload: str
55
+ ground_truth: typing.Optional[bool] = None
56
+ id: int
57
+ inner_id: typing.Optional[int] = None
80
58
  is_labeled: typing.Optional[bool] = pydantic.Field(default=None)
81
59
  """
82
60
  True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
83
61
  """
84
62
 
63
+ last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
64
+ """
65
+ When the last comment was updated
66
+ """
67
+
68
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
85
69
  overlap: typing.Optional[int] = pydantic.Field(default=None)
86
70
  """
87
71
  Number of distinct annotators that processed the current task
88
72
  """
89
73
 
90
- comment_count: typing.Optional[int] = pydantic.Field(default=None)
74
+ predictions: typing.List[LseTaskPredictionsItem] = pydantic.Field()
91
75
  """
92
- Number of comments in the task including all annotations
76
+ Predictions for this task
93
77
  """
94
78
 
79
+ predictions_model_versions: str
80
+ predictions_results: str
81
+ predictions_score: typing.Optional[float] = None
82
+ project: typing.Optional[int] = pydantic.Field(default=None)
83
+ """
84
+ Project ID for this task
85
+ """
86
+
87
+ reviewed: typing.Optional[bool] = None
88
+ reviewers: typing.List[typing.Dict[str, typing.Optional[typing.Any]]]
89
+ reviewers_count: int
90
+ reviews_accepted: typing.Optional[int] = None
91
+ reviews_rejected: typing.Optional[int] = None
92
+ storage_filename: str
93
+ total_annotations: typing.Optional[int] = None
94
+ total_predictions: typing.Optional[int] = None
95
95
  unresolved_comment_count: typing.Optional[int] = pydantic.Field(default=None)
96
96
  """
97
97
  Number of unresolved comments in the task including all annotations
98
98
  """
99
99
 
100
- last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
100
+ updated_at: dt.datetime = pydantic.Field()
101
101
  """
102
- When the last comment was updated
102
+ Last time a task was updated
103
103
  """
104
104
 
105
- project: typing.Optional[int] = pydantic.Field(default=None)
105
+ updated_by: typing.List[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field()
106
106
  """
107
- Project ID for this task
107
+ User IDs who updated this task
108
108
  """
109
109
 
110
110
  if IS_PYDANTIC_V2:
@@ -8,8 +8,8 @@ import pydantic
8
8
 
9
9
 
10
10
  class LseTaskDraftsItem(UncheckedBaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
11
  created_at: typing.Optional[dt.datetime] = None
12
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
13
13
  updated_at: typing.Optional[dt.datetime] = None
14
14
 
15
15
  if IS_PYDANTIC_V2:
@@ -2,23 +2,18 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ from .lse_task_filter_options_annotated import LseTaskFilterOptionsAnnotated
5
6
  import pydantic
6
- from .lse_task_filter_options_skipped import LseTaskFilterOptionsSkipped
7
7
  from .lse_task_filter_options_finished import LseTaskFilterOptionsFinished
8
- from .lse_task_filter_options_annotated import LseTaskFilterOptionsAnnotated
9
8
  from .lse_task_filter_options_reviewed import LseTaskFilterOptionsReviewed
9
+ from .lse_task_filter_options_skipped import LseTaskFilterOptionsSkipped
10
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
11
 
12
12
 
13
13
  class LseTaskFilterOptions(UncheckedBaseModel):
14
- view: typing.Optional[int] = pydantic.Field(default=None)
15
- """
16
- Apply filters from the view ID (a tab from the Data Manager)
17
- """
18
-
19
- skipped: typing.Optional[LseTaskFilterOptionsSkipped] = pydantic.Field(default=None)
14
+ annotated: typing.Optional[LseTaskFilterOptionsAnnotated] = pydantic.Field(default=None)
20
15
  """
21
- `only` - include all tasks with skipped annotations<br>`exclude` - exclude all tasks with skipped annotations
16
+ `only` - include all tasks with at least one not skipped annotation<br>`exclude` - exclude all tasks with at least one not skipped annotation
22
17
 
23
18
  * `only` - only
24
19
  * `exclude` - exclude
@@ -34,25 +29,30 @@ class LseTaskFilterOptions(UncheckedBaseModel):
34
29
  * `None` - None
35
30
  """
36
31
 
37
- annotated: typing.Optional[LseTaskFilterOptionsAnnotated] = pydantic.Field(default=None)
32
+ only_with_annotations: typing.Optional[bool] = None
33
+ reviewed: typing.Optional[LseTaskFilterOptionsReviewed] = pydantic.Field(default=None)
38
34
  """
39
- `only` - include all tasks with at least one not skipped annotation<br>`exclude` - exclude all tasks with at least one not skipped annotation
35
+ `only` - include all reviewed tasks<br>`exclude` - exclude all reviewed tasks
40
36
 
41
37
  * `only` - only
42
38
  * `exclude` - exclude
43
39
  * `None` - None
44
40
  """
45
41
 
46
- only_with_annotations: typing.Optional[bool] = None
47
- reviewed: typing.Optional[LseTaskFilterOptionsReviewed] = pydantic.Field(default=None)
42
+ skipped: typing.Optional[LseTaskFilterOptionsSkipped] = pydantic.Field(default=None)
48
43
  """
49
- `only` - include all reviewed tasks<br>`exclude` - exclude all reviewed tasks
44
+ `only` - include all tasks with skipped annotations<br>`exclude` - exclude all tasks with skipped annotations
50
45
 
51
46
  * `only` - only
52
47
  * `exclude` - exclude
53
48
  * `None` - None
54
49
  """
55
50
 
51
+ view: typing.Optional[int] = pydantic.Field(default=None)
52
+ """
53
+ Apply filters from the view ID (a tab from the Data Manager)
54
+ """
55
+
56
56
  if IS_PYDANTIC_V2:
57
57
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
58
58
  else:
@@ -2,23 +2,18 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ from .lse_task_filter_options_request_annotated import LseTaskFilterOptionsRequestAnnotated
5
6
  import pydantic
6
- from .lse_task_filter_options_request_skipped import LseTaskFilterOptionsRequestSkipped
7
7
  from .lse_task_filter_options_request_finished import LseTaskFilterOptionsRequestFinished
8
- from .lse_task_filter_options_request_annotated import LseTaskFilterOptionsRequestAnnotated
9
8
  from .lse_task_filter_options_request_reviewed import LseTaskFilterOptionsRequestReviewed
9
+ from .lse_task_filter_options_request_skipped import LseTaskFilterOptionsRequestSkipped
10
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
11
 
12
12
 
13
13
  class LseTaskFilterOptionsRequest(UncheckedBaseModel):
14
- view: typing.Optional[int] = pydantic.Field(default=None)
15
- """
16
- Apply filters from the view ID (a tab from the Data Manager)
17
- """
18
-
19
- skipped: typing.Optional[LseTaskFilterOptionsRequestSkipped] = pydantic.Field(default=None)
14
+ annotated: typing.Optional[LseTaskFilterOptionsRequestAnnotated] = pydantic.Field(default=None)
20
15
  """
21
- `only` - include all tasks with skipped annotations<br>`exclude` - exclude all tasks with skipped annotations
16
+ `only` - include all tasks with at least one not skipped annotation<br>`exclude` - exclude all tasks with at least one not skipped annotation
22
17
 
23
18
  * `only` - only
24
19
  * `exclude` - exclude
@@ -34,25 +29,30 @@ class LseTaskFilterOptionsRequest(UncheckedBaseModel):
34
29
  * `None` - None
35
30
  """
36
31
 
37
- annotated: typing.Optional[LseTaskFilterOptionsRequestAnnotated] = pydantic.Field(default=None)
32
+ only_with_annotations: typing.Optional[bool] = None
33
+ reviewed: typing.Optional[LseTaskFilterOptionsRequestReviewed] = pydantic.Field(default=None)
38
34
  """
39
- `only` - include all tasks with at least one not skipped annotation<br>`exclude` - exclude all tasks with at least one not skipped annotation
35
+ `only` - include all reviewed tasks<br>`exclude` - exclude all reviewed tasks
40
36
 
41
37
  * `only` - only
42
38
  * `exclude` - exclude
43
39
  * `None` - None
44
40
  """
45
41
 
46
- only_with_annotations: typing.Optional[bool] = None
47
- reviewed: typing.Optional[LseTaskFilterOptionsRequestReviewed] = pydantic.Field(default=None)
42
+ skipped: typing.Optional[LseTaskFilterOptionsRequestSkipped] = pydantic.Field(default=None)
48
43
  """
49
- `only` - include all reviewed tasks<br>`exclude` - exclude all reviewed tasks
44
+ `only` - include all tasks with skipped annotations<br>`exclude` - exclude all tasks with skipped annotations
50
45
 
51
46
  * `only` - only
52
47
  * `exclude` - exclude
53
48
  * `None` - None
54
49
  """
55
50
 
51
+ view: typing.Optional[int] = pydantic.Field(default=None)
52
+ """
53
+ Apply filters from the view ID (a tab from the Data Manager)
54
+ """
55
+
56
56
  if IS_PYDANTIC_V2:
57
57
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
58
58
  else: