label-studio-sdk 2.0.1__py3-none-any.whl → 2.0.3__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.

Files changed (184) hide show
  1. label_studio_sdk/__init__.py +20 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/base_client.py +4 -0
  7. label_studio_sdk/comments/client.py +176 -176
  8. label_studio_sdk/export_storage/azure/client.py +274 -274
  9. label_studio_sdk/export_storage/gcs/client.py +263 -263
  10. label_studio_sdk/export_storage/local/client.py +206 -206
  11. label_studio_sdk/export_storage/redis/client.py +287 -287
  12. label_studio_sdk/export_storage/s3/client.py +347 -347
  13. label_studio_sdk/export_storage/s3s/client.py +678 -678
  14. label_studio_sdk/import_storage/azure/client.py +357 -357
  15. label_studio_sdk/import_storage/gcs/client.py +357 -357
  16. label_studio_sdk/import_storage/local/client.py +206 -206
  17. label_studio_sdk/import_storage/redis/client.py +309 -309
  18. label_studio_sdk/import_storage/s3/client.py +452 -452
  19. label_studio_sdk/import_storage/s3s/client.py +735 -735
  20. label_studio_sdk/jwt_settings/client.py +10 -10
  21. label_studio_sdk/ml/client.py +118 -118
  22. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  23. label_studio_sdk/model_providers/client.py +181 -181
  24. label_studio_sdk/organizations/members/client.py +8 -8
  25. label_studio_sdk/predictions/client.py +60 -60
  26. label_studio_sdk/projects/__init__.py +33 -1
  27. label_studio_sdk/projects/assignments/__init__.py +35 -0
  28. label_studio_sdk/projects/assignments/client.py +801 -0
  29. label_studio_sdk/projects/assignments/types/__init__.py +37 -0
  30. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  31. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  32. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  42. label_studio_sdk/projects/assignments/types/assignments_delete_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  44. label_studio_sdk/projects/client.py +445 -425
  45. label_studio_sdk/projects/exports/client.py +55 -55
  46. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  47. label_studio_sdk/projects/members/__init__.py +2 -0
  48. label_studio_sdk/projects/members/client.py +137 -0
  49. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  50. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  51. label_studio_sdk/prompts/client.py +211 -211
  52. label_studio_sdk/prompts/runs/client.py +33 -33
  53. label_studio_sdk/prompts/versions/client.py +72 -72
  54. label_studio_sdk/sso/__init__.py +5 -0
  55. label_studio_sdk/sso/client.py +22 -0
  56. label_studio_sdk/sso/saml/__init__.py +2 -0
  57. label_studio_sdk/sso/saml/client.py +278 -0
  58. label_studio_sdk/sso/scim/__init__.py +2 -0
  59. label_studio_sdk/sso/scim/client.py +278 -0
  60. label_studio_sdk/tasks/client.py +174 -174
  61. label_studio_sdk/types/__init__.py +18 -0
  62. label_studio_sdk/types/all_roles_project_list.py +94 -94
  63. label_studio_sdk/types/annotation.py +35 -35
  64. label_studio_sdk/types/annotation_request.py +27 -27
  65. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  66. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  67. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  68. label_studio_sdk/types/billing_checks.py +14 -14
  69. label_studio_sdk/types/billing_flags.py +16 -16
  70. label_studio_sdk/types/blueprint_list.py +7 -8
  71. label_studio_sdk/types/child_filter.py +11 -10
  72. label_studio_sdk/types/comment.py +15 -15
  73. label_studio_sdk/types/comment_request.py +7 -8
  74. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  75. label_studio_sdk/types/converted_format.py +1 -1
  76. label_studio_sdk/types/converted_format_request.py +1 -1
  77. label_studio_sdk/types/export.py +8 -8
  78. label_studio_sdk/types/file_upload.py +3 -2
  79. label_studio_sdk/types/filter.py +10 -9
  80. label_studio_sdk/types/filter_group.py +4 -3
  81. label_studio_sdk/types/gcs_export_storage.py +23 -23
  82. label_studio_sdk/types/gcs_import_storage.py +27 -27
  83. label_studio_sdk/types/import_api_request.py +26 -26
  84. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  85. label_studio_sdk/types/local_files_export_storage.py +23 -23
  86. label_studio_sdk/types/local_files_import_storage.py +26 -26
  87. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  88. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  89. label_studio_sdk/types/lse_export_create.py +12 -12
  90. label_studio_sdk/types/lse_fields.py +14 -14
  91. label_studio_sdk/types/lse_organization.py +17 -17
  92. label_studio_sdk/types/lse_organization_member_list.py +1 -1
  93. label_studio_sdk/types/lse_project_create.py +72 -72
  94. label_studio_sdk/types/lse_project_update.py +89 -89
  95. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  96. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  97. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  98. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  99. label_studio_sdk/types/lse_task.py +49 -49
  100. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  102. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  103. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  104. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  105. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  106. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  107. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  108. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  109. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  110. label_studio_sdk/types/lse_user.py +13 -13
  111. label_studio_sdk/types/lse_user_api.py +11 -11
  112. label_studio_sdk/types/lse_user_organization_member_list.py +13 -13
  113. label_studio_sdk/types/lseapi_token_create.py +1 -1
  114. label_studio_sdk/types/lseapi_token_list.py +1 -1
  115. label_studio_sdk/types/lsejwt_settings.py +5 -5
  116. label_studio_sdk/types/ml_backend.py +27 -28
  117. label_studio_sdk/types/model_interface.py +12 -12
  118. label_studio_sdk/types/model_interface_request.py +7 -8
  119. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  120. label_studio_sdk/types/model_provider_connection.py +34 -34
  121. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  122. label_studio_sdk/types/model_run.py +12 -12
  123. label_studio_sdk/types/organization_billing.py +1 -1
  124. label_studio_sdk/types/organization_id.py +2 -2
  125. label_studio_sdk/types/organization_invite.py +1 -1
  126. label_studio_sdk/types/organization_member.py +8 -9
  127. label_studio_sdk/types/organization_membership.py +2 -1
  128. label_studio_sdk/types/pause.py +23 -23
  129. label_studio_sdk/types/prediction.py +21 -21
  130. label_studio_sdk/types/prediction_request.py +16 -16
  131. label_studio_sdk/types/project.py +72 -72
  132. label_studio_sdk/types/project_group.py +22 -0
  133. label_studio_sdk/types/project_group_request.py +22 -0
  134. label_studio_sdk/types/project_group_role_enum.py +5 -0
  135. label_studio_sdk/types/project_import.py +21 -21
  136. label_studio_sdk/types/redis_export_storage.py +34 -34
  137. label_studio_sdk/types/redis_import_storage.py +37 -37
  138. label_studio_sdk/types/refined_prompt_response.py +11 -11
  139. label_studio_sdk/types/review_settings.py +29 -30
  140. label_studio_sdk/types/review_settings_request.py +29 -30
  141. label_studio_sdk/types/s3export_storage.py +45 -45
  142. label_studio_sdk/types/s3import_storage.py +44 -44
  143. label_studio_sdk/types/saml_settings.py +21 -0
  144. label_studio_sdk/types/saml_settings_update.py +22 -0
  145. label_studio_sdk/types/scim_settings.py +21 -0
  146. label_studio_sdk/types/scim_settings_update.py +22 -0
  147. label_studio_sdk/types/selected_items_request.py +1 -1
  148. label_studio_sdk/types/serialization_options.py +10 -10
  149. label_studio_sdk/types/serialization_options_request.py +10 -10
  150. label_studio_sdk/types/task_assignment.py +43 -0
  151. label_studio_sdk/types/third_party_model_version.py +11 -11
  152. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  153. label_studio_sdk/types/type_enum.py +5 -0
  154. label_studio_sdk/types/user_simple.py +3 -3
  155. label_studio_sdk/types/user_simple_request.py +1 -1
  156. label_studio_sdk/types/version_response.py +19 -20
  157. label_studio_sdk/types/view.py +8 -8
  158. label_studio_sdk/types/webhook.py +16 -16
  159. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  160. label_studio_sdk/types/workspace.py +10 -11
  161. label_studio_sdk/users/client.py +160 -160
  162. label_studio_sdk/views/client.py +164 -164
  163. label_studio_sdk/webhooks/client.py +183 -183
  164. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  165. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  171. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  172. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  173. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  174. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  175. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  176. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  177. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  178. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  179. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  180. label_studio_sdk/workspaces/client.py +40 -40
  181. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/METADATA +1 -1
  182. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/RECORD +184 -150
  183. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/LICENSE +0 -0
  184. {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/WHEEL +0 -0
@@ -3,8 +3,8 @@
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import pydantic
6
- from .user_simple import UserSimple
7
6
  import datetime as dt
7
+ from .user_simple import UserSimple
8
8
  from .project_sampling import ProjectSampling
9
9
  from .project_skip_queue import ProjectSkipQueue
10
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
@@ -16,10 +16,22 @@ class Project(UncheckedBaseModel):
16
16
  make sure, that you use correct one(Project.objects.with_counts())
17
17
  """
18
18
 
19
- id: int
20
- title: typing.Optional[str] = pydantic.Field(default=None)
19
+ color: typing.Optional[str] = None
20
+ config_has_control_tags: bool = pydantic.Field()
21
21
  """
22
- Project name. Must be between 3 and 50 characters long.
22
+ Flag to detect is project ready for labeling
23
+ """
24
+
25
+ config_suitable_for_bulk_annotation: bool = pydantic.Field()
26
+ """
27
+ Flag to detect is project ready for bulk annotation
28
+ """
29
+
30
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = None
31
+ created_at: dt.datetime
32
+ created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
33
+ """
34
+ Project owner
23
35
  """
24
36
 
25
37
  description: typing.Optional[str] = pydantic.Field(default=None)
@@ -27,9 +39,14 @@ class Project(UncheckedBaseModel):
27
39
  Project description
28
40
  """
29
41
 
30
- label_config: typing.Optional[str] = pydantic.Field(default=None)
42
+ enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
31
43
  """
32
- Label config in XML format. See more about it in documentation
44
+ Allow annotators to submit empty annotations
45
+ """
46
+
47
+ evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
48
+ """
49
+ Retrieve and display predictions when loading a task
33
50
  """
34
51
 
35
52
  expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
@@ -37,36 +54,40 @@ class Project(UncheckedBaseModel):
37
54
  Labeling instructions in HTML format
38
55
  """
39
56
 
40
- show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
57
+ finished_task_number: int = pydantic.Field()
41
58
  """
42
- Show instructions to the annotator before they start
59
+ Finished tasks
43
60
  """
44
61
 
45
- show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
62
+ ground_truth_number: int = pydantic.Field()
46
63
  """
47
- Show a skip button in interface and allow annotators to skip the task
64
+ Honeypot annotation number in project
48
65
  """
49
66
 
50
- enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
67
+ id: int
68
+ is_draft: typing.Optional[bool] = pydantic.Field(default=None)
51
69
  """
52
- Allow annotators to submit empty annotations
70
+ Whether or not the project is in the middle of being created
53
71
  """
54
72
 
55
- show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
73
+ is_published: typing.Optional[bool] = pydantic.Field(default=None)
56
74
  """
57
- Show annotation history to annotator
75
+ Whether or not the project is published to annotators
76
+ """
77
+
78
+ label_config: typing.Optional[str] = pydantic.Field(default=None)
79
+ """
80
+ Label config in XML format. See more about it in documentation
58
81
  """
59
82
 
60
- organization: typing.Optional[int] = None
61
- color: typing.Optional[str] = None
62
83
  maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
63
84
  """
64
85
  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)
65
86
  """
66
87
 
67
- is_published: typing.Optional[bool] = pydantic.Field(default=None)
88
+ min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
68
89
  """
69
- Whether or not the project is published to annotators
90
+ Minimum number of completed tasks after which model training is started
70
91
  """
71
92
 
72
93
  model_version: typing.Optional[str] = pydantic.Field(default=None)
@@ -74,25 +95,30 @@ class Project(UncheckedBaseModel):
74
95
  Machine learning model version
75
96
  """
76
97
 
77
- is_draft: typing.Optional[bool] = pydantic.Field(default=None)
98
+ num_tasks_with_annotations: int = pydantic.Field()
78
99
  """
79
- Whether or not the project is in the middle of being created
100
+ Tasks with annotations count
80
101
  """
81
102
 
82
- created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
103
+ organization: typing.Optional[int] = None
104
+ overlap_cohort_percentage: typing.Optional[int] = None
105
+ parsed_label_config: typing.Optional[typing.Any] = None
106
+ pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
83
107
  """
84
- Project owner
108
+ Pinned date and time
85
109
  """
86
110
 
87
- created_at: dt.datetime
88
- min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
111
+ queue_done: int
112
+ queue_total: int
113
+ reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
89
114
  """
90
- Minimum number of completed tasks after which model training is started
115
+ Reveal pre-annotations interactively
91
116
  """
92
117
 
93
- start_training_on_annotation_update: bool = pydantic.Field()
118
+ sampling: typing.Optional[ProjectSampling] = None
119
+ show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
94
120
  """
95
- Start model training after any annotations are submitted or updated
121
+ Show annotation history to annotator
96
122
  """
97
123
 
98
124
  show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
@@ -100,45 +126,29 @@ class Project(UncheckedBaseModel):
100
126
  If set, the annotator can view model predictions
101
127
  """
102
128
 
103
- num_tasks_with_annotations: int = pydantic.Field()
104
- """
105
- Tasks with annotations count
106
- """
107
-
108
- task_number: int = pydantic.Field()
109
- """
110
- Total task number in project
111
- """
112
-
113
- useful_annotation_number: int = pydantic.Field()
129
+ show_ground_truth_first: typing.Optional[bool] = None
130
+ show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
114
131
  """
115
- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
132
+ Show instructions to the annotator before they start
116
133
  """
117
134
 
118
- ground_truth_number: int = pydantic.Field()
135
+ show_overlap_first: typing.Optional[bool] = None
136
+ show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
119
137
  """
120
- Honeypot annotation number in project
138
+ Show a skip button in interface and allow annotators to skip the task
121
139
  """
122
140
 
141
+ skip_queue: typing.Optional[ProjectSkipQueue] = None
123
142
  skipped_annotations_number: int = pydantic.Field()
124
143
  """
125
144
  Skipped by collaborators annotation number in project
126
145
  """
127
146
 
128
- total_annotations_number: int = pydantic.Field()
129
- """
130
- Total annotations number in project including skipped_annotations_number and ground_truth_number.
131
- """
132
-
133
- total_predictions_number: int = pydantic.Field()
147
+ start_training_on_annotation_update: bool = pydantic.Field()
134
148
  """
135
- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
149
+ Start model training after any annotations are submitted or updated
136
150
  """
137
151
 
138
- sampling: typing.Optional[ProjectSampling] = None
139
- show_ground_truth_first: typing.Optional[bool] = None
140
- show_overlap_first: typing.Optional[bool] = None
141
- overlap_cohort_percentage: typing.Optional[int] = None
142
152
  task_data_login: typing.Optional[str] = pydantic.Field(default=None)
143
153
  """
144
154
  Task data credentials: login
@@ -149,39 +159,29 @@ class Project(UncheckedBaseModel):
149
159
  Task data credentials: password
150
160
  """
151
161
 
152
- control_weights: typing.Optional[typing.Optional[typing.Any]] = None
153
- parsed_label_config: typing.Optional[typing.Any] = None
154
- evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
155
- """
156
- Retrieve and display predictions when loading a task
157
- """
158
-
159
- config_has_control_tags: bool = pydantic.Field()
162
+ task_number: int = pydantic.Field()
160
163
  """
161
- Flag to detect is project ready for labeling
164
+ Total task number in project
162
165
  """
163
166
 
164
- skip_queue: typing.Optional[ProjectSkipQueue] = None
165
- reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
167
+ title: typing.Optional[str] = pydantic.Field(default=None)
166
168
  """
167
- Reveal pre-annotations interactively
169
+ Project name. Must be between 3 and 50 characters long.
168
170
  """
169
171
 
170
- pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
172
+ total_annotations_number: int = pydantic.Field()
171
173
  """
172
- Pinned date and time
174
+ Total annotations number in project including skipped_annotations_number and ground_truth_number.
173
175
  """
174
176
 
175
- finished_task_number: int = pydantic.Field()
177
+ total_predictions_number: int = pydantic.Field()
176
178
  """
177
- Finished tasks
179
+ Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
178
180
  """
179
181
 
180
- queue_total: int
181
- queue_done: int
182
- config_suitable_for_bulk_annotation: bool = pydantic.Field()
182
+ useful_annotation_number: int = pydantic.Field()
183
183
  """
184
- Flag to detect is project ready for bulk annotation
184
+ Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
185
185
  """
186
186
 
187
187
  if IS_PYDANTIC_V2:
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .project_group_role_enum import ProjectGroupRoleEnum
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class ProjectGroup(UncheckedBaseModel):
11
+ group: str
12
+ project_id: int
13
+ role: ProjectGroupRoleEnum
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .project_group_role_enum import ProjectGroupRoleEnum
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class ProjectGroupRequest(UncheckedBaseModel):
11
+ group: str
12
+ project_id: int
13
+ role: ProjectGroupRoleEnum
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ProjectGroupRoleEnum = typing.Union[typing.Literal["Inherit", "Annotator", "Reviewer"], typing.Any]
@@ -2,46 +2,46 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- from .status7bf_enum import Status7BfEnum
6
5
  import datetime as dt
7
6
  import pydantic
7
+ from .status7bf_enum import Status7BfEnum
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class ProjectImport(UncheckedBaseModel):
12
- id: int
13
- project: typing.Optional[int] = None
14
- preannotated_from_fields: typing.Optional[typing.Optional[typing.Any]] = None
12
+ annotation_count: typing.Optional[int] = None
15
13
  commit_to_project: typing.Optional[bool] = None
16
- return_task_ids: typing.Optional[bool] = None
17
- status: typing.Optional[Status7BfEnum] = None
18
- url: typing.Optional[str] = None
19
- error: typing.Optional[str] = None
14
+ could_be_tasks_list: typing.Optional[bool] = None
20
15
  created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
21
16
  """
22
17
  Creation time
23
18
  """
24
19
 
25
- updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
26
- """
27
- Updated time
28
- """
29
-
20
+ data_columns: typing.Optional[typing.Optional[typing.Any]] = None
21
+ duration: typing.Optional[int] = None
22
+ error: typing.Optional[str] = None
23
+ file_upload_ids: typing.Optional[typing.Optional[typing.Any]] = None
30
24
  finished_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
31
25
  """
32
26
  Complete or fail time
33
27
  """
34
28
 
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.Optional[typing.Any]] = None
40
- could_be_tasks_list: typing.Optional[bool] = None
41
29
  found_formats: typing.Optional[typing.Optional[typing.Any]] = None
42
- data_columns: typing.Optional[typing.Optional[typing.Any]] = None
43
- tasks: typing.Optional[typing.Optional[typing.Any]] = None
30
+ id: int
31
+ preannotated_from_fields: typing.Optional[typing.Optional[typing.Any]] = None
32
+ prediction_count: typing.Optional[int] = None
33
+ project: typing.Optional[int] = None
34
+ return_task_ids: typing.Optional[bool] = None
35
+ status: typing.Optional[Status7BfEnum] = None
36
+ task_count: typing.Optional[int] = None
44
37
  task_ids: typing.Optional[typing.Optional[typing.Any]] = None
38
+ tasks: typing.Optional[typing.Optional[typing.Any]] = None
39
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
40
+ """
41
+ Updated time
42
+ """
43
+
44
+ url: typing.Optional[str] = None
45
45
 
46
46
  if IS_PYDANTIC_V2:
47
47
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -9,39 +9,32 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class RedisExportStorage(UncheckedBaseModel):
12
- id: int
13
- type: str
14
- synchronizable: typing.Optional[bool] = None
15
- path: typing.Optional[str] = pydantic.Field(default=None)
16
- """
17
- Storage prefix (optional)
18
- """
19
-
20
- host: typing.Optional[str] = pydantic.Field(default=None)
12
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
21
13
  """
22
- Server Host IP (optional)
14
+ Deletion from storage enabled
23
15
  """
24
16
 
25
- port: typing.Optional[str] = pydantic.Field(default=None)
17
+ created_at: dt.datetime = pydantic.Field()
26
18
  """
27
- Server Port (optional)
19
+ Creation time
28
20
  """
29
21
 
30
- password: typing.Optional[str] = pydantic.Field(default=None)
22
+ db: typing.Optional[int] = pydantic.Field(default=None)
31
23
  """
32
- Server Password (optional)
24
+ Server Database
33
25
  """
34
26
 
35
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
27
+ description: typing.Optional[str] = pydantic.Field(default=None)
36
28
  """
37
- Cloud storage regex for filtering objects
29
+ Cloud storage description
38
30
  """
39
31
 
40
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
32
+ host: typing.Optional[str] = pydantic.Field(default=None)
41
33
  """
42
- Interpret objects as BLOBs and generate URLs
34
+ Server Host IP (optional)
43
35
  """
44
36
 
37
+ id: int
45
38
  last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
46
39
  """
47
40
  Last sync finished time
@@ -57,41 +50,48 @@ class RedisExportStorage(UncheckedBaseModel):
57
50
  Last sync job ID
58
51
  """
59
52
 
60
- status: typing.Optional[StatusC5AEnum] = None
61
- traceback: typing.Optional[str] = pydantic.Field(default=None)
53
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
54
+ password: typing.Optional[str] = pydantic.Field(default=None)
62
55
  """
63
- Traceback report for the last failed sync
56
+ Server Password (optional)
64
57
  """
65
58
 
66
- meta: typing.Optional[typing.Optional[typing.Any]] = None
67
- title: typing.Optional[str] = pydantic.Field(default=None)
59
+ path: typing.Optional[str] = pydantic.Field(default=None)
68
60
  """
69
- Cloud storage title
61
+ Storage prefix (optional)
70
62
  """
71
63
 
72
- description: typing.Optional[str] = pydantic.Field(default=None)
64
+ port: typing.Optional[str] = pydantic.Field(default=None)
73
65
  """
74
- Cloud storage description
66
+ Server Port (optional)
75
67
  """
76
68
 
77
- created_at: dt.datetime = pydantic.Field()
69
+ project: int = pydantic.Field()
78
70
  """
79
- Creation time
71
+ A unique integer value identifying this project.
80
72
  """
81
73
 
82
- can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
74
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
83
75
  """
84
- Deletion from storage enabled
76
+ Cloud storage regex for filtering objects
85
77
  """
86
78
 
87
- db: typing.Optional[int] = pydantic.Field(default=None)
79
+ status: typing.Optional[StatusC5AEnum] = None
80
+ synchronizable: typing.Optional[bool] = None
81
+ title: typing.Optional[str] = pydantic.Field(default=None)
88
82
  """
89
- Server Database
83
+ Cloud storage title
90
84
  """
91
85
 
92
- project: int = pydantic.Field()
86
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
93
87
  """
94
- A unique integer value identifying this project.
88
+ Traceback report for the last failed sync
89
+ """
90
+
91
+ type: str
92
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
93
+ """
94
+ Interpret objects as BLOBs and generate URLs
95
95
  """
96
96
 
97
97
  if IS_PYDANTIC_V2:
@@ -1,47 +1,35 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
- import typing
5
- import pydantic
6
4
  import datetime as dt
5
+ import pydantic
6
+ import typing
7
7
  from .status_c5a_enum import StatusC5AEnum
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class RedisImportStorage(UncheckedBaseModel):
12
- id: int
13
- type: str
14
- synchronizable: typing.Optional[bool] = None
15
- path: typing.Optional[str] = pydantic.Field(default=None)
16
- """
17
- Storage prefix (optional)
18
- """
19
-
20
- host: typing.Optional[str] = pydantic.Field(default=None)
21
- """
22
- Server Host IP (optional)
23
- """
24
-
25
- port: typing.Optional[str] = pydantic.Field(default=None)
12
+ created_at: dt.datetime = pydantic.Field()
26
13
  """
27
- Server Port (optional)
14
+ Creation time
28
15
  """
29
16
 
30
- password: typing.Optional[str] = pydantic.Field(default=None)
17
+ db: typing.Optional[int] = pydantic.Field(default=None)
31
18
  """
32
- Server Password (optional)
19
+ Server Database
33
20
  """
34
21
 
35
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
22
+ description: typing.Optional[str] = pydantic.Field(default=None)
36
23
  """
37
- Cloud storage regex for filtering objects
24
+ Cloud storage description
38
25
  """
39
26
 
40
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
27
+ host: typing.Optional[str] = pydantic.Field(default=None)
41
28
  """
42
- Interpret objects as BLOBs and generate URLs
29
+ Server Host IP (optional)
43
30
  """
44
31
 
32
+ id: int
45
33
  last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
46
34
  """
47
35
  Last sync finished time
@@ -57,36 +45,48 @@ class RedisImportStorage(UncheckedBaseModel):
57
45
  Last sync job ID
58
46
  """
59
47
 
60
- status: typing.Optional[StatusC5AEnum] = None
61
- traceback: typing.Optional[str] = pydantic.Field(default=None)
48
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
49
+ password: typing.Optional[str] = pydantic.Field(default=None)
62
50
  """
63
- Traceback report for the last failed sync
51
+ Server Password (optional)
64
52
  """
65
53
 
66
- meta: typing.Optional[typing.Optional[typing.Any]] = None
67
- title: typing.Optional[str] = pydantic.Field(default=None)
54
+ path: typing.Optional[str] = pydantic.Field(default=None)
68
55
  """
69
- Cloud storage title
56
+ Storage prefix (optional)
70
57
  """
71
58
 
72
- description: typing.Optional[str] = pydantic.Field(default=None)
59
+ port: typing.Optional[str] = pydantic.Field(default=None)
73
60
  """
74
- Cloud storage description
61
+ Server Port (optional)
75
62
  """
76
63
 
77
- created_at: dt.datetime = pydantic.Field()
64
+ project: int = pydantic.Field()
78
65
  """
79
- Creation time
66
+ A unique integer value identifying this project.
80
67
  """
81
68
 
82
- db: typing.Optional[int] = pydantic.Field(default=None)
69
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
83
70
  """
84
- Server Database
71
+ Cloud storage regex for filtering objects
85
72
  """
86
73
 
87
- project: int = pydantic.Field()
74
+ status: typing.Optional[StatusC5AEnum] = None
75
+ synchronizable: typing.Optional[bool] = None
76
+ title: typing.Optional[str] = pydantic.Field(default=None)
88
77
  """
89
- A unique integer value identifying this project.
78
+ Cloud storage title
79
+ """
80
+
81
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
82
+ """
83
+ Traceback report for the last failed sync
84
+ """
85
+
86
+ type: str
87
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
88
+ """
89
+ Interpret objects as BLOBs and generate URLs
90
90
  """
91
91
 
92
92
  if IS_PYDANTIC_V2:
@@ -2,25 +2,25 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import pydantic
6
5
  from .third_party_model_version import ThirdPartyModelVersion
6
+ import pydantic
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
10
  class RefinedPromptResponse(UncheckedBaseModel):
11
- title: typing.Optional[str] = pydantic.Field(default=None)
11
+ previous_version: typing.Optional[ThirdPartyModelVersion] = pydantic.Field(default=None)
12
12
  """
13
- Title of the refined prompt
13
+ Previous version of the prompt
14
14
  """
15
15
 
16
- reasoning: typing.Optional[str] = pydantic.Field(default=None)
16
+ prompt: str = pydantic.Field()
17
17
  """
18
- Reasoning behind the refinement
18
+ The refined prompt text
19
19
  """
20
20
 
21
- prompt: str = pydantic.Field()
21
+ reasoning: typing.Optional[str] = pydantic.Field(default=None)
22
22
  """
23
- The refined prompt text
23
+ Reasoning behind the refinement
24
24
  """
25
25
 
26
26
  refinement_job_id: typing.Optional[str] = pydantic.Field(default=None)
@@ -33,14 +33,14 @@ class RefinedPromptResponse(UncheckedBaseModel):
33
33
  Status of the refinement job
34
34
  """
35
35
 
36
- total_cost: typing.Optional[str] = pydantic.Field(default=None)
36
+ title: typing.Optional[str] = pydantic.Field(default=None)
37
37
  """
38
- Total cost of the refinement job (in USD)
38
+ Title of the refined prompt
39
39
  """
40
40
 
41
- previous_version: typing.Optional[ThirdPartyModelVersion] = pydantic.Field(default=None)
41
+ total_cost: typing.Optional[str] = pydantic.Field(default=None)
42
42
  """
43
- Previous version of the prompt
43
+ Total cost of the refinement job (in USD)
44
44
  """
45
45
 
46
46
  if IS_PYDANTIC_V2: