label-studio-sdk 1.0.7__py3-none-any.whl → 1.0.10__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 +26 -7
- label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +13 -4
- 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 +86 -0
- label_studio_sdk/_extensions/pager_ext.py +8 -0
- label_studio_sdk/_legacy/schema/label_config_schema.json +42 -11
- 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 +46 -27
- label_studio_sdk/client.py +1 -0
- label_studio_sdk/comments/client.py +190 -44
- label_studio_sdk/converter/converter.py +66 -18
- 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 +9 -10
- 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/bad_request_error.py +2 -3
- 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/label_interface/control_tags.py +205 -10
- label_studio_sdk/label_interface/interface.py +80 -6
- label_studio_sdk/label_interface/region.py +1 -10
- 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 +656 -21
- label_studio_sdk/predictions/client.py +247 -101
- label_studio_sdk/projects/__init__.py +3 -0
- label_studio_sdk/projects/client.py +309 -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 +134 -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/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 +24 -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 +389 -75
- label_studio_sdk/tasks/client.py +263 -90
- label_studio_sdk/tasks/types/tasks_list_response.py +15 -25
- label_studio_sdk/types/__init__.py +16 -6
- 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/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 +47 -0
- 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/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 +47 -26
- label_studio_sdk/types/model_provider_connection_budget_reset_period.py +5 -0
- 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/prediction.py +21 -30
- label_studio_sdk/types/project.py +48 -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 +46 -48
- label_studio_sdk/types/task_annotators_item.py +1 -1
- label_studio_sdk/types/task_comment_authors_item.py +5 -0
- 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.7.dist-info → label_studio_sdk-1.0.10.dist-info}/METADATA +9 -5
- {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/RECORD +203 -186
- {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.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.7.dist-info → label_studio_sdk-1.0.10.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,158 +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
|
|
8
|
+
from .task_comment_authors_item import TaskCommentAuthorsItem
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
class Task(
|
|
12
|
-
id: typing.Optional[int] =
|
|
12
|
+
class Task(UniversalBaseModel):
|
|
13
|
+
id: typing.Optional[int] = pydantic.Field(default=None)
|
|
13
14
|
"""
|
|
14
15
|
Unique ID of the task
|
|
15
16
|
"""
|
|
16
17
|
|
|
17
|
-
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
|
+
)
|
|
18
21
|
"""
|
|
19
22
|
Predictions for this task
|
|
20
23
|
"""
|
|
21
24
|
|
|
22
|
-
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
|
+
)
|
|
23
28
|
"""
|
|
24
29
|
Annotations for this task
|
|
25
30
|
"""
|
|
26
31
|
|
|
27
|
-
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)
|
|
28
33
|
"""
|
|
29
34
|
Drafts for this task
|
|
30
35
|
"""
|
|
31
36
|
|
|
32
|
-
annotators: typing.Optional[typing.List[TaskAnnotatorsItem]] =
|
|
37
|
+
annotators: typing.Optional[typing.List[TaskAnnotatorsItem]] = pydantic.Field(default=None)
|
|
33
38
|
"""
|
|
34
39
|
List of annotators for this task
|
|
35
40
|
"""
|
|
36
41
|
|
|
37
|
-
inner_id: typing.Optional[int] =
|
|
42
|
+
inner_id: typing.Optional[int] = pydantic.Field(default=None)
|
|
38
43
|
"""
|
|
39
44
|
Inner ID of the task
|
|
40
45
|
"""
|
|
41
46
|
|
|
42
|
-
cancelled_annotations: typing.Optional[int] =
|
|
47
|
+
cancelled_annotations: typing.Optional[int] = pydantic.Field(default=None)
|
|
43
48
|
"""
|
|
44
49
|
Number of cancelled annotations for this task
|
|
45
50
|
"""
|
|
46
51
|
|
|
47
|
-
total_annotations: typing.Optional[int] =
|
|
52
|
+
total_annotations: typing.Optional[int] = pydantic.Field(default=None)
|
|
48
53
|
"""
|
|
49
54
|
Total number of annotations for this task
|
|
50
55
|
"""
|
|
51
56
|
|
|
52
|
-
total_predictions: typing.Optional[int] =
|
|
57
|
+
total_predictions: typing.Optional[int] = pydantic.Field(default=None)
|
|
53
58
|
"""
|
|
54
59
|
Total number of predictions for this task
|
|
55
60
|
"""
|
|
56
61
|
|
|
57
|
-
completed_at: typing.Optional[dt.datetime] =
|
|
62
|
+
completed_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
58
63
|
"""
|
|
59
64
|
Completion time of the task
|
|
60
65
|
"""
|
|
61
66
|
|
|
62
|
-
file_upload: typing.Optional[str] =
|
|
67
|
+
file_upload: typing.Optional[str] = pydantic.Field(default=None)
|
|
63
68
|
"""
|
|
64
69
|
File upload ID for this task
|
|
65
70
|
"""
|
|
66
71
|
|
|
67
|
-
storage_filename: typing.Optional[str] =
|
|
72
|
+
storage_filename: typing.Optional[str] = pydantic.Field(default=None)
|
|
68
73
|
"""
|
|
69
74
|
Storage filename for this task
|
|
70
75
|
"""
|
|
71
76
|
|
|
72
|
-
avg_lead_time: typing.Optional[float] =
|
|
77
|
+
avg_lead_time: typing.Optional[float] = pydantic.Field(default=None)
|
|
73
78
|
"""
|
|
74
79
|
Average lead time for this task
|
|
75
80
|
"""
|
|
76
81
|
|
|
77
|
-
draft_exists: typing.Optional[bool] =
|
|
82
|
+
draft_exists: typing.Optional[bool] = pydantic.Field(default=None)
|
|
78
83
|
"""
|
|
79
84
|
Whether a draft exists for this task or not
|
|
80
85
|
"""
|
|
81
86
|
|
|
82
|
-
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
|
+
)
|
|
83
90
|
"""
|
|
84
91
|
List of annotators' info who updated this task
|
|
85
92
|
"""
|
|
86
93
|
|
|
87
|
-
data: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
94
|
+
data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
88
95
|
"""
|
|
89
96
|
Data of the task
|
|
90
97
|
"""
|
|
91
98
|
|
|
92
|
-
meta: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
99
|
+
meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
93
100
|
"""
|
|
94
101
|
Meta information of the task
|
|
95
102
|
"""
|
|
96
103
|
|
|
97
|
-
created_at: typing.Optional[dt.datetime] =
|
|
104
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
98
105
|
"""
|
|
99
106
|
Creation time of the task
|
|
100
107
|
"""
|
|
101
108
|
|
|
102
|
-
updated_at: typing.Optional[dt.datetime] =
|
|
109
|
+
updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
103
110
|
"""
|
|
104
111
|
Last updated time of the task
|
|
105
112
|
"""
|
|
106
113
|
|
|
107
|
-
is_labeled: typing.Optional[bool] =
|
|
114
|
+
is_labeled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
108
115
|
"""
|
|
109
116
|
Whether the task is labeled or not
|
|
110
117
|
"""
|
|
111
118
|
|
|
112
|
-
overlap: typing.Optional[float] =
|
|
119
|
+
overlap: typing.Optional[float] = pydantic.Field(default=None)
|
|
113
120
|
"""
|
|
114
121
|
Overlap for the task
|
|
115
122
|
"""
|
|
116
123
|
|
|
117
|
-
comment_count: typing.Optional[int] =
|
|
124
|
+
comment_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
118
125
|
"""
|
|
119
126
|
Number of comments for this task
|
|
120
127
|
"""
|
|
121
128
|
|
|
122
|
-
unresolved_comment_count: typing.Optional[int] =
|
|
129
|
+
unresolved_comment_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
123
130
|
"""
|
|
124
131
|
Number of unresolved comments for this task
|
|
125
132
|
"""
|
|
126
133
|
|
|
127
|
-
last_comment_updated_at: typing.Optional[dt.datetime] =
|
|
134
|
+
last_comment_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
128
135
|
"""
|
|
129
136
|
Last updated time of the comments for this task
|
|
130
137
|
"""
|
|
131
138
|
|
|
132
|
-
project: typing.Optional[int] =
|
|
139
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
133
140
|
"""
|
|
134
141
|
Project ID for this task
|
|
135
142
|
"""
|
|
136
143
|
|
|
137
|
-
comment_authors: typing.Optional[typing.List[
|
|
144
|
+
comment_authors: typing.Optional[typing.List[TaskCommentAuthorsItem]] = pydantic.Field(default=None)
|
|
138
145
|
"""
|
|
139
|
-
List of comment authors
|
|
146
|
+
List of comment authors for this task
|
|
140
147
|
"""
|
|
141
148
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
147
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
148
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
149
|
-
|
|
150
|
-
return deep_union_pydantic_dicts(
|
|
151
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
152
|
-
)
|
|
149
|
+
if IS_PYDANTIC_V2:
|
|
150
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
151
|
+
else:
|
|
153
152
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
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
|