label-studio-sdk 2.0.5__py3-none-any.whl → 2.0.7__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 +70 -0
- label_studio_sdk/annotation_history/__init__.py +5 -0
- label_studio_sdk/annotation_history/client.py +415 -0
- label_studio_sdk/annotation_history/types/__init__.py +5 -0
- label_studio_sdk/annotation_history/types/annotation_history_delete_response.py +22 -0
- label_studio_sdk/annotation_reviews/__init__.py +2 -0
- label_studio_sdk/annotation_reviews/client.py +713 -0
- label_studio_sdk/base_client.py +20 -0
- label_studio_sdk/blueprints/__init__.py +2 -0
- label_studio_sdk/blueprints/client.py +272 -0
- label_studio_sdk/core/client_wrapper.py +2 -1
- label_studio_sdk/export_storage/__init__.py +2 -2
- label_studio_sdk/export_storage/azure_spi/__init__.py +2 -0
- label_studio_sdk/export_storage/azure_spi/client.py +1354 -0
- label_studio_sdk/export_storage/client.py +8 -0
- label_studio_sdk/export_storage/gcswif/__init__.py +2 -0
- label_studio_sdk/export_storage/gcswif/client.py +1376 -0
- label_studio_sdk/import_storage/__init__.py +2 -2
- label_studio_sdk/import_storage/azure_spi/__init__.py +2 -0
- label_studio_sdk/import_storage/azure_spi/client.py +1378 -0
- label_studio_sdk/import_storage/client.py +8 -0
- label_studio_sdk/import_storage/gcswif/__init__.py +2 -0
- label_studio_sdk/import_storage/gcswif/client.py +1400 -0
- label_studio_sdk/jwt_settings/client.py +10 -8
- label_studio_sdk/label_interface/control_tags.py +38 -0
- label_studio_sdk/label_interface/data_examples.json +10 -0
- label_studio_sdk/label_interface/interface.py +13 -0
- label_studio_sdk/label_interface/object_tags.py +9 -0
- label_studio_sdk/ml/client.py +124 -0
- label_studio_sdk/organizations/__init__.py +3 -2
- label_studio_sdk/organizations/client.py +536 -1
- label_studio_sdk/organizations/invites/__init__.py +2 -0
- label_studio_sdk/organizations/invites/client.py +368 -0
- label_studio_sdk/organizations/types/__init__.py +5 -0
- label_studio_sdk/organizations/types/patched_default_role_request_custom_scripts_editable_by.py +7 -0
- label_studio_sdk/project_templates/__init__.py +2 -0
- label_studio_sdk/project_templates/client.py +909 -0
- label_studio_sdk/projects/client.py +8 -0
- label_studio_sdk/projects/members/__init__.py +2 -2
- label_studio_sdk/projects/members/bulk/client.py +46 -2
- label_studio_sdk/projects/members/client.py +4 -0
- label_studio_sdk/projects/members/paginated/__init__.py +2 -0
- label_studio_sdk/projects/members/paginated/client.py +248 -0
- label_studio_sdk/session_policy/__init__.py +2 -0
- label_studio_sdk/session_policy/client.py +247 -0
- label_studio_sdk/tasks/client.py +371 -0
- label_studio_sdk/types/__init__.py +56 -0
- label_studio_sdk/types/action_enum.py +19 -0
- label_studio_sdk/types/all_roles_project_list.py +1 -1
- label_studio_sdk/types/annotation.py +7 -0
- label_studio_sdk/types/annotation_history.py +81 -0
- label_studio_sdk/types/annotation_history_action.py +7 -0
- label_studio_sdk/types/annotation_request.py +7 -0
- label_studio_sdk/types/annotation_review.py +61 -0
- label_studio_sdk/types/annotation_review_request.py +41 -0
- label_studio_sdk/types/azure_service_principal_export_storage.py +114 -0
- label_studio_sdk/types/azure_service_principal_export_storage_request.py +107 -0
- label_studio_sdk/types/azure_service_principal_import_storage.py +115 -0
- label_studio_sdk/types/azure_service_principal_import_storage_request.py +108 -0
- label_studio_sdk/types/blueprint.py +41 -0
- label_studio_sdk/types/default_role.py +75 -0
- label_studio_sdk/types/default_role_custom_scripts_editable_by.py +7 -0
- label_studio_sdk/types/gcswif_export_storage.py +119 -0
- label_studio_sdk/types/gcswif_export_storage_request.py +112 -0
- label_studio_sdk/types/gcswif_import_storage.py +120 -0
- label_studio_sdk/types/gcswif_import_storage_request.py +113 -0
- label_studio_sdk/types/lse_project.py +223 -0
- label_studio_sdk/types/lse_project_sampling.py +7 -0
- label_studio_sdk/types/lse_project_skip_queue.py +7 -0
- label_studio_sdk/types/lse_project_update.py +1 -0
- label_studio_sdk/types/lse_task.py +1 -0
- label_studio_sdk/types/lse_task_serializer_for_reviewers.py +1 -0
- label_studio_sdk/types/lsejwt_settings.py +1 -5
- label_studio_sdk/types/paginated_annotation_history_list.py +23 -0
- label_studio_sdk/types/paginated_lse_user_list.py +23 -0
- label_studio_sdk/types/paginated_paginated_project_member_list.py +23 -0
- label_studio_sdk/types/paginated_project_member.py +50 -0
- label_studio_sdk/types/project_member_bulk_assign_roles_request.py +21 -0
- label_studio_sdk/types/project_template.py +41 -0
- label_studio_sdk/types/project_template_request.py +38 -0
- label_studio_sdk/types/review_settings.py +5 -0
- label_studio_sdk/types/review_settings_request.py +5 -0
- label_studio_sdk/types/session_timeout_policy.py +31 -0
- label_studio_sdk/types/task_event.py +61 -0
- label_studio_sdk/workspaces/members/__init__.py +2 -2
- label_studio_sdk/workspaces/members/client.py +4 -0
- label_studio_sdk/workspaces/members/paginated/__init__.py +2 -0
- label_studio_sdk/workspaces/members/paginated/client.py +212 -0
- {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.7.dist-info}/METADATA +2 -2
- {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.7.dist-info}/RECORD +92 -36
- {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.7.dist-info}/LICENSE +0 -0
- {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.7.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
7
|
+
from .status_c5a_enum import StatusC5AEnum
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GcswifImportStorage(UncheckedBaseModel):
|
|
12
|
+
bucket: typing.Optional[str] = pydantic.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
GCS bucket name
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
created_at: dt.datetime = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
Creation time
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
Cloud storage description
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
google_application_credentials: typing.Optional[str] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
The content of GOOGLE_APPLICATION_CREDENTIALS json file
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
google_project_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Google project ID
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
google_project_number: typing.Optional[str] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
Google project number
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
google_service_account_email: typing.Optional[str] = pydantic.Field(default=None)
|
|
43
|
+
"""
|
|
44
|
+
Google service account email
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
google_wif_pool_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
|
+
"""
|
|
49
|
+
Google WIF pool ID
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
google_wif_provider_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
Google WIF provider ID
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
id: int
|
|
58
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
59
|
+
"""
|
|
60
|
+
Last sync finished time
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
64
|
+
"""
|
|
65
|
+
Count of tasks synced last time
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
69
|
+
"""
|
|
70
|
+
Last sync job ID
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
meta: typing.Optional[typing.Optional[typing.Any]] = None
|
|
74
|
+
prefix: typing.Optional[str] = pydantic.Field(default=None)
|
|
75
|
+
"""
|
|
76
|
+
GCS bucket prefix
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
presign: typing.Optional[bool] = None
|
|
80
|
+
presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
81
|
+
"""
|
|
82
|
+
Presigned URLs TTL (in minutes)
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
project: int = pydantic.Field()
|
|
86
|
+
"""
|
|
87
|
+
A unique integer value identifying this project.
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
91
|
+
"""
|
|
92
|
+
Cloud storage regex for filtering objects
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
status: typing.Optional[StatusC5AEnum] = None
|
|
96
|
+
synchronizable: typing.Optional[bool] = None
|
|
97
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
98
|
+
"""
|
|
99
|
+
Cloud storage title
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
103
|
+
"""
|
|
104
|
+
Traceback report for the last failed sync
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
type: str
|
|
108
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
109
|
+
"""
|
|
110
|
+
Interpret objects as BLOBs and generate URLs
|
|
111
|
+
"""
|
|
112
|
+
|
|
113
|
+
if IS_PYDANTIC_V2:
|
|
114
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
115
|
+
else:
|
|
116
|
+
|
|
117
|
+
class Config:
|
|
118
|
+
frozen = True
|
|
119
|
+
smart_union = True
|
|
120
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
7
|
+
from .status_c5a_enum import StatusC5AEnum
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GcswifImportStorageRequest(UncheckedBaseModel):
|
|
12
|
+
bucket: typing.Optional[str] = pydantic.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
GCS bucket name
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
18
|
+
"""
|
|
19
|
+
Cloud storage description
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
google_application_credentials: typing.Optional[str] = pydantic.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
The content of GOOGLE_APPLICATION_CREDENTIALS json file
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
google_project_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
Google project ID
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
google_project_number: typing.Optional[str] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Google project number
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
google_service_account_email: typing.Optional[str] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
Google service account email
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
google_wif_pool_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
43
|
+
"""
|
|
44
|
+
Google WIF pool ID
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
google_wif_provider_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
|
+
"""
|
|
49
|
+
Google WIF provider ID
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
Last sync finished time
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
58
|
+
"""
|
|
59
|
+
Count of tasks synced last time
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
63
|
+
"""
|
|
64
|
+
Last sync job ID
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
meta: typing.Optional[typing.Optional[typing.Any]] = None
|
|
68
|
+
prefix: typing.Optional[str] = pydantic.Field(default=None)
|
|
69
|
+
"""
|
|
70
|
+
GCS bucket prefix
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
presign: typing.Optional[bool] = None
|
|
74
|
+
presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
75
|
+
"""
|
|
76
|
+
Presigned URLs TTL (in minutes)
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
project: int = pydantic.Field()
|
|
80
|
+
"""
|
|
81
|
+
A unique integer value identifying this project.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
85
|
+
"""
|
|
86
|
+
Cloud storage regex for filtering objects
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
status: typing.Optional[StatusC5AEnum] = None
|
|
90
|
+
synchronizable: typing.Optional[bool] = None
|
|
91
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
92
|
+
"""
|
|
93
|
+
Cloud storage title
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
97
|
+
"""
|
|
98
|
+
Traceback report for the last failed sync
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
102
|
+
"""
|
|
103
|
+
Interpret objects as BLOBs and generate URLs
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
if IS_PYDANTIC_V2:
|
|
107
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
108
|
+
else:
|
|
109
|
+
|
|
110
|
+
class Config:
|
|
111
|
+
frozen = True
|
|
112
|
+
smart_union = True
|
|
113
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .assignment_settings import AssignmentSettings
|
|
6
|
+
import pydantic
|
|
7
|
+
import datetime as dt
|
|
8
|
+
from .user_simple import UserSimple
|
|
9
|
+
from .review_settings import ReviewSettings
|
|
10
|
+
from .lse_project_sampling import LseProjectSampling
|
|
11
|
+
from .lse_project_skip_queue import LseProjectSkipQueue
|
|
12
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class LseProject(UncheckedBaseModel):
|
|
16
|
+
"""
|
|
17
|
+
Serializer get numbers from project queryset annotation,
|
|
18
|
+
make sure, that you use correct one(Project.objects.with_counts())
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
annotation_limit_count: typing.Optional[int] = None
|
|
22
|
+
annotation_limit_percent: typing.Optional[str] = None
|
|
23
|
+
annotator_evaluation_minimum_score: typing.Optional[str] = None
|
|
24
|
+
annotator_evaluation_minimum_tasks: typing.Optional[int] = None
|
|
25
|
+
assignment_settings: AssignmentSettings
|
|
26
|
+
color: typing.Optional[str] = None
|
|
27
|
+
comment_classification_config: typing.Optional[str] = None
|
|
28
|
+
config_has_control_tags: bool = pydantic.Field()
|
|
29
|
+
"""
|
|
30
|
+
Flag to detect is project ready for labeling
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
config_suitable_for_bulk_annotation: bool = pydantic.Field()
|
|
34
|
+
"""
|
|
35
|
+
Flag to detect is project ready for bulk annotation
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
control_weights: typing.Optional[typing.Optional[typing.Any]] = None
|
|
39
|
+
created_at: dt.datetime
|
|
40
|
+
created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
Project owner
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
custom_script: typing.Optional[str] = None
|
|
46
|
+
custom_task_lock_ttl: typing.Optional[int] = pydantic.Field(default=None)
|
|
47
|
+
"""
|
|
48
|
+
TTL in seconds for task reservations, on new and existing tasks
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
data_types: typing.Optional[typing.Any] = None
|
|
52
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
Project description
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
duplication_done: typing.Optional[bool] = None
|
|
58
|
+
duplication_status: typing.Optional[str] = None
|
|
59
|
+
enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
|
|
60
|
+
"""
|
|
61
|
+
Allow annotators to submit empty annotations
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
|
|
65
|
+
"""
|
|
66
|
+
Retrieve and display predictions when loading a task
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
|
|
70
|
+
"""
|
|
71
|
+
Labeling instructions in HTML format
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
finished_task_number: int = pydantic.Field()
|
|
75
|
+
"""
|
|
76
|
+
Finished tasks
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
ground_truth_number: int = pydantic.Field()
|
|
80
|
+
"""
|
|
81
|
+
Honeypot annotation number in project
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
id: int
|
|
85
|
+
is_draft: typing.Optional[bool] = pydantic.Field(default=None)
|
|
86
|
+
"""
|
|
87
|
+
Whether or not the project is in the middle of being created
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
is_published: typing.Optional[bool] = pydantic.Field(default=None)
|
|
91
|
+
"""
|
|
92
|
+
Whether or not the project is published to annotators
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
label_config: typing.Optional[str] = pydantic.Field(default=None)
|
|
96
|
+
"""
|
|
97
|
+
Label config in XML format. See more about it in documentation
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
|
|
101
|
+
"""
|
|
102
|
+
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)
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
members: str
|
|
106
|
+
members_count: int
|
|
107
|
+
min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
|
|
108
|
+
"""
|
|
109
|
+
Minimum number of completed tasks after which model training is started
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
model_version: typing.Optional[str] = pydantic.Field(default=None)
|
|
113
|
+
"""
|
|
114
|
+
Machine learning model version
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
num_tasks_with_annotations: int = pydantic.Field()
|
|
118
|
+
"""
|
|
119
|
+
Tasks with annotations count
|
|
120
|
+
"""
|
|
121
|
+
|
|
122
|
+
organization: typing.Optional[int] = None
|
|
123
|
+
overlap_cohort_percentage: typing.Optional[int] = None
|
|
124
|
+
parsed_label_config: typing.Optional[typing.Any] = None
|
|
125
|
+
pause_on_failed_annotator_evaluation: typing.Optional[bool] = None
|
|
126
|
+
pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
127
|
+
"""
|
|
128
|
+
Pinned date and time
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
prompts: str
|
|
132
|
+
queue_done: str
|
|
133
|
+
queue_left: str
|
|
134
|
+
queue_total: str
|
|
135
|
+
require_comment_on_skip: typing.Optional[bool] = None
|
|
136
|
+
reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
|
|
137
|
+
"""
|
|
138
|
+
Reveal pre-annotations interactively
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
review_settings: ReviewSettings
|
|
142
|
+
reviewer_queue_total: str
|
|
143
|
+
sampling: typing.Optional[LseProjectSampling] = None
|
|
144
|
+
show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
|
|
145
|
+
"""
|
|
146
|
+
Show annotation history to annotator
|
|
147
|
+
"""
|
|
148
|
+
|
|
149
|
+
show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
|
|
150
|
+
"""
|
|
151
|
+
If set, the annotator can view model predictions
|
|
152
|
+
"""
|
|
153
|
+
|
|
154
|
+
show_ground_truth_first: typing.Optional[bool] = None
|
|
155
|
+
show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
|
|
156
|
+
"""
|
|
157
|
+
Show instructions to the annotator before they start
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
show_overlap_first: typing.Optional[bool] = None
|
|
161
|
+
show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
|
|
162
|
+
"""
|
|
163
|
+
Show a skip button in interface and allow annotators to skip the task
|
|
164
|
+
"""
|
|
165
|
+
|
|
166
|
+
show_unused_data_columns_to_annotators: typing.Optional[bool] = None
|
|
167
|
+
skip_queue: typing.Optional[LseProjectSkipQueue] = None
|
|
168
|
+
skipped_annotations_number: int = pydantic.Field()
|
|
169
|
+
"""
|
|
170
|
+
Skipped by collaborators annotation number in project
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
start_training_on_annotation_update: bool = pydantic.Field()
|
|
174
|
+
"""
|
|
175
|
+
Start model training after any annotations are submitted or updated
|
|
176
|
+
"""
|
|
177
|
+
|
|
178
|
+
task_data_login: typing.Optional[str] = pydantic.Field(default=None)
|
|
179
|
+
"""
|
|
180
|
+
Task data credentials: login
|
|
181
|
+
"""
|
|
182
|
+
|
|
183
|
+
task_data_password: typing.Optional[str] = pydantic.Field(default=None)
|
|
184
|
+
"""
|
|
185
|
+
Task data credentials: password
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
task_number: int = pydantic.Field()
|
|
189
|
+
"""
|
|
190
|
+
Total task number in project
|
|
191
|
+
"""
|
|
192
|
+
|
|
193
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
194
|
+
"""
|
|
195
|
+
Project name. Must be between 3 and 50 characters long.
|
|
196
|
+
"""
|
|
197
|
+
|
|
198
|
+
total_annotations_number: int = pydantic.Field()
|
|
199
|
+
"""
|
|
200
|
+
Total annotations number in project including skipped_annotations_number and ground_truth_number.
|
|
201
|
+
"""
|
|
202
|
+
|
|
203
|
+
total_predictions_number: int = pydantic.Field()
|
|
204
|
+
"""
|
|
205
|
+
Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
|
|
206
|
+
"""
|
|
207
|
+
|
|
208
|
+
useful_annotation_number: int = pydantic.Field()
|
|
209
|
+
"""
|
|
210
|
+
Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
|
|
211
|
+
"""
|
|
212
|
+
|
|
213
|
+
workspace: str
|
|
214
|
+
workspace_title: str
|
|
215
|
+
|
|
216
|
+
if IS_PYDANTIC_V2:
|
|
217
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
218
|
+
else:
|
|
219
|
+
|
|
220
|
+
class Config:
|
|
221
|
+
frozen = True
|
|
222
|
+
smart_union = True
|
|
223
|
+
extra = pydantic.Extra.allow
|
|
@@ -156,6 +156,7 @@ class LseProjectUpdate(UncheckedBaseModel):
|
|
|
156
156
|
Show a skip button in interface and allow annotators to skip the task
|
|
157
157
|
"""
|
|
158
158
|
|
|
159
|
+
show_unused_data_columns_to_annotators: typing.Optional[bool] = None
|
|
159
160
|
skip_queue: typing.Optional[LseProjectUpdateSkipQueue] = None
|
|
160
161
|
skipped_annotations_number: int = pydantic.Field()
|
|
161
162
|
"""
|
|
@@ -7,11 +7,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class LsejwtSettings(UncheckedBaseModel):
|
|
10
|
-
api_token_ttl_days:
|
|
11
|
-
"""
|
|
12
|
-
Number of days before JWT API tokens expire
|
|
13
|
-
"""
|
|
14
|
-
|
|
10
|
+
api_token_ttl_days: int
|
|
15
11
|
api_tokens_enabled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
16
12
|
"""
|
|
17
13
|
Enable JWT API token authentication for this organization
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .annotation_history import AnnotationHistory
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaginatedAnnotationHistoryList(UncheckedBaseModel):
|
|
11
|
+
count: int
|
|
12
|
+
next: typing.Optional[str] = None
|
|
13
|
+
previous: typing.Optional[str] = None
|
|
14
|
+
results: typing.List[AnnotationHistory]
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .lse_user import LseUser
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaginatedLseUserList(UncheckedBaseModel):
|
|
11
|
+
count: int
|
|
12
|
+
next: typing.Optional[str] = None
|
|
13
|
+
previous: typing.Optional[str] = None
|
|
14
|
+
results: typing.List[LseUser]
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .paginated_project_member import PaginatedProjectMember
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaginatedPaginatedProjectMemberList(UncheckedBaseModel):
|
|
11
|
+
count: int
|
|
12
|
+
next: typing.Optional[str] = None
|
|
13
|
+
previous: typing.Optional[str] = None
|
|
14
|
+
results: typing.List[PaginatedProjectMember]
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
7
|
+
from .lse_fields import LseFields
|
|
8
|
+
from .organization_membership import OrganizationMembership
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PaginatedProjectMember(UncheckedBaseModel):
|
|
13
|
+
"""
|
|
14
|
+
A ModelSerializer that takes additional arguments for
|
|
15
|
+
"fields", "omit" and "expand" in order to
|
|
16
|
+
control which fields are displayed, and whether to replace simple
|
|
17
|
+
values with complex, nested serializations
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
active_organization: typing.Optional[int] = None
|
|
21
|
+
active_organization_meta: str
|
|
22
|
+
allow_newsletters: typing.Optional[bool] = pydantic.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
Allow sending newsletters to user
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
avatar: str
|
|
28
|
+
custom_hotkeys: typing.Optional[typing.Optional[typing.Any]] = None
|
|
29
|
+
date_joined: typing.Optional[dt.datetime] = None
|
|
30
|
+
email: typing.Optional[str] = None
|
|
31
|
+
first_name: typing.Optional[str] = None
|
|
32
|
+
id: int
|
|
33
|
+
initials: str
|
|
34
|
+
last_activity: dt.datetime
|
|
35
|
+
last_name: typing.Optional[str] = None
|
|
36
|
+
lse_fields: LseFields
|
|
37
|
+
org_membership: typing.List[OrganizationMembership]
|
|
38
|
+
pause: str
|
|
39
|
+
phone: typing.Optional[str] = None
|
|
40
|
+
project_role: str
|
|
41
|
+
username: str
|
|
42
|
+
|
|
43
|
+
if IS_PYDANTIC_V2:
|
|
44
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
45
|
+
else:
|
|
46
|
+
|
|
47
|
+
class Config:
|
|
48
|
+
frozen = True
|
|
49
|
+
smart_union = True
|
|
50
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
from .role9e7enum import Role9E7Enum
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ProjectMemberBulkAssignRolesRequest(UncheckedBaseModel):
|
|
11
|
+
role: Role9E7Enum
|
|
12
|
+
user_id: int
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|