label-studio-sdk 1.0.8__py3-none-any.whl → 1.0.11__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 +37 -8
- label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +16 -4
- label_studio_sdk/_extensions/label_studio_tools/core/utils/json_schema.py +5 -0
- label_studio_sdk/_extensions/pager_ext.py +8 -0
- label_studio_sdk/actions/client.py +91 -40
- label_studio_sdk/actions/types/actions_create_request_filters.py +14 -24
- label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +16 -26
- label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +3 -1
- label_studio_sdk/actions/types/actions_create_request_selected_items.py +1 -2
- label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +15 -25
- label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +15 -25
- label_studio_sdk/annotations/__init__.py +2 -2
- label_studio_sdk/annotations/client.py +278 -104
- label_studio_sdk/annotations/types/__init__.py +2 -1
- label_studio_sdk/annotations/types/annotations_create_bulk_request_selected_items.py +34 -0
- label_studio_sdk/annotations/types/annotations_create_bulk_response_item.py +11 -21
- label_studio_sdk/base_client.py +54 -27
- label_studio_sdk/client.py +1 -0
- label_studio_sdk/comments/client.py +190 -44
- label_studio_sdk/converter/converter.py +56 -13
- label_studio_sdk/converter/imports/yolo.py +1 -1
- label_studio_sdk/converter/utils.py +3 -2
- label_studio_sdk/core/__init__.py +21 -4
- label_studio_sdk/core/client_wrapper.py +37 -19
- label_studio_sdk/core/file.py +37 -8
- label_studio_sdk/core/http_client.py +52 -28
- label_studio_sdk/core/jsonable_encoder.py +33 -31
- label_studio_sdk/core/pagination.py +5 -4
- label_studio_sdk/core/pydantic_utilities.py +272 -4
- label_studio_sdk/core/query_encoder.py +38 -13
- label_studio_sdk/core/request_options.py +3 -0
- label_studio_sdk/core/serialization.py +272 -0
- label_studio_sdk/errors/__init__.py +3 -1
- label_studio_sdk/errors/bad_request_error.py +2 -3
- label_studio_sdk/errors/not_found_error.py +9 -0
- label_studio_sdk/errors/unauthorized_error.py +9 -0
- label_studio_sdk/export_storage/azure/client.py +228 -58
- label_studio_sdk/export_storage/azure/types/azure_create_response.py +19 -29
- label_studio_sdk/export_storage/azure/types/azure_update_response.py +19 -29
- label_studio_sdk/export_storage/client.py +48 -18
- label_studio_sdk/export_storage/gcs/client.py +228 -58
- label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +19 -29
- label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +19 -29
- label_studio_sdk/export_storage/local/client.py +222 -56
- label_studio_sdk/export_storage/local/types/local_create_response.py +17 -27
- label_studio_sdk/export_storage/local/types/local_update_response.py +17 -27
- label_studio_sdk/export_storage/redis/client.py +228 -58
- label_studio_sdk/export_storage/redis/types/redis_create_response.py +20 -30
- label_studio_sdk/export_storage/redis/types/redis_update_response.py +20 -30
- label_studio_sdk/export_storage/s3/client.py +228 -58
- label_studio_sdk/export_storage/s3/types/s3create_response.py +27 -35
- label_studio_sdk/export_storage/s3/types/s3update_response.py +27 -35
- label_studio_sdk/export_storage/s3s/client.py +187 -43
- label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +11 -21
- label_studio_sdk/files/client.py +172 -56
- label_studio_sdk/import_storage/azure/client.py +223 -53
- label_studio_sdk/import_storage/azure/types/azure_create_response.py +22 -32
- label_studio_sdk/import_storage/azure/types/azure_update_response.py +22 -32
- label_studio_sdk/import_storage/client.py +48 -18
- label_studio_sdk/import_storage/gcs/client.py +223 -53
- label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +22 -32
- label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +22 -32
- label_studio_sdk/import_storage/local/client.py +223 -53
- label_studio_sdk/import_storage/local/types/local_create_response.py +17 -27
- label_studio_sdk/import_storage/local/types/local_update_response.py +17 -27
- label_studio_sdk/import_storage/redis/client.py +223 -53
- label_studio_sdk/import_storage/redis/types/redis_create_response.py +20 -30
- label_studio_sdk/import_storage/redis/types/redis_update_response.py +20 -30
- label_studio_sdk/import_storage/s3/client.py +223 -53
- label_studio_sdk/import_storage/s3/types/s3create_response.py +31 -39
- label_studio_sdk/import_storage/s3/types/s3update_response.py +31 -39
- label_studio_sdk/import_storage/s3s/client.py +222 -52
- label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +11 -21
- label_studio_sdk/jwt_settings/__init__.py +2 -0
- label_studio_sdk/jwt_settings/client.py +259 -0
- label_studio_sdk/label_interface/control_tags.py +16 -3
- label_studio_sdk/label_interface/interface.py +80 -1
- label_studio_sdk/label_interface/object_tags.py +2 -2
- label_studio_sdk/ml/client.py +280 -78
- label_studio_sdk/ml/types/ml_create_response.py +21 -31
- label_studio_sdk/ml/types/ml_update_response.py +21 -31
- label_studio_sdk/model_providers/client.py +173 -56
- label_studio_sdk/predictions/client.py +247 -101
- label_studio_sdk/projects/__init__.py +5 -1
- label_studio_sdk/projects/client.py +313 -115
- label_studio_sdk/projects/client_ext.py +16 -0
- label_studio_sdk/projects/exports/__init__.py +3 -0
- label_studio_sdk/projects/exports/client.py +447 -296
- label_studio_sdk/projects/exports/client_ext.py +200 -0
- label_studio_sdk/projects/exports/types/__init__.py +6 -0
- label_studio_sdk/projects/exports/types/exports_convert_response.py +24 -0
- label_studio_sdk/projects/exports/types/exports_list_formats_response_item.py +44 -0
- label_studio_sdk/projects/pauses/__init__.py +2 -0
- label_studio_sdk/projects/pauses/client.py +704 -0
- label_studio_sdk/projects/types/projects_create_response.py +29 -34
- label_studio_sdk/projects/types/projects_import_tasks_response.py +19 -29
- label_studio_sdk/projects/types/projects_list_response.py +11 -21
- label_studio_sdk/projects/types/projects_update_response.py +34 -34
- label_studio_sdk/prompts/client.py +309 -92
- label_studio_sdk/prompts/indicators/client.py +67 -23
- label_studio_sdk/prompts/runs/client.py +95 -40
- label_studio_sdk/prompts/types/prompts_batch_failed_predictions_request_failed_predictions_item.py +14 -24
- label_studio_sdk/prompts/types/prompts_batch_failed_predictions_response.py +11 -21
- label_studio_sdk/prompts/types/prompts_batch_predictions_request_results_item.py +26 -29
- label_studio_sdk/prompts/types/prompts_batch_predictions_response.py +11 -21
- label_studio_sdk/prompts/versions/client.py +277 -88
- label_studio_sdk/tasks/client.py +263 -90
- label_studio_sdk/tasks/types/tasks_list_response.py +15 -25
- label_studio_sdk/tokens/__init__.py +2 -0
- label_studio_sdk/tokens/client.py +470 -0
- label_studio_sdk/tokens/client_ext.py +94 -0
- label_studio_sdk/types/__init__.py +20 -6
- label_studio_sdk/types/access_token_response.py +22 -0
- label_studio_sdk/types/annotation.py +29 -38
- label_studio_sdk/types/annotation_filter_options.py +14 -24
- label_studio_sdk/types/annotations_dm_field.py +30 -39
- label_studio_sdk/types/api_token_response.py +32 -0
- label_studio_sdk/types/azure_blob_export_storage.py +28 -37
- label_studio_sdk/types/azure_blob_import_storage.py +28 -37
- label_studio_sdk/types/base_task.py +30 -39
- label_studio_sdk/types/base_task_updated_by.py +3 -1
- label_studio_sdk/types/base_user.py +14 -21
- label_studio_sdk/types/comment.py +12 -21
- label_studio_sdk/types/comment_created_by.py +1 -1
- label_studio_sdk/types/converted_format.py +12 -22
- label_studio_sdk/types/data_manager_task_serializer.py +31 -40
- label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +1 -1
- label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +13 -22
- label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +15 -24
- label_studio_sdk/types/export.py +17 -26
- label_studio_sdk/types/export_format.py +25 -0
- label_studio_sdk/types/export_snapshot.py +45 -0
- label_studio_sdk/types/export_snapshot_status.py +5 -0
- label_studio_sdk/types/file_upload.py +11 -21
- label_studio_sdk/types/filter.py +16 -26
- label_studio_sdk/types/filter_group.py +12 -22
- label_studio_sdk/types/gcs_export_storage.py +28 -37
- label_studio_sdk/types/gcs_import_storage.py +28 -37
- label_studio_sdk/types/inference_run.py +14 -23
- label_studio_sdk/types/inference_run_cost_estimate.py +17 -27
- label_studio_sdk/types/inference_run_created_by.py +1 -1
- label_studio_sdk/types/inference_run_organization.py +1 -1
- label_studio_sdk/types/jwt_settings_response.py +32 -0
- label_studio_sdk/types/key_indicator_value.py +12 -22
- label_studio_sdk/types/key_indicators.py +0 -1
- label_studio_sdk/types/key_indicators_item.py +15 -25
- label_studio_sdk/types/key_indicators_item_additional_kpis_item.py +13 -23
- label_studio_sdk/types/key_indicators_item_extra_kpis_item.py +13 -23
- label_studio_sdk/types/local_files_export_storage.py +25 -34
- label_studio_sdk/types/local_files_import_storage.py +24 -33
- label_studio_sdk/types/ml_backend.py +23 -32
- label_studio_sdk/types/model_provider_connection.py +22 -31
- label_studio_sdk/types/model_provider_connection_created_by.py +1 -1
- label_studio_sdk/types/model_provider_connection_organization.py +1 -1
- label_studio_sdk/types/model_provider_connection_provider.py +3 -1
- label_studio_sdk/types/pause.py +34 -0
- label_studio_sdk/types/pause_paused_by.py +5 -0
- label_studio_sdk/types/prediction.py +21 -30
- label_studio_sdk/types/project.py +58 -55
- label_studio_sdk/types/project_import.py +21 -30
- label_studio_sdk/types/project_label_config.py +12 -22
- label_studio_sdk/types/prompt.py +24 -32
- label_studio_sdk/types/prompt_associated_projects_item.py +6 -0
- label_studio_sdk/types/prompt_associated_projects_item_id.py +20 -0
- label_studio_sdk/types/prompt_created_by.py +1 -1
- label_studio_sdk/types/prompt_organization.py +1 -1
- label_studio_sdk/types/prompt_version.py +13 -22
- label_studio_sdk/types/prompt_version_created_by.py +1 -1
- label_studio_sdk/types/prompt_version_organization.py +1 -1
- label_studio_sdk/types/prompt_version_provider.py +3 -1
- label_studio_sdk/types/redis_export_storage.py +29 -38
- label_studio_sdk/types/redis_import_storage.py +28 -37
- label_studio_sdk/types/refined_prompt_response.py +19 -29
- label_studio_sdk/types/s3export_storage.py +36 -43
- label_studio_sdk/types/s3import_storage.py +37 -44
- label_studio_sdk/types/s3s_export_storage.py +26 -33
- label_studio_sdk/types/s3s_import_storage.py +35 -42
- label_studio_sdk/types/serialization_option.py +12 -22
- label_studio_sdk/types/serialization_options.py +18 -28
- label_studio_sdk/types/task.py +44 -47
- label_studio_sdk/types/task_annotators_item.py +1 -1
- label_studio_sdk/types/task_comment_authors_item.py +1 -1
- label_studio_sdk/types/task_filter_options.py +15 -25
- label_studio_sdk/types/user_simple.py +11 -21
- label_studio_sdk/types/view.py +16 -26
- label_studio_sdk/types/webhook.py +19 -28
- label_studio_sdk/types/webhook_serializer_for_update.py +19 -28
- label_studio_sdk/types/workspace.py +22 -31
- label_studio_sdk/users/client.py +257 -63
- label_studio_sdk/users/types/users_get_token_response.py +12 -22
- label_studio_sdk/users/types/users_reset_token_response.py +12 -22
- label_studio_sdk/version.py +0 -1
- label_studio_sdk/versions/__init__.py +5 -0
- label_studio_sdk/versions/client.py +112 -0
- label_studio_sdk/versions/types/__init__.py +6 -0
- label_studio_sdk/versions/types/versions_get_response.py +73 -0
- label_studio_sdk/versions/types/versions_get_response_edition.py +5 -0
- label_studio_sdk/views/client.py +219 -52
- label_studio_sdk/views/types/views_create_request_data.py +13 -23
- label_studio_sdk/views/types/views_create_request_data_filters.py +14 -24
- label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +16 -26
- label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +3 -1
- label_studio_sdk/views/types/views_update_request_data.py +13 -23
- label_studio_sdk/views/types/views_update_request_data_filters.py +14 -24
- label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +16 -26
- label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +3 -1
- label_studio_sdk/webhooks/client.py +191 -61
- label_studio_sdk/workspaces/client.py +164 -41
- label_studio_sdk/workspaces/members/client.py +109 -31
- label_studio_sdk/workspaces/members/types/members_create_response.py +12 -22
- label_studio_sdk/workspaces/members/types/members_list_response_item.py +12 -22
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/METADATA +8 -5
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/RECORD +215 -188
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/WHEEL +1 -1
- label_studio_sdk/types/export_convert.py +0 -32
- label_studio_sdk/types/export_create.py +0 -54
- label_studio_sdk/types/export_create_status.py +0 -5
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/LICENSE +0 -0
|
@@ -1,129 +1,122 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
5
|
+
import datetime as dt
|
|
6
|
+
import pydantic
|
|
8
7
|
from .s3s_import_storage_status import S3SImportStorageStatus
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
class S3SImportStorage(
|
|
13
|
+
class S3SImportStorage(UniversalBaseModel):
|
|
12
14
|
id: typing.Optional[int] = None
|
|
13
15
|
synchronizable: typing.Optional[bool] = None
|
|
14
16
|
presign: typing.Optional[bool] = None
|
|
15
|
-
last_sync: typing.Optional[dt.datetime] =
|
|
17
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
16
18
|
"""
|
|
17
19
|
Last sync finished time
|
|
18
20
|
"""
|
|
19
21
|
|
|
20
|
-
last_sync_count: typing.Optional[int] =
|
|
22
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
21
23
|
"""
|
|
22
24
|
Count of tasks synced last time
|
|
23
25
|
"""
|
|
24
26
|
|
|
25
|
-
last_sync_job: typing.Optional[str] =
|
|
27
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
26
28
|
"""
|
|
27
29
|
Last sync job ID
|
|
28
30
|
"""
|
|
29
31
|
|
|
30
32
|
status: typing.Optional[S3SImportStorageStatus] = None
|
|
31
|
-
traceback: typing.Optional[str] =
|
|
33
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
32
34
|
"""
|
|
33
35
|
Traceback report for the last failed sync
|
|
34
36
|
"""
|
|
35
37
|
|
|
36
|
-
meta: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
38
|
+
meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
37
39
|
"""
|
|
38
40
|
Meta and debug information about storage processes
|
|
39
41
|
"""
|
|
40
42
|
|
|
41
|
-
title: typing.Optional[str] =
|
|
43
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
42
44
|
"""
|
|
43
45
|
Cloud storage title
|
|
44
46
|
"""
|
|
45
47
|
|
|
46
|
-
description: typing.Optional[str] =
|
|
48
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
47
49
|
"""
|
|
48
50
|
Cloud storage description
|
|
49
51
|
"""
|
|
50
52
|
|
|
51
|
-
created_at: typing.Optional[dt.datetime] =
|
|
53
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
52
54
|
"""
|
|
53
55
|
Creation time
|
|
54
56
|
"""
|
|
55
57
|
|
|
56
|
-
bucket: typing.Optional[str] =
|
|
58
|
+
bucket: typing.Optional[str] = pydantic.Field(default=None)
|
|
57
59
|
"""
|
|
58
60
|
S3 bucket name
|
|
59
61
|
"""
|
|
60
62
|
|
|
61
|
-
prefix: typing.Optional[str] =
|
|
63
|
+
prefix: typing.Optional[str] = pydantic.Field(default=None)
|
|
62
64
|
"""
|
|
63
65
|
S3 bucket prefix
|
|
64
66
|
"""
|
|
65
67
|
|
|
66
|
-
regex_filter: typing.Optional[str] =
|
|
68
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
67
69
|
"""
|
|
68
70
|
Cloud storage regex for filtering objects
|
|
69
71
|
"""
|
|
70
72
|
|
|
71
|
-
use_blob_urls: typing.Optional[bool] =
|
|
73
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
72
74
|
"""
|
|
73
75
|
Interpret objects as BLOBs and generate URLs
|
|
74
76
|
"""
|
|
75
77
|
|
|
76
|
-
region_name: typing.Optional[str] =
|
|
78
|
+
region_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
77
79
|
"""
|
|
78
80
|
AWS Region
|
|
79
81
|
"""
|
|
80
82
|
|
|
81
|
-
external_id: typing.Optional[str] =
|
|
83
|
+
external_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
82
84
|
"""
|
|
83
85
|
AWS External ID
|
|
84
86
|
"""
|
|
85
87
|
|
|
86
|
-
role_arn: typing.Optional[str] =
|
|
88
|
+
role_arn: typing.Optional[str] = pydantic.Field(default=None)
|
|
87
89
|
"""
|
|
88
90
|
AWS Role ARN
|
|
89
91
|
"""
|
|
90
92
|
|
|
91
|
-
s3endpoint: typing.Optional[str]
|
|
93
|
+
s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
|
|
94
|
+
default=None
|
|
95
|
+
)
|
|
92
96
|
"""
|
|
93
97
|
S3 Endpoint
|
|
94
98
|
"""
|
|
95
99
|
|
|
96
|
-
presign_ttl: typing.Optional[int] =
|
|
100
|
+
presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
97
101
|
"""
|
|
98
102
|
Presigned URLs TTL (in minutes)
|
|
99
103
|
"""
|
|
100
104
|
|
|
101
|
-
recursive_scan: typing.Optional[bool] =
|
|
105
|
+
recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
|
|
102
106
|
"""
|
|
103
107
|
Perform recursive scan over the bucket content
|
|
104
108
|
"""
|
|
105
109
|
|
|
106
|
-
project: int =
|
|
110
|
+
project: int = pydantic.Field()
|
|
107
111
|
"""
|
|
108
112
|
A unique integer value identifying this project.
|
|
109
113
|
"""
|
|
110
114
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
116
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
117
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
118
|
-
|
|
119
|
-
return deep_union_pydantic_dicts(
|
|
120
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
121
|
-
)
|
|
115
|
+
if IS_PYDANTIC_V2:
|
|
116
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
117
|
+
else:
|
|
122
118
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
populate_by_name = True
|
|
128
|
-
extra = pydantic_v1.Extra.allow
|
|
129
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
119
|
+
class Config:
|
|
120
|
+
frozen = True
|
|
121
|
+
smart_union = True
|
|
122
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,36 +1,26 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
7
|
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
class SerializationOption(pydantic_v1.BaseModel):
|
|
9
|
+
class SerializationOption(UniversalBaseModel):
|
|
11
10
|
"""
|
|
12
11
|
JSON dict with parameters
|
|
13
12
|
"""
|
|
14
13
|
|
|
15
|
-
only_id: typing.Optional[bool] =
|
|
14
|
+
only_id: typing.Optional[bool] = pydantic.Field(default=None)
|
|
16
15
|
"""
|
|
17
16
|
Include a full json body or IDs only
|
|
18
17
|
"""
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
25
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
26
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
27
|
-
|
|
28
|
-
return deep_union_pydantic_dicts(
|
|
29
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
30
|
-
)
|
|
19
|
+
if IS_PYDANTIC_V2:
|
|
20
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
31
22
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,45 +1,35 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
5
|
from .serialization_option import SerializationOption
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.serialization import FieldMetadata
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
class SerializationOptions(
|
|
12
|
+
class SerializationOptions(UniversalBaseModel):
|
|
12
13
|
drafts: typing.Optional[SerializationOption] = None
|
|
13
14
|
predictions: typing.Optional[SerializationOption] = None
|
|
14
|
-
include_annotation_history: typing.Optional[bool] =
|
|
15
|
+
include_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
16
|
"""
|
|
16
17
|
Include annotation history
|
|
17
18
|
"""
|
|
18
19
|
|
|
19
|
-
annotations_completed_by:
|
|
20
|
-
alias="annotations__completed_by"
|
|
21
|
-
|
|
22
|
-
interpolate_key_frames: typing.Optional[bool] =
|
|
20
|
+
annotations_completed_by: typing_extensions.Annotated[
|
|
21
|
+
typing.Optional[SerializationOption], FieldMetadata(alias="annotations__completed_by")
|
|
22
|
+
] = None
|
|
23
|
+
interpolate_key_frames: typing.Optional[bool] = pydantic.Field(default=None)
|
|
23
24
|
"""
|
|
24
25
|
Interpolate video key frames
|
|
25
26
|
"""
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
32
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
33
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
34
|
-
|
|
35
|
-
return deep_union_pydantic_dicts(
|
|
36
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
37
|
-
)
|
|
28
|
+
if IS_PYDANTIC_V2:
|
|
29
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
30
|
+
else:
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
populate_by_name = True
|
|
44
|
-
extra = pydantic_v1.Extra.allow
|
|
45
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
32
|
+
class Config:
|
|
33
|
+
frozen = True
|
|
34
|
+
smart_union = True
|
|
35
|
+
extra = pydantic.Extra.allow
|
label_studio_sdk/types/task.py
CHANGED
|
@@ -1,159 +1,156 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
5
|
+
import pydantic
|
|
8
6
|
from .task_annotators_item import TaskAnnotatorsItem
|
|
7
|
+
import datetime as dt
|
|
9
8
|
from .task_comment_authors_item import TaskCommentAuthorsItem
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class Task(
|
|
13
|
-
id: typing.Optional[int] =
|
|
12
|
+
class Task(UniversalBaseModel):
|
|
13
|
+
id: typing.Optional[int] = pydantic.Field(default=None)
|
|
14
14
|
"""
|
|
15
15
|
Unique ID of the task
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
|
-
predictions: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
18
|
+
predictions: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(
|
|
19
|
+
default=None
|
|
20
|
+
)
|
|
19
21
|
"""
|
|
20
22
|
Predictions for this task
|
|
21
23
|
"""
|
|
22
24
|
|
|
23
|
-
annotations: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
25
|
+
annotations: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(
|
|
26
|
+
default=None
|
|
27
|
+
)
|
|
24
28
|
"""
|
|
25
29
|
Annotations for this task
|
|
26
30
|
"""
|
|
27
31
|
|
|
28
|
-
drafts: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
32
|
+
drafts: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(default=None)
|
|
29
33
|
"""
|
|
30
34
|
Drafts for this task
|
|
31
35
|
"""
|
|
32
36
|
|
|
33
|
-
annotators: typing.Optional[typing.List[TaskAnnotatorsItem]] =
|
|
37
|
+
annotators: typing.Optional[typing.List[TaskAnnotatorsItem]] = pydantic.Field(default=None)
|
|
34
38
|
"""
|
|
35
39
|
List of annotators for this task
|
|
36
40
|
"""
|
|
37
41
|
|
|
38
|
-
inner_id: typing.Optional[int] =
|
|
42
|
+
inner_id: typing.Optional[int] = pydantic.Field(default=None)
|
|
39
43
|
"""
|
|
40
44
|
Inner ID of the task
|
|
41
45
|
"""
|
|
42
46
|
|
|
43
|
-
cancelled_annotations: typing.Optional[int] =
|
|
47
|
+
cancelled_annotations: typing.Optional[int] = pydantic.Field(default=None)
|
|
44
48
|
"""
|
|
45
49
|
Number of cancelled annotations for this task
|
|
46
50
|
"""
|
|
47
51
|
|
|
48
|
-
total_annotations: typing.Optional[int] =
|
|
52
|
+
total_annotations: typing.Optional[int] = pydantic.Field(default=None)
|
|
49
53
|
"""
|
|
50
54
|
Total number of annotations for this task
|
|
51
55
|
"""
|
|
52
56
|
|
|
53
|
-
total_predictions: typing.Optional[int] =
|
|
57
|
+
total_predictions: typing.Optional[int] = pydantic.Field(default=None)
|
|
54
58
|
"""
|
|
55
59
|
Total number of predictions for this task
|
|
56
60
|
"""
|
|
57
61
|
|
|
58
|
-
completed_at: typing.Optional[dt.datetime] =
|
|
62
|
+
completed_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
59
63
|
"""
|
|
60
64
|
Completion time of the task
|
|
61
65
|
"""
|
|
62
66
|
|
|
63
|
-
file_upload: typing.Optional[str] =
|
|
67
|
+
file_upload: typing.Optional[str] = pydantic.Field(default=None)
|
|
64
68
|
"""
|
|
65
69
|
File upload ID for this task
|
|
66
70
|
"""
|
|
67
71
|
|
|
68
|
-
storage_filename: typing.Optional[str] =
|
|
72
|
+
storage_filename: typing.Optional[str] = pydantic.Field(default=None)
|
|
69
73
|
"""
|
|
70
74
|
Storage filename for this task
|
|
71
75
|
"""
|
|
72
76
|
|
|
73
|
-
avg_lead_time: typing.Optional[float] =
|
|
77
|
+
avg_lead_time: typing.Optional[float] = pydantic.Field(default=None)
|
|
74
78
|
"""
|
|
75
79
|
Average lead time for this task
|
|
76
80
|
"""
|
|
77
81
|
|
|
78
|
-
draft_exists: typing.Optional[bool] =
|
|
82
|
+
draft_exists: typing.Optional[bool] = pydantic.Field(default=None)
|
|
79
83
|
"""
|
|
80
84
|
Whether a draft exists for this task or not
|
|
81
85
|
"""
|
|
82
86
|
|
|
83
|
-
updated_by: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
87
|
+
updated_by: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(
|
|
88
|
+
default=None
|
|
89
|
+
)
|
|
84
90
|
"""
|
|
85
91
|
List of annotators' info who updated this task
|
|
86
92
|
"""
|
|
87
93
|
|
|
88
|
-
data: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
94
|
+
data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
89
95
|
"""
|
|
90
96
|
Data of the task
|
|
91
97
|
"""
|
|
92
98
|
|
|
93
|
-
meta: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
99
|
+
meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
94
100
|
"""
|
|
95
101
|
Meta information of the task
|
|
96
102
|
"""
|
|
97
103
|
|
|
98
|
-
created_at: typing.Optional[dt.datetime] =
|
|
104
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
99
105
|
"""
|
|
100
106
|
Creation time of the task
|
|
101
107
|
"""
|
|
102
108
|
|
|
103
|
-
updated_at: typing.Optional[dt.datetime] =
|
|
109
|
+
updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
104
110
|
"""
|
|
105
111
|
Last updated time of the task
|
|
106
112
|
"""
|
|
107
113
|
|
|
108
|
-
is_labeled: typing.Optional[bool] =
|
|
114
|
+
is_labeled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
109
115
|
"""
|
|
110
116
|
Whether the task is labeled or not
|
|
111
117
|
"""
|
|
112
118
|
|
|
113
|
-
overlap: typing.Optional[float] =
|
|
119
|
+
overlap: typing.Optional[float] = pydantic.Field(default=None)
|
|
114
120
|
"""
|
|
115
121
|
Overlap for the task
|
|
116
122
|
"""
|
|
117
123
|
|
|
118
|
-
comment_count: typing.Optional[int] =
|
|
124
|
+
comment_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
119
125
|
"""
|
|
120
126
|
Number of comments for this task
|
|
121
127
|
"""
|
|
122
128
|
|
|
123
|
-
unresolved_comment_count: typing.Optional[int] =
|
|
129
|
+
unresolved_comment_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
124
130
|
"""
|
|
125
131
|
Number of unresolved comments for this task
|
|
126
132
|
"""
|
|
127
133
|
|
|
128
|
-
last_comment_updated_at: typing.Optional[dt.datetime] =
|
|
134
|
+
last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
129
135
|
"""
|
|
130
136
|
Last updated time of the comments for this task
|
|
131
137
|
"""
|
|
132
138
|
|
|
133
|
-
project: typing.Optional[int] =
|
|
139
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
134
140
|
"""
|
|
135
141
|
Project ID for this task
|
|
136
142
|
"""
|
|
137
143
|
|
|
138
|
-
comment_authors: typing.Optional[typing.List[TaskCommentAuthorsItem]] =
|
|
144
|
+
comment_authors: typing.Optional[typing.List[TaskCommentAuthorsItem]] = pydantic.Field(default=None)
|
|
139
145
|
"""
|
|
140
146
|
List of comment authors for this task
|
|
141
147
|
"""
|
|
142
148
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
148
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
149
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
150
|
-
|
|
151
|
-
return deep_union_pydantic_dicts(
|
|
152
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
153
|
-
)
|
|
149
|
+
if IS_PYDANTIC_V2:
|
|
150
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
151
|
+
else:
|
|
154
152
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
153
|
+
class Config:
|
|
154
|
+
frozen = True
|
|
155
|
+
smart_union = True
|
|
156
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,49 +1,39 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
7
|
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
view: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
9
|
+
class TaskFilterOptions(UniversalBaseModel):
|
|
10
|
+
view: typing.Optional[int] = pydantic.Field(default=None)
|
|
12
11
|
"""
|
|
13
12
|
Apply filters from the view ID (a tab from the Data Manager)
|
|
14
13
|
"""
|
|
15
14
|
|
|
16
|
-
skipped: typing.Optional[str] =
|
|
15
|
+
skipped: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
16
|
"""
|
|
18
17
|
`only` - include all tasks with skipped annotations<br>`exclude` - exclude all tasks with skipped annotations
|
|
19
18
|
"""
|
|
20
19
|
|
|
21
|
-
finished: typing.Optional[str] =
|
|
20
|
+
finished: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
21
|
"""
|
|
23
22
|
`only` - include all finished tasks (is_labeled = true)<br>`exclude` - exclude all finished tasks
|
|
24
23
|
"""
|
|
25
24
|
|
|
26
|
-
annotated: typing.Optional[str] =
|
|
25
|
+
annotated: typing.Optional[str] = pydantic.Field(default=None)
|
|
27
26
|
"""
|
|
28
27
|
`only` - include all tasks with at least one not skipped annotation<br>`exclude` - exclude all tasks with at least one not skipped annotation
|
|
29
28
|
"""
|
|
30
29
|
|
|
31
30
|
only_with_annotations: typing.Optional[bool] = None
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
38
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
39
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
40
|
-
|
|
41
|
-
return deep_union_pydantic_dicts(
|
|
42
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
43
|
-
)
|
|
32
|
+
if IS_PYDANTIC_V2:
|
|
33
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
34
|
+
else:
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
36
|
+
class Config:
|
|
37
|
+
frozen = True
|
|
38
|
+
smart_union = True
|
|
39
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import pydantic
|
|
5
7
|
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
class UserSimple(pydantic_v1.BaseModel):
|
|
9
|
+
class UserSimple(UniversalBaseModel):
|
|
11
10
|
"""
|
|
12
11
|
Project owner
|
|
13
12
|
"""
|
|
@@ -18,20 +17,11 @@ class UserSimple(pydantic_v1.BaseModel):
|
|
|
18
17
|
email: typing.Optional[str] = None
|
|
19
18
|
avatar: typing.Optional[str] = None
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
26
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
27
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
28
|
-
|
|
29
|
-
return deep_union_pydantic_dicts(
|
|
30
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
31
|
-
)
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
32
23
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|