synapse-sdk 1.0.0a13__py3-none-any.whl → 2025.11.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synapse-sdk might be problematic. Click here for more details.

Files changed (339) hide show
  1. synapse_sdk/__init__.py +24 -0
  2. synapse_sdk/cli/__init__.py +310 -5
  3. synapse_sdk/cli/alias/__init__.py +22 -0
  4. synapse_sdk/cli/alias/create.py +36 -0
  5. synapse_sdk/cli/alias/dataclass.py +31 -0
  6. synapse_sdk/cli/alias/default.py +16 -0
  7. synapse_sdk/cli/alias/delete.py +15 -0
  8. synapse_sdk/cli/alias/list.py +19 -0
  9. synapse_sdk/cli/alias/read.py +15 -0
  10. synapse_sdk/cli/alias/update.py +17 -0
  11. synapse_sdk/cli/alias/utils.py +61 -0
  12. synapse_sdk/cli/code_server.py +687 -0
  13. synapse_sdk/cli/config.py +440 -0
  14. synapse_sdk/cli/devtools.py +90 -0
  15. synapse_sdk/cli/plugin/__init__.py +33 -0
  16. synapse_sdk/cli/{create_plugin.py → plugin/create.py} +2 -2
  17. synapse_sdk/cli/plugin/publish.py +45 -0
  18. synapse_sdk/{plugins/cli → cli/plugin}/run.py +12 -5
  19. synapse_sdk/clients/agent/__init__.py +9 -3
  20. synapse_sdk/clients/agent/container.py +133 -0
  21. synapse_sdk/clients/agent/core.py +19 -0
  22. synapse_sdk/clients/agent/ray.py +298 -9
  23. synapse_sdk/clients/backend/__init__.py +41 -12
  24. synapse_sdk/clients/backend/annotation.py +13 -5
  25. synapse_sdk/clients/backend/core.py +59 -0
  26. synapse_sdk/clients/backend/data_collection.py +186 -0
  27. synapse_sdk/clients/backend/hitl.py +17 -0
  28. synapse_sdk/clients/backend/integration.py +19 -4
  29. synapse_sdk/clients/backend/ml.py +10 -7
  30. synapse_sdk/clients/backend/models.py +78 -0
  31. synapse_sdk/clients/base.py +381 -34
  32. synapse_sdk/clients/ray/serve.py +2 -0
  33. synapse_sdk/clients/validators/collections.py +31 -0
  34. synapse_sdk/devtools/config.py +94 -0
  35. synapse_sdk/devtools/docs/.gitignore +20 -0
  36. synapse_sdk/devtools/docs/README.md +41 -0
  37. synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +12 -0
  38. synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +44 -0
  39. synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  40. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  41. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +29 -0
  42. synapse_sdk/devtools/docs/blog/authors.yml +25 -0
  43. synapse_sdk/devtools/docs/blog/tags.yml +19 -0
  44. synapse_sdk/devtools/docs/docs/api/clients/agent.md +43 -0
  45. synapse_sdk/devtools/docs/docs/api/clients/annotation-mixin.md +378 -0
  46. synapse_sdk/devtools/docs/docs/api/clients/backend.md +420 -0
  47. synapse_sdk/devtools/docs/docs/api/clients/base.md +257 -0
  48. synapse_sdk/devtools/docs/docs/api/clients/core-mixin.md +477 -0
  49. synapse_sdk/devtools/docs/docs/api/clients/data-collection-mixin.md +422 -0
  50. synapse_sdk/devtools/docs/docs/api/clients/hitl-mixin.md +554 -0
  51. synapse_sdk/devtools/docs/docs/api/clients/index.md +391 -0
  52. synapse_sdk/devtools/docs/docs/api/clients/integration-mixin.md +571 -0
  53. synapse_sdk/devtools/docs/docs/api/clients/ml-mixin.md +578 -0
  54. synapse_sdk/devtools/docs/docs/api/clients/ray.md +342 -0
  55. synapse_sdk/devtools/docs/docs/api/index.md +52 -0
  56. synapse_sdk/devtools/docs/docs/api/plugins/categories.md +43 -0
  57. synapse_sdk/devtools/docs/docs/api/plugins/models.md +114 -0
  58. synapse_sdk/devtools/docs/docs/api/plugins/utils.md +328 -0
  59. synapse_sdk/devtools/docs/docs/categories.md +0 -0
  60. synapse_sdk/devtools/docs/docs/cli-usage.md +280 -0
  61. synapse_sdk/devtools/docs/docs/concepts/index.md +38 -0
  62. synapse_sdk/devtools/docs/docs/configuration.md +83 -0
  63. synapse_sdk/devtools/docs/docs/contributing.md +306 -0
  64. synapse_sdk/devtools/docs/docs/examples/index.md +29 -0
  65. synapse_sdk/devtools/docs/docs/faq.md +179 -0
  66. synapse_sdk/devtools/docs/docs/features/converters/index.md +455 -0
  67. synapse_sdk/devtools/docs/docs/features/index.md +24 -0
  68. synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
  69. synapse_sdk/devtools/docs/docs/features/utils/network.md +378 -0
  70. synapse_sdk/devtools/docs/docs/features/utils/storage.md +57 -0
  71. synapse_sdk/devtools/docs/docs/features/utils/types.md +51 -0
  72. synapse_sdk/devtools/docs/docs/installation.md +94 -0
  73. synapse_sdk/devtools/docs/docs/introduction.md +47 -0
  74. synapse_sdk/devtools/docs/docs/plugins/categories/neural-net-plugins/train-action-overview.md +814 -0
  75. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  76. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  77. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  78. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  79. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  80. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  81. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  82. synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +1092 -0
  83. synapse_sdk/devtools/docs/docs/plugins/plugins.md +852 -0
  84. synapse_sdk/devtools/docs/docs/quickstart.md +78 -0
  85. synapse_sdk/devtools/docs/docs/troubleshooting.md +519 -0
  86. synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +8 -0
  87. synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +23 -0
  88. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
  89. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +57 -0
  90. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +43 -0
  91. synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
  92. synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
  93. synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +7 -0
  94. synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  95. synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
  96. synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
  97. synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +88 -0
  98. synapse_sdk/devtools/docs/docusaurus.config.ts +148 -0
  99. synapse_sdk/devtools/docs/i18n/ko/code.json +325 -0
  100. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +43 -0
  101. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/annotation-mixin.md +289 -0
  102. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +420 -0
  103. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +257 -0
  104. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/core-mixin.md +417 -0
  105. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/data-collection-mixin.md +356 -0
  106. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/hitl-mixin.md +192 -0
  107. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/index.md +391 -0
  108. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/integration-mixin.md +479 -0
  109. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ml-mixin.md +284 -0
  110. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +342 -0
  111. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +52 -0
  112. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/plugins/models.md +114 -0
  113. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
  114. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +280 -0
  115. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +38 -0
  116. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +83 -0
  117. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +306 -0
  118. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +29 -0
  119. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +179 -0
  120. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +30 -0
  121. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
  122. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
  123. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md +378 -0
  124. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md +60 -0
  125. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md +51 -0
  126. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +94 -0
  127. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +47 -0
  128. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/neural-net-plugins/train-action-overview.md +815 -0
  129. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  130. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  131. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  132. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  133. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  134. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  135. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  136. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +1092 -0
  137. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +117 -0
  138. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +78 -0
  139. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +519 -0
  140. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +34 -0
  141. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +42 -0
  142. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +18 -0
  143. synapse_sdk/devtools/docs/package-lock.json +18784 -0
  144. synapse_sdk/devtools/docs/package.json +48 -0
  145. synapse_sdk/devtools/docs/sidebars.ts +122 -0
  146. synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +71 -0
  147. synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  148. synapse_sdk/devtools/docs/src/css/custom.css +30 -0
  149. synapse_sdk/devtools/docs/src/pages/index.module.css +23 -0
  150. synapse_sdk/devtools/docs/src/pages/index.tsx +21 -0
  151. synapse_sdk/devtools/docs/src/pages/markdown-page.md +7 -0
  152. synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  153. synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  154. synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  155. synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  156. synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  157. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  158. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +170 -0
  159. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  160. synapse_sdk/devtools/docs/tsconfig.json +8 -0
  161. synapse_sdk/devtools/server.py +41 -0
  162. synapse_sdk/devtools/streamlit_app/__init__.py +5 -0
  163. synapse_sdk/devtools/streamlit_app/app.py +128 -0
  164. synapse_sdk/devtools/streamlit_app/services/__init__.py +11 -0
  165. synapse_sdk/devtools/streamlit_app/services/job_service.py +233 -0
  166. synapse_sdk/devtools/streamlit_app/services/plugin_service.py +236 -0
  167. synapse_sdk/devtools/streamlit_app/services/serve_service.py +95 -0
  168. synapse_sdk/devtools/streamlit_app/ui/__init__.py +15 -0
  169. synapse_sdk/devtools/streamlit_app/ui/config_tab.py +76 -0
  170. synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +66 -0
  171. synapse_sdk/devtools/streamlit_app/ui/http_tab.py +125 -0
  172. synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +573 -0
  173. synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +346 -0
  174. synapse_sdk/devtools/streamlit_app/ui/status_bar.py +118 -0
  175. synapse_sdk/devtools/streamlit_app/utils/__init__.py +40 -0
  176. synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +197 -0
  177. synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +38 -0
  178. synapse_sdk/devtools/streamlit_app/utils/styles.py +241 -0
  179. synapse_sdk/devtools/streamlit_app/utils/ui_components.py +289 -0
  180. synapse_sdk/devtools/streamlit_app.py +10 -0
  181. synapse_sdk/loggers.py +74 -9
  182. synapse_sdk/plugins/README.md +1340 -0
  183. synapse_sdk/plugins/__init__.py +0 -13
  184. synapse_sdk/plugins/categories/base.py +145 -30
  185. synapse_sdk/plugins/categories/data_validation/actions/validation.py +72 -0
  186. synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +33 -5
  187. synapse_sdk/plugins/categories/export/actions/__init__.py +3 -0
  188. synapse_sdk/plugins/categories/export/actions/export/__init__.py +28 -0
  189. synapse_sdk/plugins/categories/export/actions/export/action.py +165 -0
  190. synapse_sdk/plugins/categories/export/actions/export/enums.py +113 -0
  191. synapse_sdk/plugins/categories/export/actions/export/exceptions.py +53 -0
  192. synapse_sdk/plugins/categories/export/actions/export/models.py +74 -0
  193. synapse_sdk/plugins/categories/export/actions/export/run.py +195 -0
  194. synapse_sdk/plugins/categories/export/actions/export/utils.py +187 -0
  195. synapse_sdk/plugins/categories/export/templates/config.yaml +21 -0
  196. synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +390 -0
  197. synapse_sdk/plugins/categories/export/templates/plugin/export.py +160 -0
  198. synapse_sdk/plugins/categories/neural_net/actions/deployment.py +29 -14
  199. synapse_sdk/plugins/categories/neural_net/actions/inference.py +13 -1
  200. synapse_sdk/plugins/categories/neural_net/actions/train.py +1084 -38
  201. synapse_sdk/plugins/categories/neural_net/actions/tune.py +534 -0
  202. synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  203. synapse_sdk/plugins/categories/neural_net/base/inference.py +37 -0
  204. synapse_sdk/plugins/categories/neural_net/templates/config.yaml +30 -5
  205. synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +26 -10
  206. synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +4 -0
  207. synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/__init__.py +3 -0
  208. synapse_sdk/plugins/categories/{export/actions/export.py → pre_annotation/actions/pre_annotation/action.py} +4 -4
  209. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/__init__.py +28 -0
  210. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/action.py +145 -0
  211. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/enums.py +269 -0
  212. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/exceptions.py +14 -0
  213. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/factory.py +76 -0
  214. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/models.py +97 -0
  215. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/orchestrator.py +250 -0
  216. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/run.py +64 -0
  217. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/__init__.py +17 -0
  218. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/annotation.py +287 -0
  219. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/base.py +170 -0
  220. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/extraction.py +83 -0
  221. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/metrics.py +87 -0
  222. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/preprocessor.py +127 -0
  223. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/validation.py +143 -0
  224. synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +966 -0
  225. synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +19 -0
  226. synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +40 -0
  227. synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +5 -2
  228. synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  229. synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  230. synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +19 -0
  231. synapse_sdk/plugins/categories/upload/actions/upload/action.py +232 -0
  232. synapse_sdk/plugins/categories/upload/actions/upload/context.py +185 -0
  233. synapse_sdk/plugins/categories/upload/actions/upload/enums.py +471 -0
  234. synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
  235. synapse_sdk/plugins/categories/upload/actions/upload/factory.py +138 -0
  236. synapse_sdk/plugins/categories/upload/actions/upload/models.py +203 -0
  237. synapse_sdk/plugins/categories/upload/actions/upload/orchestrator.py +183 -0
  238. synapse_sdk/plugins/categories/upload/actions/upload/registry.py +113 -0
  239. synapse_sdk/plugins/categories/upload/actions/upload/run.py +179 -0
  240. synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py +1 -0
  241. synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py +107 -0
  242. synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py +62 -0
  243. synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py +63 -0
  244. synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +84 -0
  245. synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +82 -0
  246. synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +235 -0
  247. synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +203 -0
  248. synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +97 -0
  249. synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py +71 -0
  250. synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py +1 -0
  251. synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py +82 -0
  252. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init__.py +1 -0
  253. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py +39 -0
  254. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py +29 -0
  255. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py +1 -0
  256. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +258 -0
  257. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +281 -0
  258. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py +1 -0
  259. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py +174 -0
  260. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py +16 -0
  261. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.py +1 -0
  262. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py +84 -0
  263. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py +1 -0
  264. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +60 -0
  265. synapse_sdk/plugins/categories/upload/actions/upload/utils.py +250 -0
  266. synapse_sdk/plugins/categories/upload/templates/README.md +470 -0
  267. synapse_sdk/plugins/categories/upload/templates/config.yaml +33 -0
  268. synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +294 -0
  269. synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +102 -0
  270. synapse_sdk/plugins/enums.py +3 -1
  271. synapse_sdk/plugins/models.py +140 -16
  272. synapse_sdk/plugins/templates/plugin-config-schema.json +406 -0
  273. synapse_sdk/plugins/templates/schema.json +491 -0
  274. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +1 -0
  275. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +1 -1
  276. synapse_sdk/plugins/utils/__init__.py +46 -0
  277. synapse_sdk/plugins/utils/actions.py +119 -0
  278. synapse_sdk/plugins/utils/config.py +203 -0
  279. synapse_sdk/plugins/utils/legacy.py +95 -0
  280. synapse_sdk/plugins/utils/ray_gcs.py +66 -0
  281. synapse_sdk/plugins/utils/registry.py +58 -0
  282. synapse_sdk/shared/__init__.py +25 -0
  283. synapse_sdk/shared/enums.py +93 -0
  284. synapse_sdk/types.py +19 -0
  285. synapse_sdk/utils/converters/__init__.py +240 -0
  286. synapse_sdk/utils/converters/coco/__init__.py +0 -0
  287. synapse_sdk/utils/converters/coco/from_dm.py +322 -0
  288. synapse_sdk/utils/converters/coco/to_dm.py +215 -0
  289. synapse_sdk/utils/converters/dm/__init__.py +56 -0
  290. synapse_sdk/utils/converters/dm/from_v1.py +627 -0
  291. synapse_sdk/utils/converters/dm/to_v1.py +367 -0
  292. synapse_sdk/utils/converters/pascal/__init__.py +0 -0
  293. synapse_sdk/utils/converters/pascal/from_dm.py +244 -0
  294. synapse_sdk/utils/converters/pascal/to_dm.py +214 -0
  295. synapse_sdk/utils/converters/yolo/__init__.py +0 -0
  296. synapse_sdk/utils/converters/yolo/from_dm.py +384 -0
  297. synapse_sdk/utils/converters/yolo/to_dm.py +267 -0
  298. synapse_sdk/utils/dataset.py +46 -0
  299. synapse_sdk/utils/encryption.py +158 -0
  300. synapse_sdk/utils/file/__init__.py +39 -0
  301. synapse_sdk/utils/file/archive.py +32 -0
  302. synapse_sdk/utils/file/checksum.py +56 -0
  303. synapse_sdk/utils/file/chunking.py +31 -0
  304. synapse_sdk/utils/file/download.py +385 -0
  305. synapse_sdk/utils/file/encoding.py +40 -0
  306. synapse_sdk/utils/file/io.py +22 -0
  307. synapse_sdk/utils/file/video/__init__.py +29 -0
  308. synapse_sdk/utils/file/video/transcode.py +307 -0
  309. synapse_sdk/utils/file.py.backup +301 -0
  310. synapse_sdk/utils/http.py +138 -0
  311. synapse_sdk/utils/network.py +309 -0
  312. synapse_sdk/utils/storage/__init__.py +72 -0
  313. synapse_sdk/utils/storage/providers/__init__.py +183 -0
  314. synapse_sdk/utils/storage/providers/file_system.py +134 -0
  315. synapse_sdk/utils/storage/providers/gcp.py +13 -0
  316. synapse_sdk/utils/storage/providers/http.py +190 -0
  317. synapse_sdk/utils/storage/providers/s3.py +91 -0
  318. synapse_sdk/utils/storage/providers/sftp.py +47 -0
  319. synapse_sdk/utils/storage/registry.py +17 -0
  320. synapse_sdk-2025.11.7.dist-info/METADATA +122 -0
  321. synapse_sdk-2025.11.7.dist-info/RECORD +386 -0
  322. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/WHEEL +1 -1
  323. synapse_sdk/clients/backend/dataset.py +0 -51
  324. synapse_sdk/plugins/categories/import/actions/import.py +0 -10
  325. synapse_sdk/plugins/cli/__init__.py +0 -21
  326. synapse_sdk/plugins/cli/publish.py +0 -37
  327. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -24
  328. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -24
  329. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -4
  330. synapse_sdk/plugins/utils.py +0 -50
  331. synapse_sdk/utils/file.py +0 -87
  332. synapse_sdk/utils/storage.py +0 -91
  333. synapse_sdk-1.0.0a13.dist-info/METADATA +0 -43
  334. synapse_sdk-1.0.0a13.dist-info/RECORD +0 -111
  335. /synapse_sdk/{plugins/categories/import → clients/validators}/__init__.py +0 -0
  336. /synapse_sdk/{plugins/categories/import/actions → devtools}/__init__.py +0 -0
  337. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/entry_points.txt +0 -0
  338. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info/licenses}/LICENSE +0 -0
  339. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,378 @@
1
+ ---
2
+ id: network
3
+ title: Network Utilities
4
+ sidebar_position: 4
5
+ ---
6
+
7
+ # Network Utilities
8
+
9
+ Comprehensive networking utilities for streaming, validation, and connection management.
10
+
11
+ ## Overview
12
+
13
+ The `synapse_sdk.utils.network` module provides essential networking components used by Ray and other clients for secure, robust streaming operations and input validation.
14
+
15
+ ## StreamLimits
16
+
17
+ Configuration class for streaming operation limits to prevent resource exhaustion.
18
+
19
+ ### Constructor
20
+
21
+ ```python
22
+ from synapse_sdk.utils.network import StreamLimits
23
+
24
+ limits = StreamLimits(
25
+ max_messages=10000,
26
+ max_lines=50000,
27
+ max_bytes=50 * 1024 * 1024, # 50MB
28
+ max_message_size=10240, # 10KB
29
+ queue_size=1000,
30
+ exception_queue_size=10
31
+ )
32
+ ```
33
+
34
+ ### Parameters
35
+
36
+ - `max_messages` (int): Maximum number of messages to process (default: 10,000)
37
+ - `max_lines` (int): Maximum number of lines to stream (default: 50,000)
38
+ - `max_bytes` (int): Maximum total bytes to process (default: 50MB)
39
+ - `max_message_size` (int): Maximum size per message (default: 10KB)
40
+ - `queue_size` (int): Internal queue size for message buffering (default: 1,000)
41
+ - `exception_queue_size` (int): Queue size for exception handling (default: 10)
42
+
43
+ ### Usage
44
+
45
+ ```python
46
+ # Custom limits for high-volume streaming
47
+ custom_limits = StreamLimits(
48
+ max_messages=50000,
49
+ max_lines=100000,
50
+ max_bytes=100 * 1024 * 1024 # 100MB
51
+ )
52
+
53
+ # Use with stream managers
54
+ websocket_manager = WebSocketStreamManager(thread_pool, custom_limits)
55
+ ```
56
+
57
+ ## WebSocketStreamManager
58
+
59
+ Manages WebSocket connections for real-time log streaming with automatic error handling and resource cleanup.
60
+
61
+ ### Constructor
62
+
63
+ ```python
64
+ from synapse_sdk.utils.network import WebSocketStreamManager
65
+ from concurrent.futures import ThreadPoolExecutor
66
+
67
+ thread_pool = ThreadPoolExecutor(max_workers=5)
68
+ limits = StreamLimits()
69
+ manager = WebSocketStreamManager(thread_pool, limits)
70
+ ```
71
+
72
+ ### Methods
73
+
74
+ #### `stream_logs(ws_url, headers, timeout, context)`
75
+
76
+ Stream logs from a WebSocket endpoint.
77
+
78
+ ```python
79
+ # Stream logs with error handling
80
+ try:
81
+ for log_line in manager.stream_logs(
82
+ ws_url="wss://ray-cluster:8265/logs/ws/",
83
+ headers={"Authorization": "Bearer token"},
84
+ timeout=30.0,
85
+ context="job job-12345"
86
+ ):
87
+ print(log_line.strip())
88
+ except ClientError as e:
89
+ print(f"Streaming failed: {e}")
90
+ ```
91
+
92
+ ### Error Handling
93
+
94
+ - **500**: WebSocket library not available
95
+ - **503**: Connection failed
96
+ - **408**: Connection timeout
97
+ - **429**: Stream limits exceeded
98
+
99
+ ## HTTPStreamManager
100
+
101
+ Manages HTTP streaming connections using chunked transfer encoding for reliable log streaming.
102
+
103
+ ### Constructor
104
+
105
+ ```python
106
+ from synapse_sdk.utils.network import HTTPStreamManager
107
+ import requests
108
+
109
+ session = requests.Session()
110
+ limits = StreamLimits()
111
+ manager = HTTPStreamManager(session, limits)
112
+ ```
113
+
114
+ ### Methods
115
+
116
+ #### `stream_logs(url, headers, timeout, context)`
117
+
118
+ Stream logs from an HTTP endpoint with chunked transfer encoding.
119
+
120
+ ```python
121
+ # Stream logs with custom timeout
122
+ for log_line in manager.stream_logs(
123
+ url="http://ray-cluster:8265/logs/stream",
124
+ headers={"Authorization": "Bearer token"},
125
+ timeout=(5, 60), # (connect, read) timeout
126
+ context="job job-12345"
127
+ ):
128
+ if 'ERROR' in log_line:
129
+ print(f"Error detected: {log_line}")
130
+ ```
131
+
132
+ ### Features
133
+
134
+ - **Automatic Resource Cleanup**: HTTP responses properly closed
135
+ - **Line Size Filtering**: Oversized lines (>10KB) automatically filtered
136
+ - **Stream Limits**: Prevents memory exhaustion
137
+ - **Error Recovery**: Robust error handling with proper cleanup
138
+
139
+ ### Error Handling
140
+
141
+ - **503**: Connection refused or network error
142
+ - **408**: Connection or read timeout
143
+ - **404**: Endpoint not found
144
+ - **429**: Stream limits exceeded
145
+ - **500**: Unexpected streaming error
146
+
147
+ ## Validation Functions
148
+
149
+ ### `validate_resource_id(resource_id, resource_name='resource')`
150
+
151
+ Validates resource identifiers to prevent injection attacks.
152
+
153
+ ```python
154
+ from synapse_sdk.utils.network import validate_resource_id
155
+
156
+ # Valid usage
157
+ job_id = validate_resource_id('job-12345', 'job')
158
+ node_id = validate_resource_id('node_abc_123', 'node')
159
+
160
+ # Invalid usage raises ClientError
161
+ try:
162
+ validate_resource_id('job/../malicious', 'job')
163
+ except ClientError as e:
164
+ print(f"Invalid ID: {e}") # Status 400
165
+ ```
166
+
167
+ #### Validation Rules
168
+
169
+ - Must not be empty
170
+ - Only alphanumeric characters, hyphens, and underscores allowed
171
+ - Maximum length: 100 characters
172
+ - Pattern: `^[a-zA-Z0-9\-_]+$`
173
+
174
+ #### Parameters
175
+
176
+ - `resource_id` (Any): The ID to validate (converted to string)
177
+ - `resource_name` (str): Name for error messages (default: 'resource')
178
+
179
+ #### Returns
180
+
181
+ - `str`: Validated resource ID
182
+
183
+ #### Raises
184
+
185
+ - `ClientError` (400): If validation fails
186
+
187
+ ### `validate_timeout(timeout, max_timeout=300)`
188
+
189
+ Validates timeout values with bounds checking.
190
+
191
+ ```python
192
+ from synapse_sdk.utils.network import validate_timeout
193
+
194
+ # Valid timeouts
195
+ timeout = validate_timeout(30) # 30 seconds
196
+ timeout = validate_timeout(10.5) # 10.5 seconds
197
+
198
+ # Invalid timeouts raise ClientError
199
+ try:
200
+ validate_timeout(-1) # Negative timeout
201
+ validate_timeout(500) # Exceeds maximum
202
+ except ClientError as e:
203
+ print(f"Invalid timeout: {e}") # Status 400
204
+ ```
205
+
206
+ #### Parameters
207
+
208
+ - `timeout` (int|float): Timeout value in seconds
209
+ - `max_timeout` (int): Maximum allowed timeout (default: 300)
210
+
211
+ #### Returns
212
+
213
+ - `float`: Validated timeout value
214
+
215
+ #### Raises
216
+
217
+ - `ClientError` (400): If timeout is invalid
218
+
219
+ ## URL Utilities
220
+
221
+ ### `http_to_websocket_url(http_url)`
222
+
223
+ Converts HTTP URLs to WebSocket URLs.
224
+
225
+ ```python
226
+ from synapse_sdk.utils.network import http_to_websocket_url
227
+
228
+ # Convert URLs
229
+ ws_url = http_to_websocket_url("http://ray-cluster:8265/logs/")
230
+ # Result: "ws://ray-cluster:8265/logs/"
231
+
232
+ wss_url = http_to_websocket_url("https://ray-cluster:8265/logs/")
233
+ # Result: "wss://ray-cluster:8265/logs/"
234
+ ```
235
+
236
+ #### Parameters
237
+
238
+ - `http_url` (str): HTTP or HTTPS URL
239
+
240
+ #### Returns
241
+
242
+ - `str`: WebSocket URL (ws:// or wss://)
243
+
244
+ ## Error Utilities
245
+
246
+ ### `sanitize_error_message(message, context)`
247
+
248
+ Sanitizes error messages to prevent information leakage while maintaining debugging context.
249
+
250
+ ```python
251
+ from synapse_sdk.utils.network import sanitize_error_message
252
+
253
+ # Sanitize errors for logging
254
+ clean_message = sanitize_error_message(
255
+ "Connection failed: Invalid token abc123",
256
+ "job job-12345"
257
+ )
258
+ # Result: Sanitized error message with context
259
+ ```
260
+
261
+ #### Parameters
262
+
263
+ - `message` (str): Original error message
264
+ - `context` (str): Context for debugging (e.g., "job job-12345")
265
+
266
+ #### Returns
267
+
268
+ - `str`: Sanitized error message
269
+
270
+ ## Complete Example
271
+
272
+ ```python
273
+ import asyncio
274
+ from concurrent.futures import ThreadPoolExecutor
275
+ from synapse_sdk.utils.network import (
276
+ StreamLimits,
277
+ WebSocketStreamManager,
278
+ HTTPStreamManager,
279
+ validate_resource_id,
280
+ validate_timeout,
281
+ http_to_websocket_url
282
+ )
283
+
284
+ class StreamingExample:
285
+ def __init__(self):
286
+ # Setup components
287
+ self.thread_pool = ThreadPoolExecutor(max_workers=3)
288
+ self.limits = StreamLimits(max_lines=10000)
289
+ self.ws_manager = WebSocketStreamManager(self.thread_pool, self.limits)
290
+
291
+ # HTTP session for HTTP streaming
292
+ import requests
293
+ self.session = requests.Session()
294
+ self.http_manager = HTTPStreamManager(self.session, self.limits)
295
+
296
+ def stream_job_logs(self, job_id, protocol='websocket'):
297
+ # Validate inputs
298
+ validated_id = validate_resource_id(job_id, 'job')
299
+ timeout = validate_timeout(30)
300
+
301
+ if protocol == 'websocket':
302
+ return self._websocket_stream(validated_id, timeout)
303
+ else:
304
+ return self._http_stream(validated_id, timeout)
305
+
306
+ def _websocket_stream(self, job_id, timeout):
307
+ url = f"http://ray-cluster:8265/jobs/{job_id}/logs/"
308
+ ws_url = http_to_websocket_url(url)
309
+ headers = {"Authorization": "Bearer token"}
310
+ context = f"job {job_id}"
311
+
312
+ return self.ws_manager.stream_logs(ws_url, headers, timeout, context)
313
+
314
+ def _http_stream(self, job_id, timeout):
315
+ url = f"http://ray-cluster:8265/jobs/{job_id}/logs/stream"
316
+ headers = {"Authorization": "Bearer token"}
317
+ timeout_tuple = (5, timeout)
318
+ context = f"job {job_id}"
319
+
320
+ return self.http_manager.stream_logs(url, headers, timeout_tuple, context)
321
+
322
+ # Usage
323
+ example = StreamingExample()
324
+
325
+ # Stream with WebSocket
326
+ for log_line in example.stream_job_logs('job-12345', 'websocket'):
327
+ print(log_line.strip())
328
+
329
+ # Stream with HTTP fallback
330
+ for log_line in example.stream_job_logs('job-12345', 'http'):
331
+ print(log_line.strip())
332
+ ```
333
+
334
+ ## Best Practices
335
+
336
+ ### 1. Resource Management
337
+
338
+ ```python
339
+ # Always use proper cleanup
340
+ thread_pool = ThreadPoolExecutor(max_workers=5)
341
+ try:
342
+ manager = WebSocketStreamManager(thread_pool, StreamLimits())
343
+ # Use manager...
344
+ finally:
345
+ thread_pool.shutdown(wait=True)
346
+ ```
347
+
348
+ ### 2. Error Handling
349
+
350
+ ```python
351
+ from synapse_sdk.clients.exceptions import ClientError
352
+
353
+ try:
354
+ job_id = validate_resource_id(user_input, 'job')
355
+ timeout = validate_timeout(user_timeout)
356
+ # Proceed with validated inputs...
357
+ except ClientError as e:
358
+ logger.error(f"Validation failed: {e}")
359
+ return error_response(e.status, str(e))
360
+ ```
361
+
362
+ ### 3. Stream Limits Configuration
363
+
364
+ ```python
365
+ # Configure limits based on use case
366
+ production_limits = StreamLimits(
367
+ max_messages=20000, # Higher for production
368
+ max_lines=100000, # More lines allowed
369
+ max_bytes=200 * 1024 * 1024, # 200MB for large logs
370
+ queue_size=2000 # Larger buffer
371
+ )
372
+ ```
373
+
374
+ ## See Also
375
+
376
+ - [RayClient](../../api/clients/ray.md) - Primary consumer of network utilities
377
+ - [File Utils](./file.md) - File operations and handling
378
+ - [Storage](./storage.md) - Storage providers
@@ -0,0 +1,57 @@
1
+ ---
2
+ id: storage
3
+ title: Storage Providers
4
+ sidebar_position: 2
5
+ ---
6
+
7
+ # Storage Providers
8
+
9
+ Storage abstraction layer supporting multiple cloud providers.
10
+
11
+ ## Supported Providers
12
+
13
+ ### Amazon S3
14
+ Amazon Simple Storage Service integration.
15
+
16
+ ```python
17
+ from synapse_sdk.utils.storage.providers.s3 import S3Provider
18
+
19
+ provider = S3Provider(
20
+ bucket="my-bucket",
21
+ region="us-west-2"
22
+ )
23
+ ```
24
+
25
+ ### Google Cloud Storage
26
+ Google Cloud Storage integration.
27
+
28
+ ```python
29
+ from synapse_sdk.utils.storage.providers.gcp import GCPProvider
30
+
31
+ provider = GCPProvider(
32
+ bucket="my-bucket",
33
+ project="my-project"
34
+ )
35
+ ```
36
+
37
+ ### SFTP
38
+ Secure File Transfer Protocol support.
39
+
40
+ ```python
41
+ from synapse_sdk.utils.storage.providers.sftp import SFTPProvider
42
+
43
+ provider = SFTPProvider(
44
+ host="sftp.example.com",
45
+ username="user"
46
+ )
47
+ ```
48
+
49
+ ## Usage
50
+
51
+ ```python
52
+ from synapse_sdk.utils.storage import get_storage
53
+
54
+ # Automatic provider detection from URL
55
+ storage = get_storage("s3://my-bucket/file.csv")
56
+ local_path = storage.download()
57
+ ```
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: types
3
+ title: Custom Types
4
+ sidebar_position: 3
5
+ ---
6
+
7
+ # Custom Types
8
+
9
+ Custom types and Pydantic fields used throughout the SDK.
10
+
11
+ ## FileField
12
+
13
+ Custom Pydantic field for handling file URLs with automatic download.
14
+
15
+ ```python
16
+ from synapse_sdk.types import FileField
17
+ from pydantic import BaseModel
18
+
19
+ class MyParams(BaseModel):
20
+ input_file: FileField # Automatically downloads files
21
+
22
+ def process(params: MyParams):
23
+ file_path = params.input_file # Local file path
24
+ # Process the file...
25
+ ```
26
+
27
+ ### Features
28
+
29
+ - Automatic file download from URLs
30
+ - Temporary file management
31
+ - Support for various file formats
32
+ - Validation of file existence
33
+
34
+ ## Usage Examples
35
+
36
+ ```python
37
+ # In plugin parameters
38
+ class ProcessParams(BaseModel):
39
+ data_file: FileField
40
+ config_file: FileField = None # Optional file
41
+
42
+ # The FileField automatically:
43
+ # 1. Downloads the file from URL
44
+ # 2. Validates file existence
45
+ # 3. Returns local file path
46
+ # 4. Cleans up temporary files
47
+ ```
48
+
49
+ ## Type Validation
50
+
51
+ Custom validators for ensuring type safety across the SDK.
@@ -0,0 +1,94 @@
1
+ ---
2
+ id: installation
3
+ title: Installation & Setup
4
+ sidebar_position: 2
5
+ ---
6
+
7
+ # Installation & Setup
8
+
9
+ Get started with Synapse SDK in minutes.
10
+
11
+ ## Prerequisites
12
+
13
+ Before installing Synapse SDK, ensure you have:
14
+
15
+ - **Python 3.10 or higher** installed
16
+
17
+ ## Installation Methods
18
+
19
+ ### Install from PyPI
20
+
21
+ The easiest way to install Synapse SDK is via pip:
22
+
23
+ ```bash
24
+ pip install synapse-sdk
25
+ ```
26
+
27
+ ### Install with Optional Dependencies
28
+
29
+ For additional features, install with extras:
30
+
31
+ ```bash
32
+ # Install with all dependencies (distributed computing, optimization libraries)
33
+ pip install synapse-sdk[all]
34
+
35
+ # Install with dashboard dependencies (FastAPI, Uvicorn)
36
+ pip install synapse-sdk[devtools]
37
+
38
+ # Install both
39
+ pip install "synapse-sdk[all,devtools]"
40
+ ```
41
+
42
+ ### Install from Source
43
+
44
+ To get the latest development version:
45
+
46
+ ```bash
47
+ git clone https://github.com/datamaker/synapse-sdk.git
48
+ cd synapse-sdk
49
+ pip install -e .
50
+
51
+ # With optional dependencies
52
+ pip install -e ".[all,devtools]"
53
+ ```
54
+
55
+ ## Verify Installation
56
+
57
+ After installation, verify everything is working:
58
+
59
+ ```bash
60
+ # Check version
61
+ synapse --version
62
+
63
+ # Run interactive CLI
64
+ synapse
65
+
66
+ # Run with devtools
67
+ synapse --dev-tools
68
+ ```
69
+
70
+ ## Troubleshooting
71
+
72
+ ### Common Issues
73
+
74
+ 1. **ImportError: No module named 'synapse_sdk'**
75
+ - Ensure you've activated your virtual environment
76
+ - Check Python path: `python -c "import sys; print(sys.path)"`
77
+
78
+ 2. **Connection timeout to backend**
79
+ - Verify your API token is correct
80
+ - Check network connectivity
81
+ - Ensure backend URL is accessible
82
+
83
+ ### Getting Help
84
+
85
+ If you encounter issues:
86
+
87
+ 1. Check the [Troubleshooting Guide](./troubleshooting.md)
88
+ 2. Search [GitHub Issues](https://github.com/datamaker/synapse-sdk/issues)
89
+ 3. Join our [Discord Community](https://discord.gg/synapse-sdk)
90
+
91
+ ## Next Steps
92
+
93
+ - Follow the [Quickstart Guide](./quickstart.md)
94
+ - Learn about [Core Concepts](./concepts/index.md)
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: introduction
3
+ title: Introduction
4
+ sidebar_position: 1
5
+ ---
6
+
7
+ # Synapse SDK
8
+
9
+ Build ML and data processing plugins.
10
+
11
+ ## Overview
12
+
13
+ Synapse SDK is..
14
+
15
+ ### Key Features
16
+
17
+ - **🚀 Plugin Development and Testing**: Develop modular, reusable components organized by categories for Synapse
18
+ - **⚡ Distributed Computing**: Built for scalable, distributed execution
19
+ - **🔧 Multiple Execution Modes**: Support for Jobs, Tasks, and REST APIs
20
+ - **📦 Isolated Runtime Environments**: Each plugin runs in its own environment with dependency management
21
+ - **📊 Progress Tracking**: Built-in progress monitoring and metrics reporting
22
+
23
+ ### Plugin Categories
24
+
25
+ The SDK organizes plugins into specific categories:
26
+
27
+ 1. **Neural Network** (`NEURAL_NET`): ML model training, inference, and deployment
28
+ 2. **Export** (`EXPORT`): Data export and transformation operations
29
+ 3. **Upload** (`UPLOAD`): File and data upload functionality
30
+ 4. **Smart Tools** (`SMART_TOOL`): Intelligent automation tools
31
+ 5. **Post-Annotation** (`POST_ANNOTATION`): Post-processing after data annotation
32
+ 6. **Pre-Annotation** (`PRE_ANNOTATION`): Pre-processing before data annotation
33
+ 7. **Data Validation** (`DATA_VALIDATION`): Data quality and validation checks
34
+
35
+ ## Getting Started
36
+
37
+ To get started with the Synapse SDK:
38
+
39
+ 1. [Install the SDK](./installation.md)
40
+ 2. [Follow the Quickstart Guide](./quickstart.md)
41
+ 3. [Explore the API Reference](./api/index.md)
42
+ 4. [Check out Examples](./examples/index.md)
43
+
44
+ ## Next Steps
45
+
46
+ - Learn about [Core Concepts](./concepts/index.md)
47
+ - Configure [Backend Connection](./configuration.md)