label-studio-sdk 2.0.6__py3-none-any.whl → 2.0.8__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.
- label_studio_sdk/__init__.py +32 -2
- label_studio_sdk/base_client.py +4 -0
- label_studio_sdk/converter/exports/yolo.py +89 -74
- label_studio_sdk/core/client_wrapper.py +1 -1
- label_studio_sdk/import_storage/azure_spi/client.py +30 -0
- 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 +540 -1
- label_studio_sdk/organizations/invites/__init__.py +2 -0
- label_studio_sdk/organizations/invites/client.py +368 -0
- label_studio_sdk/organizations/permissions/__init__.py +2 -0
- label_studio_sdk/organizations/permissions/client.py +1129 -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/__init__.py +30 -0
- label_studio_sdk/projects/client.py +355 -0
- label_studio_sdk/projects/stats/__init__.py +28 -0
- label_studio_sdk/projects/stats/client.py +1002 -43
- label_studio_sdk/projects/stats/types/__init__.py +30 -0
- label_studio_sdk/projects/stats/types/stats_agreement_annotator_response.py +26 -0
- label_studio_sdk/projects/stats/types/stats_data_filters_response.py +23 -0
- label_studio_sdk/projects/stats/types/stats_data_filters_response_user_filters.py +34 -0
- label_studio_sdk/projects/stats/types/stats_data_filters_response_user_filters_stats_item.py +22 -0
- label_studio_sdk/projects/stats/types/stats_finished_tasks_response.py +32 -0
- label_studio_sdk/projects/stats/types/stats_lead_time_response.py +23 -0
- label_studio_sdk/projects/stats/types/stats_lead_time_response_lead_time_stats_item.py +37 -0
- label_studio_sdk/projects/stats/types/stats_user_ground_truth_agreement_response.py +20 -0
- label_studio_sdk/projects/stats/types/stats_user_ground_truth_agreement_response_agreement.py +5 -0
- label_studio_sdk/projects/stats/types/stats_user_prediction_agreement_response.py +24 -0
- label_studio_sdk/projects/stats/types/stats_user_prediction_agreement_response_average_prediction_agreement_per_user.py +5 -0
- label_studio_sdk/projects/stats/types/stats_user_review_score_response.py +22 -0
- label_studio_sdk/projects/stats/types/stats_user_review_score_response_performance_score.py +5 -0
- label_studio_sdk/projects/stats/types/stats_user_review_score_response_review_score.py +5 -0
- label_studio_sdk/projects/types/__init__.py +2 -0
- label_studio_sdk/projects/types/projects_import_predictions_response.py +26 -0
- label_studio_sdk/prompts/versions/client.py +4 -16
- label_studio_sdk/types/__init__.py +26 -2
- label_studio_sdk/types/azure_service_principal_import_storage.py +5 -0
- label_studio_sdk/types/azure_service_principal_import_storage_request.py +5 -0
- label_studio_sdk/types/configurable_permission_option.py +25 -0
- label_studio_sdk/types/configurable_permission_option_default.py +7 -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/lse_organization.py +2 -2
- label_studio_sdk/types/lse_project.py +223 -0
- label_studio_sdk/types/lse_project_counts.py +46 -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_task.py +1 -1
- label_studio_sdk/types/lse_task_serializer_for_reviewers.py +1 -1
- label_studio_sdk/types/organization_permission.py +31 -0
- label_studio_sdk/types/organization_permission_request.py +24 -0
- label_studio_sdk/types/paginated_lse_project_counts_list.py +23 -0
- label_studio_sdk/types/project_template.py +41 -0
- label_studio_sdk/types/project_template_request.py +38 -0
- label_studio_sdk/types/who_am_i_user.py +1 -0
- {label_studio_sdk-2.0.6.dist-info → label_studio_sdk-2.0.8.dist-info}/METADATA +1 -1
- {label_studio_sdk-2.0.6.dist-info → label_studio_sdk-2.0.8.dist-info}/RECORD +66 -31
- label_studio_sdk/types/default_role_enum.py +0 -5
- {label_studio_sdk-2.0.6.dist-info → label_studio_sdk-2.0.8.dist-info}/LICENSE +0 -0
- {label_studio_sdk-2.0.6.dist-info → label_studio_sdk-2.0.8.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
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 datetime as dt
|
|
6
|
+
import pydantic
|
|
7
|
+
from .default_role_custom_scripts_editable_by import DefaultRoleCustomScriptsEditableBy
|
|
8
|
+
from .role9e7enum import Role9E7Enum
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DefaultRole(UncheckedBaseModel):
|
|
13
|
+
annotator_reviewer_firewall_enabled_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
14
|
+
"""
|
|
15
|
+
Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
custom_scripts_editable_by: typing.Optional[DefaultRoleCustomScriptsEditableBy] = pydantic.Field(default=None)
|
|
19
|
+
"""
|
|
20
|
+
Set the minimum user role that can edit custom scripts in the UI.
|
|
21
|
+
|
|
22
|
+
* `AD` - Administrator
|
|
23
|
+
* `MA` - Manager
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
custom_scripts_enabled_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
27
|
+
"""
|
|
28
|
+
Set to current time to enabled custom scripts for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
default_role: typing.Optional[Role9E7Enum] = pydantic.Field(default=None)
|
|
32
|
+
"""
|
|
33
|
+
Default membership role for invited users
|
|
34
|
+
|
|
35
|
+
* `OW` - Owner
|
|
36
|
+
* `AD` - Administrator
|
|
37
|
+
* `MA` - Manager
|
|
38
|
+
* `RE` - Reviewer
|
|
39
|
+
* `AN` - Annotator
|
|
40
|
+
* `DI` - Deactivated
|
|
41
|
+
* `NO` - Not Activated
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
email_notification_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
45
|
+
embed_domains: typing.Optional[typing.Optional[typing.Any]] = None
|
|
46
|
+
embed_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
47
|
+
external_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
|
+
"""
|
|
49
|
+
External ID to uniquely identify this organization
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
extra_data_on_activity_logs: typing.Optional[bool] = None
|
|
53
|
+
label_stream_navigation_disabled_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
54
|
+
"""
|
|
55
|
+
Set to current time to disable the label stream navigation for this organization. This will prevent users from going back in the label stream to view previous labels.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
organization: int = pydantic.Field()
|
|
59
|
+
"""
|
|
60
|
+
A unique integer value identifying this organization.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
read_only_quick_view_enabled_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
64
|
+
"""
|
|
65
|
+
Set to current time to prevent creating or editing annotations in quick view.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
if IS_PYDANTIC_V2:
|
|
69
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
70
|
+
else:
|
|
71
|
+
|
|
72
|
+
class Config:
|
|
73
|
+
frozen = True
|
|
74
|
+
smart_union = True
|
|
75
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .custom_scripts_editable_by_enum import CustomScriptsEditableByEnum
|
|
5
|
+
from .null_enum import NullEnum
|
|
6
|
+
|
|
7
|
+
DefaultRoleCustomScriptsEditableBy = typing.Union[CustomScriptsEditableByEnum, NullEnum]
|
|
@@ -6,7 +6,7 @@ import datetime as dt
|
|
|
6
6
|
import typing
|
|
7
7
|
from .lse_organization_custom_scripts_editable_by import LseOrganizationCustomScriptsEditableBy
|
|
8
8
|
import pydantic
|
|
9
|
-
from .
|
|
9
|
+
from .role9e7enum import Role9E7Enum
|
|
10
10
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
11
11
|
|
|
12
12
|
|
|
@@ -22,7 +22,7 @@ class LseOrganization(UncheckedBaseModel):
|
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
custom_scripts_enabled: str
|
|
25
|
-
default_role: typing.Optional[
|
|
25
|
+
default_role: typing.Optional[Role9E7Enum] = pydantic.Field(default=None)
|
|
26
26
|
"""
|
|
27
27
|
Default membership role for invited users
|
|
28
28
|
|
|
@@ -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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LseProjectCounts(UncheckedBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Serializer get numbers from project queryset annotation,
|
|
12
|
+
make sure, that you use correct one(Project.objects.with_counts())
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
finished_task_number: int
|
|
16
|
+
ground_truth_number: int = pydantic.Field()
|
|
17
|
+
"""
|
|
18
|
+
Honeypot annotation number in project
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
id: int
|
|
22
|
+
num_tasks_with_annotations: str
|
|
23
|
+
queue_done: str
|
|
24
|
+
queue_left: str
|
|
25
|
+
queue_total: str
|
|
26
|
+
rejected: str
|
|
27
|
+
review_total_tasks: str
|
|
28
|
+
reviewed_number: str
|
|
29
|
+
skipped_annotations_number: str
|
|
30
|
+
task_number: int = pydantic.Field()
|
|
31
|
+
"""
|
|
32
|
+
Total task number in project
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
total_annotations_number: str
|
|
36
|
+
total_predictions_number: int
|
|
37
|
+
useful_annotation_number: str
|
|
38
|
+
|
|
39
|
+
if IS_PYDANTIC_V2:
|
|
40
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
41
|
+
else:
|
|
42
|
+
|
|
43
|
+
class Config:
|
|
44
|
+
frozen = True
|
|
45
|
+
smart_union = True
|
|
46
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,31 @@
|
|
|
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 .role9e7enum import Role9E7Enum
|
|
6
|
+
import pydantic
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OrganizationPermission(UncheckedBaseModel):
|
|
11
|
+
default_role: str
|
|
12
|
+
id: int
|
|
13
|
+
label: str
|
|
14
|
+
options: str
|
|
15
|
+
organization: int
|
|
16
|
+
permission: str
|
|
17
|
+
roles: typing.Optional[typing.List[Role9E7Enum]] = pydantic.Field(default=None)
|
|
18
|
+
"""
|
|
19
|
+
Explicit roles that have this permission within the organization.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
tooltip: str
|
|
23
|
+
|
|
24
|
+
if IS_PYDANTIC_V2:
|
|
25
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
26
|
+
else:
|
|
27
|
+
|
|
28
|
+
class Config:
|
|
29
|
+
frozen = True
|
|
30
|
+
smart_union = True
|
|
31
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,24 @@
|
|
|
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 .role9e7enum import Role9E7Enum
|
|
6
|
+
import pydantic
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OrganizationPermissionRequest(UncheckedBaseModel):
|
|
11
|
+
permission: str
|
|
12
|
+
roles: typing.Optional[typing.List[Role9E7Enum]] = pydantic.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
Explicit roles that have this permission within the organization.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
|
+
else:
|
|
20
|
+
|
|
21
|
+
class Config:
|
|
22
|
+
frozen = True
|
|
23
|
+
smart_union = True
|
|
24
|
+
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_project_counts import LseProjectCounts
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaginatedLseProjectCountsList(UncheckedBaseModel):
|
|
11
|
+
count: int
|
|
12
|
+
next: typing.Optional[str] = None
|
|
13
|
+
previous: typing.Optional[str] = None
|
|
14
|
+
results: typing.List[LseProjectCounts]
|
|
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,41 @@
|
|
|
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 datetime as dt
|
|
6
|
+
import pydantic
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ProjectTemplate(UncheckedBaseModel):
|
|
11
|
+
assignment_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
12
|
+
created_at: dt.datetime
|
|
13
|
+
created_by: typing.Optional[int] = None
|
|
14
|
+
custom_script: typing.Optional[str] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
custom script for projects created from this template
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
description: typing.Optional[str] = None
|
|
20
|
+
id: int
|
|
21
|
+
name: str
|
|
22
|
+
organization: typing.Optional[int] = None
|
|
23
|
+
project_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
24
|
+
require_comment_on_skip: typing.Optional[bool] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
flag to require comment on skip
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
review_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
30
|
+
show_unused_data_columns_to_annotators: typing.Optional[bool] = None
|
|
31
|
+
tags: typing.Optional[typing.Optional[typing.Any]] = None
|
|
32
|
+
updated_at: dt.datetime
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ProjectTemplateRequest(UncheckedBaseModel):
|
|
10
|
+
assignment_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
11
|
+
created_by: typing.Optional[int] = None
|
|
12
|
+
custom_script: typing.Optional[str] = pydantic.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
custom script for projects created from this template
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
description: typing.Optional[str] = None
|
|
18
|
+
name: str
|
|
19
|
+
organization: typing.Optional[int] = None
|
|
20
|
+
project_id: int
|
|
21
|
+
project_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
22
|
+
require_comment_on_skip: typing.Optional[bool] = pydantic.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
flag to require comment on skip
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
review_settings: typing.Optional[typing.Optional[typing.Any]] = None
|
|
28
|
+
show_unused_data_columns_to_annotators: typing.Optional[bool] = None
|
|
29
|
+
tags: typing.Optional[typing.Optional[typing.Any]] = None
|
|
30
|
+
|
|
31
|
+
if IS_PYDANTIC_V2:
|
|
32
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
33
|
+
else:
|
|
34
|
+
|
|
35
|
+
class Config:
|
|
36
|
+
frozen = True
|
|
37
|
+
smart_union = True
|
|
38
|
+
extra = pydantic.Extra.allow
|