label-studio-sdk 2.0.1__py3-none-any.whl → 2.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of label-studio-sdk might be problematic. Click here for more details.
- label_studio_sdk/__init__.py +4 -0
- label_studio_sdk/actions/client.py +13 -13
- label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
- label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
- label_studio_sdk/annotations/client.py +441 -441
- label_studio_sdk/comments/client.py +176 -176
- label_studio_sdk/export_storage/azure/client.py +274 -274
- label_studio_sdk/export_storage/gcs/client.py +263 -263
- label_studio_sdk/export_storage/local/client.py +206 -206
- label_studio_sdk/export_storage/redis/client.py +287 -287
- label_studio_sdk/export_storage/s3/client.py +347 -347
- label_studio_sdk/export_storage/s3s/client.py +678 -678
- label_studio_sdk/import_storage/azure/client.py +357 -357
- label_studio_sdk/import_storage/gcs/client.py +357 -357
- label_studio_sdk/import_storage/local/client.py +206 -206
- label_studio_sdk/import_storage/redis/client.py +309 -309
- label_studio_sdk/import_storage/s3/client.py +452 -452
- label_studio_sdk/import_storage/s3s/client.py +735 -735
- label_studio_sdk/jwt_settings/client.py +10 -10
- label_studio_sdk/ml/client.py +118 -118
- label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
- label_studio_sdk/model_providers/client.py +181 -181
- label_studio_sdk/organizations/members/client.py +8 -8
- label_studio_sdk/predictions/client.py +60 -60
- label_studio_sdk/projects/__init__.py +30 -1
- label_studio_sdk/projects/assignments/__init__.py +33 -0
- label_studio_sdk/projects/assignments/client.py +764 -0
- label_studio_sdk/projects/assignments/types/__init__.py +35 -0
- label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
- label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
- label_studio_sdk/projects/client.py +441 -425
- label_studio_sdk/projects/exports/client.py +55 -55
- label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
- label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
- label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
- label_studio_sdk/prompts/client.py +211 -211
- label_studio_sdk/prompts/runs/client.py +33 -33
- label_studio_sdk/prompts/versions/client.py +72 -72
- label_studio_sdk/tasks/client.py +174 -174
- label_studio_sdk/types/__init__.py +4 -0
- label_studio_sdk/types/all_roles_project_list.py +94 -94
- label_studio_sdk/types/annotation.py +35 -35
- label_studio_sdk/types/annotation_request.py +27 -27
- label_studio_sdk/types/azure_blob_export_storage.py +29 -29
- label_studio_sdk/types/azure_blob_import_storage.py +33 -33
- label_studio_sdk/types/batch_failed_predictions.py +1 -1
- label_studio_sdk/types/billing_checks.py +14 -14
- label_studio_sdk/types/billing_flags.py +16 -16
- label_studio_sdk/types/blueprint_list.py +7 -8
- label_studio_sdk/types/child_filter.py +11 -10
- label_studio_sdk/types/comment.py +15 -15
- label_studio_sdk/types/comment_request.py +7 -8
- label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
- label_studio_sdk/types/converted_format.py +1 -1
- label_studio_sdk/types/converted_format_request.py +1 -1
- label_studio_sdk/types/export.py +8 -8
- label_studio_sdk/types/file_upload.py +3 -2
- label_studio_sdk/types/filter.py +10 -9
- label_studio_sdk/types/filter_group.py +4 -3
- label_studio_sdk/types/gcs_export_storage.py +23 -23
- label_studio_sdk/types/gcs_import_storage.py +27 -27
- label_studio_sdk/types/import_api_request.py +26 -26
- label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
- label_studio_sdk/types/local_files_export_storage.py +23 -23
- label_studio_sdk/types/local_files_import_storage.py +26 -26
- label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
- label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
- label_studio_sdk/types/lse_export_create.py +12 -12
- label_studio_sdk/types/lse_fields.py +14 -14
- label_studio_sdk/types/lse_organization.py +17 -17
- label_studio_sdk/types/lse_organization_member_list.py +1 -1
- label_studio_sdk/types/lse_project_create.py +72 -72
- label_studio_sdk/types/lse_project_update.py +89 -89
- label_studio_sdk/types/lse_s3export_storage.py +46 -46
- label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
- label_studio_sdk/types/lse_s3import_storage.py +53 -53
- label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
- label_studio_sdk/types/lse_task.py +49 -49
- label_studio_sdk/types/lse_task_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_filter_options.py +14 -14
- label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
- label_studio_sdk/types/lse_task_predictions_item.py +5 -5
- label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
- label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
- label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
- label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
- label_studio_sdk/types/lse_user.py +13 -13
- label_studio_sdk/types/lse_user_api.py +11 -11
- label_studio_sdk/types/lse_user_organization_member_list.py +13 -13
- label_studio_sdk/types/lseapi_token_create.py +1 -1
- label_studio_sdk/types/lseapi_token_list.py +1 -1
- label_studio_sdk/types/lsejwt_settings.py +5 -5
- label_studio_sdk/types/ml_backend.py +27 -28
- label_studio_sdk/types/model_interface.py +12 -12
- label_studio_sdk/types/model_interface_request.py +7 -8
- label_studio_sdk/types/model_interface_serializer_get.py +13 -13
- label_studio_sdk/types/model_provider_connection.py +34 -34
- label_studio_sdk/types/model_provider_connection_request.py +15 -14
- label_studio_sdk/types/model_run.py +12 -12
- label_studio_sdk/types/organization_billing.py +1 -1
- label_studio_sdk/types/organization_id.py +2 -2
- label_studio_sdk/types/organization_invite.py +1 -1
- label_studio_sdk/types/organization_member.py +8 -9
- label_studio_sdk/types/organization_membership.py +2 -1
- label_studio_sdk/types/pause.py +23 -23
- label_studio_sdk/types/prediction.py +21 -21
- label_studio_sdk/types/prediction_request.py +16 -16
- label_studio_sdk/types/project.py +72 -72
- label_studio_sdk/types/project_import.py +21 -21
- label_studio_sdk/types/redis_export_storage.py +34 -34
- label_studio_sdk/types/redis_import_storage.py +37 -37
- label_studio_sdk/types/refined_prompt_response.py +11 -11
- label_studio_sdk/types/review_settings.py +29 -30
- label_studio_sdk/types/review_settings_request.py +29 -30
- label_studio_sdk/types/s3export_storage.py +45 -45
- label_studio_sdk/types/s3import_storage.py +44 -44
- label_studio_sdk/types/selected_items_request.py +1 -1
- label_studio_sdk/types/serialization_options.py +10 -10
- label_studio_sdk/types/serialization_options_request.py +10 -10
- label_studio_sdk/types/task_assignment.py +43 -0
- label_studio_sdk/types/third_party_model_version.py +11 -11
- label_studio_sdk/types/third_party_model_version_request.py +6 -7
- label_studio_sdk/types/type_enum.py +5 -0
- label_studio_sdk/types/user_simple.py +3 -3
- label_studio_sdk/types/user_simple_request.py +1 -1
- label_studio_sdk/types/version_response.py +19 -20
- label_studio_sdk/types/view.py +8 -8
- label_studio_sdk/types/webhook.py +16 -16
- label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
- label_studio_sdk/types/workspace.py +10 -11
- label_studio_sdk/users/client.py +160 -160
- label_studio_sdk/views/client.py +164 -164
- label_studio_sdk/webhooks/client.py +183 -183
- label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
- label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
- label_studio_sdk/workspaces/client.py +40 -40
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +1 -1
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +167 -149
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
- {label_studio_sdk-2.0.1.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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
16
|
+
AWS_ACCESS_KEY_ID
|
|
21
17
|
"""
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
|
|
24
20
|
"""
|
|
25
|
-
|
|
21
|
+
AWS_SECRET_ACCESS_KEY
|
|
26
22
|
"""
|
|
27
23
|
|
|
28
|
-
|
|
24
|
+
aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
|
|
29
25
|
"""
|
|
30
|
-
|
|
26
|
+
AWS_SESSION_TOKEN
|
|
31
27
|
"""
|
|
32
28
|
|
|
33
|
-
|
|
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
|
-
|
|
31
|
+
AWS SSE KMS Key ID
|
|
37
32
|
"""
|
|
38
33
|
|
|
39
|
-
|
|
40
|
-
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
34
|
+
bucket: typing.Optional[str] = pydantic.Field(default=None)
|
|
41
35
|
"""
|
|
42
|
-
|
|
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
|
-
|
|
49
|
+
external_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
51
50
|
"""
|
|
52
|
-
|
|
51
|
+
AWS ExternalId
|
|
53
52
|
"""
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
id: int
|
|
55
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
56
56
|
"""
|
|
57
|
-
|
|
57
|
+
Last sync finished time
|
|
58
58
|
"""
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
61
61
|
"""
|
|
62
|
-
|
|
62
|
+
Count of tasks synced last time
|
|
63
63
|
"""
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
66
66
|
"""
|
|
67
|
-
|
|
67
|
+
Last sync job ID
|
|
68
68
|
"""
|
|
69
69
|
|
|
70
|
-
|
|
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
|
-
|
|
74
|
+
S3 bucket prefix
|
|
73
75
|
"""
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
presign: typing.Optional[bool] = None
|
|
78
|
+
presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
76
79
|
"""
|
|
77
|
-
|
|
80
|
+
Presigned URLs TTL (in minutes)
|
|
78
81
|
"""
|
|
79
82
|
|
|
80
|
-
|
|
83
|
+
project: int = pydantic.Field()
|
|
81
84
|
"""
|
|
82
|
-
|
|
85
|
+
A unique integer value identifying this project.
|
|
83
86
|
"""
|
|
84
87
|
|
|
85
|
-
|
|
88
|
+
recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
|
|
86
89
|
"""
|
|
87
|
-
|
|
90
|
+
Perform recursive scan over the bucket content
|
|
88
91
|
"""
|
|
89
92
|
|
|
90
|
-
|
|
93
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
91
94
|
"""
|
|
92
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
119
|
+
Cloud storage title
|
|
121
120
|
"""
|
|
122
121
|
|
|
123
|
-
|
|
122
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
124
123
|
"""
|
|
125
|
-
|
|
124
|
+
Traceback report for the last failed sync
|
|
126
125
|
"""
|
|
127
126
|
|
|
128
|
-
|
|
127
|
+
type: str
|
|
128
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
129
129
|
"""
|
|
130
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
16
|
+
AWS_ACCESS_KEY_ID
|
|
19
17
|
"""
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
20
|
"""
|
|
23
|
-
|
|
21
|
+
AWS_SECRET_ACCESS_KEY
|
|
24
22
|
"""
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
|
|
27
25
|
"""
|
|
28
|
-
|
|
26
|
+
AWS_SESSION_TOKEN
|
|
29
27
|
"""
|
|
30
28
|
|
|
31
|
-
|
|
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
|
-
|
|
31
|
+
AWS SSE KMS Key ID
|
|
35
32
|
"""
|
|
36
33
|
|
|
37
|
-
|
|
38
|
-
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
34
|
+
bucket: typing.Optional[str] = pydantic.Field(default=None)
|
|
39
35
|
"""
|
|
40
|
-
|
|
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
|
-
|
|
44
|
+
external_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
49
45
|
"""
|
|
50
|
-
|
|
46
|
+
AWS ExternalId
|
|
51
47
|
"""
|
|
52
48
|
|
|
53
|
-
|
|
49
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
54
50
|
"""
|
|
55
|
-
|
|
51
|
+
Last sync finished time
|
|
56
52
|
"""
|
|
57
53
|
|
|
58
|
-
|
|
54
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
59
55
|
"""
|
|
60
|
-
|
|
56
|
+
Count of tasks synced last time
|
|
61
57
|
"""
|
|
62
58
|
|
|
63
|
-
|
|
59
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
64
60
|
"""
|
|
65
|
-
|
|
61
|
+
Last sync job ID
|
|
66
62
|
"""
|
|
67
63
|
|
|
68
|
-
|
|
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
|
-
|
|
68
|
+
S3 bucket prefix
|
|
71
69
|
"""
|
|
72
70
|
|
|
73
|
-
|
|
71
|
+
presign: typing.Optional[bool] = None
|
|
72
|
+
presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
74
73
|
"""
|
|
75
|
-
|
|
74
|
+
Presigned URLs TTL (in minutes)
|
|
76
75
|
"""
|
|
77
76
|
|
|
78
|
-
|
|
77
|
+
project: int = pydantic.Field()
|
|
79
78
|
"""
|
|
80
|
-
|
|
79
|
+
A unique integer value identifying this project.
|
|
81
80
|
"""
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
|
|
84
83
|
"""
|
|
85
|
-
|
|
84
|
+
Perform recursive scan over the bucket content
|
|
86
85
|
"""
|
|
87
86
|
|
|
88
|
-
|
|
87
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
89
88
|
"""
|
|
90
|
-
|
|
89
|
+
Cloud storage regex for filtering objects
|
|
91
90
|
"""
|
|
92
91
|
|
|
93
|
-
|
|
94
|
-
default=None
|
|
95
|
-
)
|
|
92
|
+
region_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
96
93
|
"""
|
|
97
|
-
|
|
94
|
+
AWS Region
|
|
98
95
|
"""
|
|
99
96
|
|
|
100
|
-
|
|
97
|
+
role_arn: str = pydantic.Field()
|
|
101
98
|
"""
|
|
102
|
-
AWS
|
|
99
|
+
AWS RoleArn
|
|
103
100
|
"""
|
|
104
101
|
|
|
105
|
-
|
|
102
|
+
s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
|
|
103
|
+
default=None
|
|
104
|
+
)
|
|
106
105
|
"""
|
|
107
|
-
|
|
106
|
+
S3 Endpoint
|
|
108
107
|
"""
|
|
109
108
|
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
status: typing.Optional[StatusC5AEnum] = None
|
|
110
|
+
synchronizable: typing.Optional[bool] = None
|
|
111
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
112
112
|
"""
|
|
113
|
-
|
|
113
|
+
Cloud storage title
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
117
117
|
"""
|
|
118
|
-
|
|
118
|
+
Traceback report for the last failed sync
|
|
119
119
|
"""
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
122
122
|
"""
|
|
123
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
55
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
|
|
37
|
+
Number of comments in the task including all annotations
|
|
64
38
|
"""
|
|
65
39
|
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
47
|
+
data: typing.Optional[typing.Any] = None
|
|
48
|
+
draft_exists: typing.Optional[bool] = None
|
|
49
|
+
drafts: typing.List[LseTaskDraftsItem] = pydantic.Field()
|
|
76
50
|
"""
|
|
77
|
-
|
|
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
|
-
|
|
74
|
+
predictions: typing.List[LseTaskPredictionsItem] = pydantic.Field()
|
|
91
75
|
"""
|
|
92
|
-
|
|
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
|
-
|
|
100
|
+
updated_at: dt.datetime = pydantic.Field()
|
|
101
101
|
"""
|
|
102
|
-
|
|
102
|
+
Last time a task was updated
|
|
103
103
|
"""
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
updated_by: typing.List[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field()
|
|
106
106
|
"""
|
|
107
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
32
|
+
only_with_annotations: typing.Optional[bool] = None
|
|
33
|
+
reviewed: typing.Optional[LseTaskFilterOptionsReviewed] = pydantic.Field(default=None)
|
|
38
34
|
"""
|
|
39
|
-
`only` - include all tasks
|
|
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
|
-
|
|
47
|
-
reviewed: typing.Optional[LseTaskFilterOptionsReviewed] = pydantic.Field(default=None)
|
|
42
|
+
skipped: typing.Optional[LseTaskFilterOptionsSkipped] = pydantic.Field(default=None)
|
|
48
43
|
"""
|
|
49
|
-
`only` - include all
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
32
|
+
only_with_annotations: typing.Optional[bool] = None
|
|
33
|
+
reviewed: typing.Optional[LseTaskFilterOptionsRequestReviewed] = pydantic.Field(default=None)
|
|
38
34
|
"""
|
|
39
|
-
`only` - include all tasks
|
|
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
|
-
|
|
47
|
-
reviewed: typing.Optional[LseTaskFilterOptionsRequestReviewed] = pydantic.Field(default=None)
|
|
42
|
+
skipped: typing.Optional[LseTaskFilterOptionsRequestSkipped] = pydantic.Field(default=None)
|
|
48
43
|
"""
|
|
49
|
-
`only` - include all
|
|
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:
|