mindtrace 0.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. mindtrace/apps/mindtrace/apps/__init__.py +0 -0
  2. mindtrace/automation/mindtrace/automation/__init__.py +0 -0
  3. mindtrace/automation/mindtrace/automation/label_studio/exceptions.py +76 -0
  4. mindtrace/automation/mindtrace/automation/label_studio/label_studio_api.py +880 -0
  5. mindtrace/automation/mindtrace/automation/utils/feature_classifier.py +101 -0
  6. mindtrace/automation/mindtrace/automation/utils/feature_detector.py +403 -0
  7. mindtrace/automation/mindtrace/automation/utils/feature_extractors.py +229 -0
  8. mindtrace/automation/mindtrace/automation/utils/feature_models.py +72 -0
  9. mindtrace/automation/mindtrace/automation/utils/generate_id_config.py +262 -0
  10. mindtrace/cluster/mindtrace/cluster/__init__.py +4 -0
  11. mindtrace/cluster/mindtrace/cluster/core/cluster.py +1088 -0
  12. mindtrace/cluster/mindtrace/cluster/core/types.py +232 -0
  13. mindtrace/cluster/mindtrace/cluster/workers/echo_worker.py +11 -0
  14. mindtrace/cluster/mindtrace/cluster/workers/environments/docker_env.py +127 -0
  15. mindtrace/cluster/mindtrace/cluster/workers/environments/git_env.py +215 -0
  16. mindtrace/cluster/mindtrace/cluster/workers/run_script_worker.py +105 -0
  17. mindtrace/core/mindtrace/core/__init__.py +77 -0
  18. mindtrace/core/mindtrace/core/base/__init__.py +7 -0
  19. mindtrace/core/mindtrace/core/base/mindtrace_base.py +422 -0
  20. mindtrace/core/mindtrace/core/config/__init__.py +3 -0
  21. mindtrace/core/mindtrace/core/config/config.ini +58 -0
  22. mindtrace/core/mindtrace/core/config/config.py +858 -0
  23. mindtrace/core/mindtrace/core/logging/__init__.py +3 -0
  24. mindtrace/core/mindtrace/core/logging/logger.py +676 -0
  25. mindtrace/core/mindtrace/core/observables/context_listener.py +75 -0
  26. mindtrace/core/mindtrace/core/observables/event_bus.py +72 -0
  27. mindtrace/core/mindtrace/core/observables/observable_context.py +141 -0
  28. mindtrace/core/mindtrace/core/samples/echo_task.py +17 -0
  29. mindtrace/core/mindtrace/core/types/__init__.py +0 -0
  30. mindtrace/core/mindtrace/core/types/bounding_box.py +248 -0
  31. mindtrace/core/mindtrace/core/types/rotated_rect.py +236 -0
  32. mindtrace/core/mindtrace/core/types/task_schema.py +11 -0
  33. mindtrace/core/mindtrace/core/utils/__init__.py +22 -0
  34. mindtrace/core/mindtrace/core/utils/checks.py +48 -0
  35. mindtrace/core/mindtrace/core/utils/conversions.py +483 -0
  36. mindtrace/core/mindtrace/core/utils/download.py +128 -0
  37. mindtrace/core/mindtrace/core/utils/dynamic.py +58 -0
  38. mindtrace/core/mindtrace/core/utils/hashing.py +37 -0
  39. mindtrace/core/mindtrace/core/utils/ini.py +44 -0
  40. mindtrace/core/mindtrace/core/utils/lambdas.py +35 -0
  41. mindtrace/core/mindtrace/core/utils/paths.py +22 -0
  42. mindtrace/core/mindtrace/core/utils/system_metrics_collector.py +133 -0
  43. mindtrace/core/mindtrace/core/utils/timers.py +350 -0
  44. mindtrace/database/mindtrace/database/__init__.py +29 -0
  45. mindtrace/database/mindtrace/database/backends/mindtrace_odm.py +212 -0
  46. mindtrace/database/mindtrace/database/backends/mongo_odm.py +831 -0
  47. mindtrace/database/mindtrace/database/backends/redis_odm.py +1253 -0
  48. mindtrace/database/mindtrace/database/backends/registry_odm.py +365 -0
  49. mindtrace/database/mindtrace/database/backends/unified_odm.py +1453 -0
  50. mindtrace/database/mindtrace/database/core/exceptions.py +46 -0
  51. mindtrace/database/mindtrace/database/sample/user.py +10 -0
  52. mindtrace/datalake/mindtrace/datalake/__init__.py +4 -0
  53. mindtrace/datalake/mindtrace/datalake/datalake.py +650 -0
  54. mindtrace/datalake/mindtrace/datalake/types.py +41 -0
  55. mindtrace/hardware/docker/camera/docker-compose.yml +194 -0
  56. mindtrace/hardware/mindtrace/hardware/__init__.py +115 -0
  57. mindtrace/hardware/mindtrace/hardware/api/__init__.py +14 -0
  58. mindtrace/hardware/mindtrace/hardware/api/cameras/__init__.py +12 -0
  59. mindtrace/hardware/mindtrace/hardware/api/cameras/connection_manager.py +409 -0
  60. mindtrace/hardware/mindtrace/hardware/api/cameras/launcher.py +33 -0
  61. mindtrace/hardware/mindtrace/hardware/api/cameras/models/__init__.py +208 -0
  62. mindtrace/hardware/mindtrace/hardware/api/cameras/models/requests.py +547 -0
  63. mindtrace/hardware/mindtrace/hardware/api/cameras/models/responses.py +470 -0
  64. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/__init__.py +152 -0
  65. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/backend_schemas.py +24 -0
  66. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/capture_schemas.py +35 -0
  67. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/config_schemas.py +43 -0
  68. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/homography_schemas.py +62 -0
  69. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/info_schemas.py +34 -0
  70. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/lifecycle_schemas.py +38 -0
  71. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/network_schemas.py +32 -0
  72. mindtrace/hardware/mindtrace/hardware/api/cameras/schemas/stream_schemas.py +33 -0
  73. mindtrace/hardware/mindtrace/hardware/api/cameras/service.py +1980 -0
  74. mindtrace/hardware/mindtrace/hardware/api/plcs/__init__.py +9 -0
  75. mindtrace/hardware/mindtrace/hardware/api/plcs/connection_manager.py +304 -0
  76. mindtrace/hardware/mindtrace/hardware/api/plcs/launcher.py +32 -0
  77. mindtrace/hardware/mindtrace/hardware/api/plcs/models/__init__.py +85 -0
  78. mindtrace/hardware/mindtrace/hardware/api/plcs/models/requests.py +149 -0
  79. mindtrace/hardware/mindtrace/hardware/api/plcs/models/responses.py +215 -0
  80. mindtrace/hardware/mindtrace/hardware/api/plcs/schemas/__init__.py +82 -0
  81. mindtrace/hardware/mindtrace/hardware/api/plcs/schemas/backend_schemas.py +22 -0
  82. mindtrace/hardware/mindtrace/hardware/api/plcs/schemas/lifecycle_schemas.py +38 -0
  83. mindtrace/hardware/mindtrace/hardware/api/plcs/schemas/status_schemas.py +24 -0
  84. mindtrace/hardware/mindtrace/hardware/api/plcs/schemas/tag_schemas.py +43 -0
  85. mindtrace/hardware/mindtrace/hardware/api/plcs/service.py +578 -0
  86. mindtrace/hardware/mindtrace/hardware/api/sensors/__init__.py +12 -0
  87. mindtrace/hardware/mindtrace/hardware/api/sensors/connection_manager.py +164 -0
  88. mindtrace/hardware/mindtrace/hardware/api/sensors/models/__init__.py +31 -0
  89. mindtrace/hardware/mindtrace/hardware/api/sensors/models/requests.py +52 -0
  90. mindtrace/hardware/mindtrace/hardware/api/sensors/models/responses.py +125 -0
  91. mindtrace/hardware/mindtrace/hardware/api/sensors/schemas/__init__.py +9 -0
  92. mindtrace/hardware/mindtrace/hardware/api/sensors/schemas/data.py +19 -0
  93. mindtrace/hardware/mindtrace/hardware/api/sensors/schemas/lifecycle.py +44 -0
  94. mindtrace/hardware/mindtrace/hardware/api/sensors/service.py +258 -0
  95. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/__init__.py +12 -0
  96. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/connection_manager.py +202 -0
  97. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/launcher.py +34 -0
  98. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/models/__init__.py +89 -0
  99. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/models/requests.py +130 -0
  100. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/models/responses.py +264 -0
  101. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/schemas/__init__.py +82 -0
  102. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/schemas/capture_schemas.py +38 -0
  103. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/schemas/config_schemas.py +34 -0
  104. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/schemas/info_schemas.py +48 -0
  105. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/schemas/lifecycle_schemas.py +46 -0
  106. mindtrace/hardware/mindtrace/hardware/api/stereo_cameras/service.py +802 -0
  107. mindtrace/hardware/mindtrace/hardware/cameras/__init__.py +91 -0
  108. mindtrace/hardware/mindtrace/hardware/cameras/backends/__init__.py +25 -0
  109. mindtrace/hardware/mindtrace/hardware/cameras/backends/basler/__init__.py +52 -0
  110. mindtrace/hardware/mindtrace/hardware/cameras/backends/basler/basler_camera_backend.py +2280 -0
  111. mindtrace/hardware/mindtrace/hardware/cameras/backends/basler/mock_basler_camera_backend.py +974 -0
  112. mindtrace/hardware/mindtrace/hardware/cameras/backends/camera_backend.py +329 -0
  113. mindtrace/hardware/mindtrace/hardware/cameras/backends/genicam/__init__.py +11 -0
  114. mindtrace/hardware/mindtrace/hardware/cameras/backends/genicam/genicam_camera_backend.py +2028 -0
  115. mindtrace/hardware/mindtrace/hardware/cameras/backends/genicam/mock_genicam_camera_backend.py +695 -0
  116. mindtrace/hardware/mindtrace/hardware/cameras/backends/opencv/__init__.py +37 -0
  117. mindtrace/hardware/mindtrace/hardware/cameras/backends/opencv/opencv_camera_backend.py +1394 -0
  118. mindtrace/hardware/mindtrace/hardware/cameras/core/async_camera.py +929 -0
  119. mindtrace/hardware/mindtrace/hardware/cameras/core/async_camera_manager.py +895 -0
  120. mindtrace/hardware/mindtrace/hardware/cameras/core/camera.py +460 -0
  121. mindtrace/hardware/mindtrace/hardware/cameras/core/camera_manager.py +221 -0
  122. mindtrace/hardware/mindtrace/hardware/cameras/homography/__init__.py +52 -0
  123. mindtrace/hardware/mindtrace/hardware/cameras/homography/calibrator.py +654 -0
  124. mindtrace/hardware/mindtrace/hardware/cameras/homography/data.py +139 -0
  125. mindtrace/hardware/mindtrace/hardware/cameras/homography/measurer.py +356 -0
  126. mindtrace/hardware/mindtrace/hardware/cameras/setup/__init__.py +30 -0
  127. mindtrace/hardware/mindtrace/hardware/cameras/setup/setup_basler.py +561 -0
  128. mindtrace/hardware/mindtrace/hardware/cameras/setup/setup_cameras.py +439 -0
  129. mindtrace/hardware/mindtrace/hardware/cameras/setup/setup_genicam.py +644 -0
  130. mindtrace/hardware/mindtrace/hardware/cli/__init__.py +3 -0
  131. mindtrace/hardware/mindtrace/hardware/cli/__main__.py +165 -0
  132. mindtrace/hardware/mindtrace/hardware/cli/commands/__init__.py +8 -0
  133. mindtrace/hardware/mindtrace/hardware/cli/commands/camera.py +124 -0
  134. mindtrace/hardware/mindtrace/hardware/cli/commands/plc.py +110 -0
  135. mindtrace/hardware/mindtrace/hardware/cli/commands/status.py +68 -0
  136. mindtrace/hardware/mindtrace/hardware/cli/commands/stereo.py +122 -0
  137. mindtrace/hardware/mindtrace/hardware/cli/core/__init__.py +6 -0
  138. mindtrace/hardware/mindtrace/hardware/cli/core/logger.py +115 -0
  139. mindtrace/hardware/mindtrace/hardware/cli/core/process_manager.py +342 -0
  140. mindtrace/hardware/mindtrace/hardware/cli/utils/__init__.py +6 -0
  141. mindtrace/hardware/mindtrace/hardware/cli/utils/display.py +137 -0
  142. mindtrace/hardware/mindtrace/hardware/cli/utils/network.py +106 -0
  143. mindtrace/hardware/mindtrace/hardware/core/config.py +1101 -0
  144. mindtrace/hardware/mindtrace/hardware/core/exceptions.py +184 -0
  145. mindtrace/hardware/mindtrace/hardware/core/utils.py +72 -0
  146. mindtrace/hardware/mindtrace/hardware/plcs/__init__.py +11 -0
  147. mindtrace/hardware/mindtrace/hardware/plcs/backends/__init__.py +34 -0
  148. mindtrace/hardware/mindtrace/hardware/plcs/backends/allen_bradley/__init__.py +10 -0
  149. mindtrace/hardware/mindtrace/hardware/plcs/backends/allen_bradley/allen_bradley_plc.py +1151 -0
  150. mindtrace/hardware/mindtrace/hardware/plcs/backends/allen_bradley/mock_allen_bradley.py +750 -0
  151. mindtrace/hardware/mindtrace/hardware/plcs/backends/base.py +365 -0
  152. mindtrace/hardware/mindtrace/hardware/plcs/plc_manager.py +673 -0
  153. mindtrace/hardware/mindtrace/hardware/sensors/__init__.py +39 -0
  154. mindtrace/hardware/mindtrace/hardware/sensors/backends/__init__.py +1 -0
  155. mindtrace/hardware/mindtrace/hardware/sensors/backends/base.py +73 -0
  156. mindtrace/hardware/mindtrace/hardware/sensors/backends/http.py +80 -0
  157. mindtrace/hardware/mindtrace/hardware/sensors/backends/mqtt.py +246 -0
  158. mindtrace/hardware/mindtrace/hardware/sensors/backends/serial.py +81 -0
  159. mindtrace/hardware/mindtrace/hardware/sensors/core/__init__.py +1 -0
  160. mindtrace/hardware/mindtrace/hardware/sensors/core/factory.py +163 -0
  161. mindtrace/hardware/mindtrace/hardware/sensors/core/manager.py +231 -0
  162. mindtrace/hardware/mindtrace/hardware/sensors/core/sensor.py +148 -0
  163. mindtrace/hardware/mindtrace/hardware/sensors/core/simulator.py +145 -0
  164. mindtrace/hardware/mindtrace/hardware/sensors/simulators/__init__.py +18 -0
  165. mindtrace/hardware/mindtrace/hardware/sensors/simulators/base.py +71 -0
  166. mindtrace/hardware/mindtrace/hardware/sensors/simulators/http.py +78 -0
  167. mindtrace/hardware/mindtrace/hardware/sensors/simulators/mqtt.py +188 -0
  168. mindtrace/hardware/mindtrace/hardware/sensors/simulators/serial.py +79 -0
  169. mindtrace/hardware/mindtrace/hardware/stereo_cameras/__init__.py +48 -0
  170. mindtrace/hardware/mindtrace/hardware/stereo_cameras/backends/__init__.py +9 -0
  171. mindtrace/hardware/mindtrace/hardware/stereo_cameras/backends/basler/__init__.py +9 -0
  172. mindtrace/hardware/mindtrace/hardware/stereo_cameras/backends/basler/basler_stereo_ace.py +763 -0
  173. mindtrace/hardware/mindtrace/hardware/stereo_cameras/core/__init__.py +17 -0
  174. mindtrace/hardware/mindtrace/hardware/stereo_cameras/core/async_stereo_camera.py +569 -0
  175. mindtrace/hardware/mindtrace/hardware/stereo_cameras/core/models.py +307 -0
  176. mindtrace/hardware/mindtrace/hardware/stereo_cameras/core/stereo_camera.py +541 -0
  177. mindtrace/hardware/mindtrace/hardware/stereo_cameras/setup/__init__.py +14 -0
  178. mindtrace/hardware/mindtrace/hardware/stereo_cameras/setup/setup_stereo_ace.py +723 -0
  179. mindtrace/jobs/mindtrace/jobs/__init__.py +34 -0
  180. mindtrace/jobs/mindtrace/jobs/base/__init__.py +0 -0
  181. mindtrace/jobs/mindtrace/jobs/base/connection_base.py +31 -0
  182. mindtrace/jobs/mindtrace/jobs/base/consumer_base.py +37 -0
  183. mindtrace/jobs/mindtrace/jobs/base/orchestrator_backend.py +101 -0
  184. mindtrace/jobs/mindtrace/jobs/consumers/consumer.py +78 -0
  185. mindtrace/jobs/mindtrace/jobs/core/orchestrator.py +109 -0
  186. mindtrace/jobs/mindtrace/jobs/local/__init__.py +0 -0
  187. mindtrace/jobs/mindtrace/jobs/local/client.py +191 -0
  188. mindtrace/jobs/mindtrace/jobs/local/consumer_backend.py +81 -0
  189. mindtrace/jobs/mindtrace/jobs/local/fifo_queue.py +83 -0
  190. mindtrace/jobs/mindtrace/jobs/local/priority_queue.py +89 -0
  191. mindtrace/jobs/mindtrace/jobs/local/stack.py +78 -0
  192. mindtrace/jobs/mindtrace/jobs/rabbitmq/__init__.py +0 -0
  193. mindtrace/jobs/mindtrace/jobs/rabbitmq/client.py +326 -0
  194. mindtrace/jobs/mindtrace/jobs/rabbitmq/connection.py +85 -0
  195. mindtrace/jobs/mindtrace/jobs/rabbitmq/consumer_backend.py +169 -0
  196. mindtrace/jobs/mindtrace/jobs/redis/__init__.py +0 -0
  197. mindtrace/jobs/mindtrace/jobs/redis/client.py +183 -0
  198. mindtrace/jobs/mindtrace/jobs/redis/connection.py +244 -0
  199. mindtrace/jobs/mindtrace/jobs/redis/consumer_backend.py +123 -0
  200. mindtrace/jobs/mindtrace/jobs/redis/fifo_queue.py +54 -0
  201. mindtrace/jobs/mindtrace/jobs/redis/priority.py +62 -0
  202. mindtrace/jobs/mindtrace/jobs/redis/stack.py +48 -0
  203. mindtrace/jobs/mindtrace/jobs/types/__init__.py +1 -0
  204. mindtrace/jobs/mindtrace/jobs/types/job_specs.py +48 -0
  205. mindtrace/jobs/mindtrace/jobs/utils/__init__.py +0 -0
  206. mindtrace/jobs/mindtrace/jobs/utils/schemas.py +31 -0
  207. mindtrace/models/mindtrace/models/__init__.py +0 -0
  208. mindtrace/registry/mindtrace/registry/__init__.py +34 -0
  209. mindtrace/registry/mindtrace/registry/archivers/__init__.py +0 -0
  210. mindtrace/registry/mindtrace/registry/archivers/config_archiver.py +26 -0
  211. mindtrace/registry/mindtrace/registry/archivers/default_archivers.py +90 -0
  212. mindtrace/registry/mindtrace/registry/archivers/path_archiver.py +124 -0
  213. mindtrace/registry/mindtrace/registry/archivers/ultralytics/sam_archiver.py +46 -0
  214. mindtrace/registry/mindtrace/registry/archivers/ultralytics/yolo_archiver.py +25 -0
  215. mindtrace/registry/mindtrace/registry/archivers/ultralytics/yoloe_archiver.py +24 -0
  216. mindtrace/registry/mindtrace/registry/backends/__init__.py +0 -0
  217. mindtrace/registry/mindtrace/registry/backends/gcp_registry_backend.py +1033 -0
  218. mindtrace/registry/mindtrace/registry/backends/local_registry_backend.py +686 -0
  219. mindtrace/registry/mindtrace/registry/backends/minio_registry_backend.py +746 -0
  220. mindtrace/registry/mindtrace/registry/backends/registry_backend.py +270 -0
  221. mindtrace/registry/mindtrace/registry/core/__init__.py +0 -0
  222. mindtrace/registry/mindtrace/registry/core/archiver.py +33 -0
  223. mindtrace/registry/mindtrace/registry/core/exceptions.py +13 -0
  224. mindtrace/registry/mindtrace/registry/core/registry.py +1635 -0
  225. mindtrace/services/mindtrace/services/__init__.py +36 -0
  226. mindtrace/services/mindtrace/services/core/__init__.py +0 -0
  227. mindtrace/services/mindtrace/services/core/connection_manager.py +169 -0
  228. mindtrace/services/mindtrace/services/core/launcher.py +114 -0
  229. mindtrace/services/mindtrace/services/core/mcp_client_manager.py +85 -0
  230. mindtrace/services/mindtrace/services/core/middleware.py +149 -0
  231. mindtrace/services/mindtrace/services/core/service.py +605 -0
  232. mindtrace/services/mindtrace/services/core/types.py +92 -0
  233. mindtrace/services/mindtrace/services/core/utils.py +225 -0
  234. mindtrace/services/mindtrace/services/discord/__init__.py +31 -0
  235. mindtrace/services/mindtrace/services/discord/discord_client.py +312 -0
  236. mindtrace/services/mindtrace/services/discord/discord_service.py +518 -0
  237. mindtrace/services/mindtrace/services/discord/types.py +100 -0
  238. mindtrace/services/mindtrace/services/gateway/__init__.py +0 -0
  239. mindtrace/services/mindtrace/services/gateway/gateway.py +140 -0
  240. mindtrace/services/mindtrace/services/gateway/proxy_connection_manager.py +233 -0
  241. mindtrace/services/mindtrace/services/gateway/types.py +12 -0
  242. mindtrace/services/mindtrace/services/sample/echo_logging_service.py +39 -0
  243. mindtrace/services/mindtrace/services/samples/discord/custom_bot_client.py +204 -0
  244. mindtrace/services/mindtrace/services/samples/discord/custom_bot_service.py +246 -0
  245. mindtrace/services/mindtrace/services/samples/echo_mcp.py +40 -0
  246. mindtrace/services/mindtrace/services/samples/echo_service.py +15 -0
  247. mindtrace/storage/mindtrace/storage/__init__.py +3 -0
  248. mindtrace/storage/mindtrace/storage/base.py +286 -0
  249. mindtrace/storage/mindtrace/storage/gcs.py +233 -0
  250. mindtrace/ui/mindtrace/ui/__init__.py +0 -0
  251. mindtrace-0.7.1.dist-info/METADATA +203 -0
  252. mindtrace-0.7.1.dist-info/RECORD +255 -0
  253. mindtrace-0.7.1.dist-info/WHEEL +5 -0
  254. mindtrace-0.7.1.dist-info/licenses/LICENSE +202 -0
  255. mindtrace-0.7.1.dist-info/top_level.txt +1 -0
File without changes
File without changes
@@ -0,0 +1,76 @@
1
+ """
2
+ Label Studio Automation Exception Hierarchy
3
+
4
+ Defines exceptions for Label Studio automation utilities to allow
5
+ callers to distinguish common failure scenarios programmatically.
6
+
7
+ Exception Hierarchy:
8
+ LabelStudioError (base)
9
+ ├── ProjectNotFoundError
10
+ ├── ProjectFetchError
11
+ ├── StorageError (base for storage operations)
12
+ │ ├── StorageAlreadyExistsError
13
+ │ ├── StorageCreationError
14
+ │ ├── CredentialsNotFoundError
15
+ │ └── CredentialsReadError
16
+ """
17
+
18
+
19
+ class LabelStudioError(Exception):
20
+ """Base exception for Label Studio automation errors."""
21
+
22
+ pass
23
+
24
+
25
+ class ProjectNotFoundError(LabelStudioError):
26
+ """Raised when a Label Studio project is not found by id or name."""
27
+
28
+ pass
29
+
30
+
31
+ class ProjectAlreadyExistsError(LabelStudioError):
32
+ """Raised when a Label Studio project already exists by id or name."""
33
+
34
+ pass
35
+
36
+
37
+ class ProjectFetchError(LabelStudioError):
38
+ """Raised when fetching a Label Studio project fails for non-404 reasons."""
39
+
40
+ pass
41
+
42
+
43
+ class StorageError(LabelStudioError):
44
+ """Base exception for storage-related operations."""
45
+
46
+ pass
47
+
48
+
49
+ class StorageAlreadyExistsError(StorageError):
50
+ """Raised when trying to create a storage that already exists."""
51
+
52
+ pass
53
+
54
+
55
+ class StorageCreationError(StorageError):
56
+ """Raised when creating a storage fails."""
57
+
58
+ pass
59
+
60
+
61
+ class StorageNotFoundError(StorageError):
62
+ """Raised when a storage is not found."""
63
+
64
+ pass
65
+
66
+
67
+ class CredentialsNotFoundError(StorageError):
68
+ """Raised when credentials path is missing or invalid."""
69
+
70
+ pass
71
+
72
+
73
+ class CredentialsReadError(StorageError):
74
+ """Raised when credentials file can't be read or parsed."""
75
+
76
+ pass