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