label-studio-sdk 0.0.34__py3-none-any.whl → 1.0.1__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 +232 -9
- label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +163 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +2 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +228 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +45 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +1 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +34 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/example.py +17 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +67 -0
- label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +97 -0
- label_studio_sdk/_extensions/pager_ext.py +49 -0
- label_studio_sdk/_legacy/__init__.py +11 -0
- label_studio_sdk/_legacy/client.py +471 -0
- label_studio_sdk/_legacy/objects.py +74 -0
- label_studio_sdk/{project.py → _legacy/project.py} +2 -2
- label_studio_sdk/{schema → _legacy/schema}/label_config_schema.json +14 -14
- label_studio_sdk/actions/__init__.py +27 -0
- label_studio_sdk/actions/client.py +223 -0
- label_studio_sdk/actions/types/__init__.py +25 -0
- label_studio_sdk/actions/types/actions_create_request_filters.py +43 -0
- label_studio_sdk/actions/types/actions_create_request_filters_conjunction.py +5 -0
- label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +49 -0
- label_studio_sdk/actions/types/actions_create_request_filters_items_item_filter.py +31 -0
- label_studio_sdk/actions/types/actions_create_request_filters_items_item_operator.py +23 -0
- label_studio_sdk/actions/types/actions_create_request_id.py +19 -0
- label_studio_sdk/actions/types/actions_create_request_ordering_item.py +31 -0
- label_studio_sdk/actions/types/actions_create_request_selected_items.py +10 -0
- label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +39 -0
- label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +39 -0
- label_studio_sdk/annotations/__init__.py +2 -0
- label_studio_sdk/annotations/client.py +750 -0
- label_studio_sdk/base_client.py +183 -0
- label_studio_sdk/client.py +17 -463
- label_studio_sdk/converter/__init__.py +7 -0
- label_studio_sdk/converter/audio.py +56 -0
- label_studio_sdk/converter/brush.py +452 -0
- label_studio_sdk/converter/converter.py +1175 -0
- label_studio_sdk/converter/exports/__init__.py +0 -0
- label_studio_sdk/converter/exports/csv.py +82 -0
- label_studio_sdk/converter/exports/csv2.py +103 -0
- label_studio_sdk/converter/funsd.py +85 -0
- label_studio_sdk/converter/imports/__init__.py +0 -0
- label_studio_sdk/converter/imports/coco.py +314 -0
- label_studio_sdk/converter/imports/colors.py +198 -0
- label_studio_sdk/converter/imports/label_config.py +45 -0
- label_studio_sdk/converter/imports/pathtrack.py +269 -0
- label_studio_sdk/converter/imports/yolo.py +236 -0
- label_studio_sdk/converter/main.py +202 -0
- label_studio_sdk/converter/utils.py +473 -0
- label_studio_sdk/core/__init__.py +33 -0
- label_studio_sdk/core/api_error.py +15 -0
- label_studio_sdk/core/client_wrapper.py +55 -0
- label_studio_sdk/core/datetime_utils.py +28 -0
- label_studio_sdk/core/file.py +38 -0
- label_studio_sdk/core/http_client.py +447 -0
- label_studio_sdk/core/jsonable_encoder.py +99 -0
- label_studio_sdk/core/pagination.py +87 -0
- label_studio_sdk/core/pydantic_utilities.py +28 -0
- label_studio_sdk/core/query_encoder.py +33 -0
- label_studio_sdk/core/remove_none_from_dict.py +11 -0
- label_studio_sdk/core/request_options.py +32 -0
- label_studio_sdk/environment.py +7 -0
- label_studio_sdk/errors/__init__.py +6 -0
- label_studio_sdk/errors/bad_request_error.py +8 -0
- label_studio_sdk/errors/internal_server_error.py +8 -0
- label_studio_sdk/export_storage/__init__.py +28 -0
- label_studio_sdk/export_storage/azure/__init__.py +5 -0
- label_studio_sdk/export_storage/azure/client.py +888 -0
- label_studio_sdk/export_storage/azure/types/__init__.py +6 -0
- label_studio_sdk/export_storage/azure/types/azure_create_response.py +67 -0
- label_studio_sdk/export_storage/azure/types/azure_update_response.py +67 -0
- label_studio_sdk/export_storage/client.py +107 -0
- label_studio_sdk/export_storage/gcs/__init__.py +5 -0
- label_studio_sdk/export_storage/gcs/client.py +888 -0
- label_studio_sdk/export_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +67 -0
- label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +67 -0
- label_studio_sdk/export_storage/local/__init__.py +5 -0
- label_studio_sdk/export_storage/local/client.py +834 -0
- label_studio_sdk/export_storage/local/types/__init__.py +6 -0
- label_studio_sdk/export_storage/local/types/local_create_response.py +57 -0
- label_studio_sdk/export_storage/local/types/local_update_response.py +57 -0
- label_studio_sdk/export_storage/redis/__init__.py +5 -0
- label_studio_sdk/export_storage/redis/client.py +918 -0
- label_studio_sdk/export_storage/redis/types/__init__.py +6 -0
- label_studio_sdk/export_storage/redis/types/redis_create_response.py +72 -0
- label_studio_sdk/export_storage/redis/types/redis_update_response.py +72 -0
- label_studio_sdk/export_storage/s3/__init__.py +5 -0
- label_studio_sdk/export_storage/s3/client.py +1008 -0
- label_studio_sdk/export_storage/s3/types/__init__.py +6 -0
- label_studio_sdk/export_storage/s3/types/s3create_response.py +89 -0
- label_studio_sdk/export_storage/s3/types/s3update_response.py +89 -0
- label_studio_sdk/export_storage/types/__init__.py +5 -0
- label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +30 -0
- label_studio_sdk/files/__init__.py +2 -0
- label_studio_sdk/files/client.py +556 -0
- label_studio_sdk/import_storage/__init__.py +28 -0
- label_studio_sdk/import_storage/azure/__init__.py +5 -0
- label_studio_sdk/import_storage/azure/client.py +988 -0
- label_studio_sdk/import_storage/azure/types/__init__.py +6 -0
- label_studio_sdk/import_storage/azure/types/azure_create_response.py +82 -0
- label_studio_sdk/import_storage/azure/types/azure_update_response.py +82 -0
- label_studio_sdk/import_storage/client.py +107 -0
- label_studio_sdk/import_storage/gcs/__init__.py +5 -0
- label_studio_sdk/import_storage/gcs/client.py +988 -0
- label_studio_sdk/import_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +82 -0
- label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +82 -0
- label_studio_sdk/import_storage/local/__init__.py +5 -0
- label_studio_sdk/import_storage/local/client.py +836 -0
- label_studio_sdk/import_storage/local/types/__init__.py +6 -0
- label_studio_sdk/import_storage/local/types/local_create_response.py +57 -0
- label_studio_sdk/import_storage/local/types/local_update_response.py +57 -0
- label_studio_sdk/import_storage/redis/__init__.py +5 -0
- label_studio_sdk/import_storage/redis/client.py +924 -0
- label_studio_sdk/import_storage/redis/types/__init__.py +6 -0
- label_studio_sdk/import_storage/redis/types/redis_create_response.py +72 -0
- label_studio_sdk/import_storage/redis/types/redis_update_response.py +72 -0
- label_studio_sdk/import_storage/s3/__init__.py +5 -0
- label_studio_sdk/import_storage/s3/client.py +1138 -0
- label_studio_sdk/import_storage/s3/types/__init__.py +6 -0
- label_studio_sdk/import_storage/s3/types/s3create_response.py +109 -0
- label_studio_sdk/import_storage/s3/types/s3update_response.py +109 -0
- label_studio_sdk/import_storage/types/__init__.py +5 -0
- label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +30 -0
- label_studio_sdk/label_interface/base.py +10 -0
- label_studio_sdk/label_interface/control_tags.py +109 -71
- label_studio_sdk/label_interface/data_examples.json +96 -0
- label_studio_sdk/label_interface/interface.py +102 -53
- label_studio_sdk/label_interface/object_tags.py +8 -13
- label_studio_sdk/label_interface/region.py +33 -1
- label_studio_sdk/ml/__init__.py +19 -0
- label_studio_sdk/ml/client.py +981 -0
- label_studio_sdk/ml/types/__init__.py +17 -0
- label_studio_sdk/ml/types/ml_create_request_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_create_response.py +78 -0
- label_studio_sdk/ml/types/ml_create_response_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_update_request_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_update_response.py +78 -0
- label_studio_sdk/ml/types/ml_update_response_auth_method.py +5 -0
- label_studio_sdk/predictions/__init__.py +2 -0
- label_studio_sdk/predictions/client.py +638 -0
- label_studio_sdk/projects/__init__.py +6 -0
- label_studio_sdk/projects/client.py +1055 -0
- label_studio_sdk/projects/client_ext.py +19 -0
- label_studio_sdk/projects/exports/__init__.py +2 -0
- label_studio_sdk/projects/exports/client.py +930 -0
- label_studio_sdk/projects/types/__init__.py +7 -0
- label_studio_sdk/projects/types/projects_create_response.py +96 -0
- label_studio_sdk/projects/types/projects_import_tasks_response.py +71 -0
- label_studio_sdk/projects/types/projects_list_response.py +33 -0
- label_studio_sdk/py.typed +0 -0
- label_studio_sdk/tasks/__init__.py +5 -0
- label_studio_sdk/tasks/client.py +835 -0
- label_studio_sdk/tasks/client_ext.py +18 -0
- label_studio_sdk/tasks/types/__init__.py +6 -0
- label_studio_sdk/tasks/types/tasks_list_request_fields.py +5 -0
- label_studio_sdk/tasks/types/tasks_list_response.py +48 -0
- label_studio_sdk/types/__init__.py +115 -0
- label_studio_sdk/types/annotation.py +116 -0
- label_studio_sdk/types/annotation_filter_options.py +42 -0
- label_studio_sdk/types/annotation_last_action.py +19 -0
- label_studio_sdk/types/azure_blob_export_storage.py +112 -0
- label_studio_sdk/types/azure_blob_export_storage_status.py +7 -0
- label_studio_sdk/types/azure_blob_import_storage.py +113 -0
- label_studio_sdk/types/azure_blob_import_storage_status.py +7 -0
- label_studio_sdk/types/base_task.py +113 -0
- label_studio_sdk/types/base_user.py +42 -0
- label_studio_sdk/types/converted_format.py +36 -0
- label_studio_sdk/types/converted_format_status.py +5 -0
- label_studio_sdk/types/export.py +48 -0
- label_studio_sdk/types/export_convert.py +32 -0
- label_studio_sdk/types/export_create.py +54 -0
- label_studio_sdk/types/export_create_status.py +5 -0
- label_studio_sdk/types/export_status.py +5 -0
- label_studio_sdk/types/file_upload.py +30 -0
- label_studio_sdk/types/filter.py +53 -0
- label_studio_sdk/types/filter_group.py +35 -0
- label_studio_sdk/types/gcs_export_storage.py +112 -0
- label_studio_sdk/types/gcs_export_storage_status.py +7 -0
- label_studio_sdk/types/gcs_import_storage.py +113 -0
- label_studio_sdk/types/gcs_import_storage_status.py +7 -0
- label_studio_sdk/types/local_files_export_storage.py +97 -0
- label_studio_sdk/types/local_files_export_storage_status.py +7 -0
- label_studio_sdk/types/local_files_import_storage.py +92 -0
- label_studio_sdk/types/local_files_import_storage_status.py +7 -0
- label_studio_sdk/types/ml_backend.py +89 -0
- label_studio_sdk/types/ml_backend_auth_method.py +5 -0
- label_studio_sdk/types/ml_backend_state.py +5 -0
- label_studio_sdk/types/prediction.py +78 -0
- label_studio_sdk/types/project.py +198 -0
- label_studio_sdk/types/project_import.py +63 -0
- label_studio_sdk/types/project_import_status.py +5 -0
- label_studio_sdk/types/project_label_config.py +32 -0
- label_studio_sdk/types/project_sampling.py +7 -0
- label_studio_sdk/types/project_skip_queue.py +5 -0
- label_studio_sdk/types/redis_export_storage.py +117 -0
- label_studio_sdk/types/redis_export_storage_status.py +7 -0
- label_studio_sdk/types/redis_import_storage.py +112 -0
- label_studio_sdk/types/redis_import_storage_status.py +7 -0
- label_studio_sdk/types/s3export_storage.py +134 -0
- label_studio_sdk/types/s3export_storage_status.py +7 -0
- label_studio_sdk/types/s3import_storage.py +140 -0
- label_studio_sdk/types/s3import_storage_status.py +7 -0
- label_studio_sdk/types/serialization_option.py +36 -0
- label_studio_sdk/types/serialization_options.py +45 -0
- label_studio_sdk/types/task.py +157 -0
- label_studio_sdk/types/task_filter_options.py +49 -0
- label_studio_sdk/types/user_simple.py +37 -0
- label_studio_sdk/types/view.py +55 -0
- label_studio_sdk/types/webhook.py +67 -0
- label_studio_sdk/types/webhook_actions_item.py +21 -0
- label_studio_sdk/types/webhook_serializer_for_update.py +67 -0
- label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +21 -0
- label_studio_sdk/users/__init__.py +5 -0
- label_studio_sdk/users/client.py +830 -0
- label_studio_sdk/users/types/__init__.py +6 -0
- label_studio_sdk/users/types/users_get_token_response.py +36 -0
- label_studio_sdk/users/types/users_reset_token_response.py +36 -0
- label_studio_sdk/version.py +4 -0
- label_studio_sdk/views/__init__.py +35 -0
- label_studio_sdk/views/client.py +564 -0
- label_studio_sdk/views/types/__init__.py +33 -0
- label_studio_sdk/views/types/views_create_request_data.py +43 -0
- label_studio_sdk/views/types/views_create_request_data_filters.py +43 -0
- label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +5 -0
- label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +49 -0
- label_studio_sdk/views/types/views_create_request_data_filters_items_item_filter.py +31 -0
- label_studio_sdk/views/types/views_create_request_data_filters_items_item_operator.py +23 -0
- label_studio_sdk/views/types/views_create_request_data_ordering_item.py +31 -0
- label_studio_sdk/views/types/views_update_request_data.py +43 -0
- label_studio_sdk/views/types/views_update_request_data_filters.py +43 -0
- label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +5 -0
- label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +49 -0
- label_studio_sdk/views/types/views_update_request_data_filters_items_item_filter.py +31 -0
- label_studio_sdk/views/types/views_update_request_data_filters_items_item_operator.py +23 -0
- label_studio_sdk/views/types/views_update_request_data_ordering_item.py +31 -0
- label_studio_sdk/webhooks/__init__.py +5 -0
- label_studio_sdk/webhooks/client.py +636 -0
- label_studio_sdk/webhooks/types/__init__.py +5 -0
- label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +21 -0
- label_studio_sdk-1.0.1.dist-info/METADATA +163 -0
- label_studio_sdk-1.0.1.dist-info/RECORD +256 -0
- {label_studio_sdk-0.0.34.dist-info → label_studio_sdk-1.0.1.dist-info}/WHEEL +1 -2
- label_studio_sdk/objects.py +0 -35
- label_studio_sdk-0.0.34.dist-info/LICENSE +0 -201
- label_studio_sdk-0.0.34.dist-info/METADATA +0 -24
- label_studio_sdk-0.0.34.dist-info/RECORD +0 -37
- label_studio_sdk-0.0.34.dist-info/top_level.txt +0 -2
- tests/test_client.py +0 -37
- tests/test_export.py +0 -105
- tests/test_interface/__init__.py +0 -1
- tests/test_interface/configs.py +0 -137
- tests/test_interface/mockups.py +0 -22
- tests/test_interface/test_compat.py +0 -64
- tests/test_interface/test_control_tags.py +0 -55
- tests/test_interface/test_data_generation.py +0 -45
- tests/test_interface/test_lpi.py +0 -15
- tests/test_interface/test_main.py +0 -196
- tests/test_interface/test_object_tags.py +0 -36
- tests/test_interface/test_region.py +0 -36
- tests/test_interface/test_validate_summary.py +0 -35
- tests/test_interface/test_validation.py +0 -59
- {tests → label_studio_sdk/_extensions}/__init__.py +0 -0
- /label_studio_sdk/{exceptions.py → _legacy/exceptions.py} +0 -0
- /label_studio_sdk/{users.py → _legacy/users.py} +0 -0
- /label_studio_sdk/{utils.py → _legacy/utils.py} +0 -0
- /label_studio_sdk/{workspaces.py → _legacy/workspaces.py} +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
from .project_sampling import ProjectSampling
|
|
9
|
+
from .project_skip_queue import ProjectSkipQueue
|
|
10
|
+
from .user_simple import UserSimple
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Project(pydantic_v1.BaseModel):
|
|
14
|
+
id: typing.Optional[int] = None
|
|
15
|
+
title: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Project name. Must be between 3 and 50 characters long.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
description: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Project description
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
label_config: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Label config in XML format. See more about it in documentation
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
expert_instruction: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Labeling instructions in HTML format
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
show_instruction: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
Show instructions to the annotator before they start
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
show_skip_button: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
Show a skip button in interface and allow annotators to skip the task
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
enable_empty_annotation: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
46
|
+
"""
|
|
47
|
+
Allow annotators to submit empty annotations
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
show_annotation_history: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
Show annotation history to annotator
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
organization: typing.Optional[int] = None
|
|
56
|
+
color: typing.Optional[str] = None
|
|
57
|
+
maximum_annotations: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
58
|
+
"""
|
|
59
|
+
Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
is_published: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
63
|
+
"""
|
|
64
|
+
Whether or not the project is published to annotators
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
model_version: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
68
|
+
"""
|
|
69
|
+
Machine learning model version
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
is_draft: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
73
|
+
"""
|
|
74
|
+
Whether or not the project is in the middle of being created
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
created_by: typing.Optional[UserSimple] = None
|
|
78
|
+
created_at: typing.Optional[dt.datetime] = None
|
|
79
|
+
min_annotations_to_start_training: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
80
|
+
"""
|
|
81
|
+
Minimum number of completed tasks after which model training is started
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
start_training_on_annotation_update: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
85
|
+
"""
|
|
86
|
+
Start model training after any annotations are submitted or updated
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
show_collab_predictions: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
90
|
+
"""
|
|
91
|
+
If set, the annotator can view model predictions
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
num_tasks_with_annotations: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
95
|
+
"""
|
|
96
|
+
Tasks with annotations count
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
task_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
100
|
+
"""
|
|
101
|
+
Total task number in project
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
useful_annotation_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
105
|
+
"""
|
|
106
|
+
Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
ground_truth_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
110
|
+
"""
|
|
111
|
+
Honeypot annotation number in project
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
skipped_annotations_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
115
|
+
"""
|
|
116
|
+
Skipped by collaborators annotation number in project
|
|
117
|
+
"""
|
|
118
|
+
|
|
119
|
+
total_annotations_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
120
|
+
"""
|
|
121
|
+
Total annotations number in project including skipped_annotations_number and ground_truth_number.
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
total_predictions_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
125
|
+
"""
|
|
126
|
+
Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
sampling: typing.Optional[ProjectSampling] = None
|
|
130
|
+
show_ground_truth_first: typing.Optional[bool] = None
|
|
131
|
+
show_overlap_first: typing.Optional[bool] = None
|
|
132
|
+
overlap_cohort_percentage: typing.Optional[int] = None
|
|
133
|
+
task_data_login: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
134
|
+
"""
|
|
135
|
+
Task data credentials: login
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
task_data_password: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
139
|
+
"""
|
|
140
|
+
Task data credentials: password
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
control_weights: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
144
|
+
"""
|
|
145
|
+
Dict of weights for each control tag in metric calculation. Each control tag (e.g. label or choice) will have it's own key in control weight dict with weight for each label and overall weight.For example, if bounding box annotation with control tag named my_bbox should be included with 0.33 weight in agreement calculation, and the first label Car should be twice more important than Airplaine, then you have to need the specify: {'my_bbox': {'type': 'RectangleLabels', 'labels': {'Car': 1.0, 'Airplaine': 0.5}, 'overall': 0.33}
|
|
146
|
+
"""
|
|
147
|
+
|
|
148
|
+
parsed_label_config: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
149
|
+
"""
|
|
150
|
+
JSON-formatted labeling configuration
|
|
151
|
+
"""
|
|
152
|
+
|
|
153
|
+
evaluate_predictions_automatically: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
154
|
+
"""
|
|
155
|
+
Retrieve and display predictions when loading a task
|
|
156
|
+
"""
|
|
157
|
+
|
|
158
|
+
config_has_control_tags: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
159
|
+
"""
|
|
160
|
+
Flag to detect is project ready for labeling
|
|
161
|
+
"""
|
|
162
|
+
|
|
163
|
+
skip_queue: typing.Optional[ProjectSkipQueue] = None
|
|
164
|
+
reveal_preannotations_interactively: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
165
|
+
"""
|
|
166
|
+
Reveal pre-annotations interactively
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
pinned_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
170
|
+
"""
|
|
171
|
+
Pinned date and time
|
|
172
|
+
"""
|
|
173
|
+
|
|
174
|
+
finished_task_number: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
175
|
+
"""
|
|
176
|
+
Finished tasks
|
|
177
|
+
"""
|
|
178
|
+
|
|
179
|
+
queue_total: typing.Optional[str] = None
|
|
180
|
+
queue_done: typing.Optional[str] = None
|
|
181
|
+
|
|
182
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
183
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
184
|
+
return super().json(**kwargs_with_defaults)
|
|
185
|
+
|
|
186
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
187
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
188
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
189
|
+
|
|
190
|
+
return deep_union_pydantic_dicts(
|
|
191
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
class Config:
|
|
195
|
+
frozen = True
|
|
196
|
+
smart_union = True
|
|
197
|
+
extra = pydantic_v1.Extra.allow
|
|
198
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
from .project_import_status import ProjectImportStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ProjectImport(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
preannotated_from_fields: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
14
|
+
commit_to_project: typing.Optional[bool] = None
|
|
15
|
+
return_task_ids: typing.Optional[bool] = None
|
|
16
|
+
status: typing.Optional[ProjectImportStatus] = None
|
|
17
|
+
url: typing.Optional[str] = None
|
|
18
|
+
traceback: typing.Optional[str] = None
|
|
19
|
+
error: typing.Optional[str] = None
|
|
20
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Creation time
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Updated time
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
finished_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Complete or fail time
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
task_count: typing.Optional[int] = None
|
|
36
|
+
annotation_count: typing.Optional[int] = None
|
|
37
|
+
prediction_count: typing.Optional[int] = None
|
|
38
|
+
duration: typing.Optional[int] = None
|
|
39
|
+
file_upload_ids: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
40
|
+
could_be_tasks_list: typing.Optional[bool] = None
|
|
41
|
+
found_formats: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
42
|
+
data_columns: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
43
|
+
tasks: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
44
|
+
task_ids: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
45
|
+
project: typing.Optional[int] = None
|
|
46
|
+
|
|
47
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
48
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
49
|
+
return super().json(**kwargs_with_defaults)
|
|
50
|
+
|
|
51
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
52
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
53
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
54
|
+
|
|
55
|
+
return deep_union_pydantic_dicts(
|
|
56
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
class Config:
|
|
60
|
+
frozen = True
|
|
61
|
+
smart_union = True
|
|
62
|
+
extra = pydantic_v1.Extra.allow
|
|
63
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class ProjectLabelConfig(pydantic_v1.BaseModel):
|
|
11
|
+
label_config: str = pydantic_v1.Field()
|
|
12
|
+
"""
|
|
13
|
+
Label config in XML format. See more about it in documentation
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
17
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
18
|
+
return super().json(**kwargs_with_defaults)
|
|
19
|
+
|
|
20
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
21
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
22
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
23
|
+
|
|
24
|
+
return deep_union_pydantic_dicts(
|
|
25
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
class Config:
|
|
29
|
+
frozen = True
|
|
30
|
+
smart_union = True
|
|
31
|
+
extra = pydantic_v1.Extra.allow
|
|
32
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
from .redis_export_storage_status import RedisExportStorageStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RedisExportStorage(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
type: typing.Optional[str] = None
|
|
14
|
+
synchronizable: typing.Optional[bool] = None
|
|
15
|
+
path: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Storage prefix (optional)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
host: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Server Host IP (optional)
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
port: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Server Port (optional)
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
password: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Server Password (optional)
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
Cloud storage regex for filtering objects
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
Interpret objects as BLOBs and generate URLs
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
last_sync: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
46
|
+
"""
|
|
47
|
+
Last sync finished time
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
last_sync_count: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
Count of tasks synced last time
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
last_sync_job: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
56
|
+
"""
|
|
57
|
+
Last sync job ID
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
status: typing.Optional[RedisExportStorageStatus] = None
|
|
61
|
+
traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
Traceback report for the last failed sync
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
Meta and debug information about storage processes
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
title: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
72
|
+
"""
|
|
73
|
+
Cloud storage title
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
description: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
77
|
+
"""
|
|
78
|
+
Cloud storage description
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
82
|
+
"""
|
|
83
|
+
Creation time
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
can_delete_objects: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
87
|
+
"""
|
|
88
|
+
Deletion from storage enabled
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
db: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
92
|
+
"""
|
|
93
|
+
Server Database
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
project: int = pydantic_v1.Field()
|
|
97
|
+
"""
|
|
98
|
+
A unique integer value identifying this project.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
102
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
103
|
+
return super().json(**kwargs_with_defaults)
|
|
104
|
+
|
|
105
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
106
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
107
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
108
|
+
|
|
109
|
+
return deep_union_pydantic_dicts(
|
|
110
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
class Config:
|
|
114
|
+
frozen = True
|
|
115
|
+
smart_union = True
|
|
116
|
+
extra = pydantic_v1.Extra.allow
|
|
117
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
from .redis_import_storage_status import RedisImportStorageStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RedisImportStorage(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
type: typing.Optional[str] = None
|
|
14
|
+
synchronizable: typing.Optional[bool] = None
|
|
15
|
+
path: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Storage prefix (optional)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
host: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Server Host IP (optional)
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
port: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Server Port (optional)
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
password: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Server Password (optional)
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
Cloud storage regex for filtering objects
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
Interpret objects as BLOBs and generate URLs
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
last_sync: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
46
|
+
"""
|
|
47
|
+
Last sync finished time
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
last_sync_count: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
Count of tasks synced last time
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
last_sync_job: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
56
|
+
"""
|
|
57
|
+
Last sync job ID
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
status: typing.Optional[RedisImportStorageStatus] = None
|
|
61
|
+
traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
Traceback report for the last failed sync
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
Meta and debug information about storage processes
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
title: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
72
|
+
"""
|
|
73
|
+
Cloud storage title
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
description: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
77
|
+
"""
|
|
78
|
+
Cloud storage description
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
82
|
+
"""
|
|
83
|
+
Creation time
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
db: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
87
|
+
"""
|
|
88
|
+
Server Database
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
project: int = pydantic_v1.Field()
|
|
92
|
+
"""
|
|
93
|
+
A unique integer value identifying this project.
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
97
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
98
|
+
return super().json(**kwargs_with_defaults)
|
|
99
|
+
|
|
100
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
101
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
102
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
103
|
+
|
|
104
|
+
return deep_union_pydantic_dicts(
|
|
105
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
class Config:
|
|
109
|
+
frozen = True
|
|
110
|
+
smart_union = True
|
|
111
|
+
extra = pydantic_v1.Extra.allow
|
|
112
|
+
json_encoders = {dt.datetime: serialize_datetime}
|