synapse-sdk 1.0.0a35__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 (307) hide show
  1. synapse_sdk/__init__.py +24 -0
  2. synapse_sdk/cli/__init__.py +308 -5
  3. synapse_sdk/cli/alias/utils.py +1 -1
  4. synapse_sdk/cli/code_server.py +687 -0
  5. synapse_sdk/cli/config.py +440 -0
  6. synapse_sdk/cli/devtools.py +90 -0
  7. synapse_sdk/cli/plugin/publish.py +23 -15
  8. synapse_sdk/clients/agent/__init__.py +9 -3
  9. synapse_sdk/clients/agent/container.py +133 -0
  10. synapse_sdk/clients/agent/core.py +19 -0
  11. synapse_sdk/clients/agent/ray.py +298 -9
  12. synapse_sdk/clients/backend/__init__.py +28 -12
  13. synapse_sdk/clients/backend/annotation.py +9 -1
  14. synapse_sdk/clients/backend/core.py +31 -4
  15. synapse_sdk/clients/backend/data_collection.py +186 -0
  16. synapse_sdk/clients/backend/hitl.py +1 -1
  17. synapse_sdk/clients/backend/integration.py +4 -3
  18. synapse_sdk/clients/backend/ml.py +1 -1
  19. synapse_sdk/clients/backend/models.py +35 -1
  20. synapse_sdk/clients/base.py +309 -36
  21. synapse_sdk/clients/ray/serve.py +2 -0
  22. synapse_sdk/devtools/__init__.py +0 -0
  23. synapse_sdk/devtools/config.py +94 -0
  24. synapse_sdk/devtools/docs/.gitignore +20 -0
  25. synapse_sdk/devtools/docs/README.md +41 -0
  26. synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +12 -0
  27. synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +44 -0
  28. synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  29. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  30. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +29 -0
  31. synapse_sdk/devtools/docs/blog/authors.yml +25 -0
  32. synapse_sdk/devtools/docs/blog/tags.yml +19 -0
  33. synapse_sdk/devtools/docs/docs/api/clients/agent.md +43 -0
  34. synapse_sdk/devtools/docs/docs/api/clients/annotation-mixin.md +378 -0
  35. synapse_sdk/devtools/docs/docs/api/clients/backend.md +420 -0
  36. synapse_sdk/devtools/docs/docs/api/clients/base.md +257 -0
  37. synapse_sdk/devtools/docs/docs/api/clients/core-mixin.md +477 -0
  38. synapse_sdk/devtools/docs/docs/api/clients/data-collection-mixin.md +422 -0
  39. synapse_sdk/devtools/docs/docs/api/clients/hitl-mixin.md +554 -0
  40. synapse_sdk/devtools/docs/docs/api/clients/index.md +391 -0
  41. synapse_sdk/devtools/docs/docs/api/clients/integration-mixin.md +571 -0
  42. synapse_sdk/devtools/docs/docs/api/clients/ml-mixin.md +578 -0
  43. synapse_sdk/devtools/docs/docs/api/clients/ray.md +342 -0
  44. synapse_sdk/devtools/docs/docs/api/index.md +52 -0
  45. synapse_sdk/devtools/docs/docs/api/plugins/categories.md +43 -0
  46. synapse_sdk/devtools/docs/docs/api/plugins/models.md +114 -0
  47. synapse_sdk/devtools/docs/docs/api/plugins/utils.md +328 -0
  48. synapse_sdk/devtools/docs/docs/categories.md +0 -0
  49. synapse_sdk/devtools/docs/docs/cli-usage.md +280 -0
  50. synapse_sdk/devtools/docs/docs/concepts/index.md +38 -0
  51. synapse_sdk/devtools/docs/docs/configuration.md +83 -0
  52. synapse_sdk/devtools/docs/docs/contributing.md +306 -0
  53. synapse_sdk/devtools/docs/docs/examples/index.md +29 -0
  54. synapse_sdk/devtools/docs/docs/faq.md +179 -0
  55. synapse_sdk/devtools/docs/docs/features/converters/index.md +455 -0
  56. synapse_sdk/devtools/docs/docs/features/index.md +24 -0
  57. synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
  58. synapse_sdk/devtools/docs/docs/features/utils/network.md +378 -0
  59. synapse_sdk/devtools/docs/docs/features/utils/storage.md +57 -0
  60. synapse_sdk/devtools/docs/docs/features/utils/types.md +51 -0
  61. synapse_sdk/devtools/docs/docs/installation.md +94 -0
  62. synapse_sdk/devtools/docs/docs/introduction.md +47 -0
  63. synapse_sdk/devtools/docs/docs/plugins/categories/neural-net-plugins/train-action-overview.md +814 -0
  64. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  65. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  66. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  67. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  68. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  69. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  70. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  71. synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +1092 -0
  72. synapse_sdk/devtools/docs/docs/plugins/plugins.md +852 -0
  73. synapse_sdk/devtools/docs/docs/quickstart.md +78 -0
  74. synapse_sdk/devtools/docs/docs/troubleshooting.md +519 -0
  75. synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +8 -0
  76. synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +23 -0
  77. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
  78. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +57 -0
  79. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +43 -0
  80. synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
  81. synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
  82. synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +7 -0
  83. synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  84. synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
  85. synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
  86. synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +88 -0
  87. synapse_sdk/devtools/docs/docusaurus.config.ts +148 -0
  88. synapse_sdk/devtools/docs/i18n/ko/code.json +325 -0
  89. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +43 -0
  90. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/annotation-mixin.md +289 -0
  91. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +420 -0
  92. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +257 -0
  93. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/core-mixin.md +417 -0
  94. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/data-collection-mixin.md +356 -0
  95. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/hitl-mixin.md +192 -0
  96. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/index.md +391 -0
  97. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/integration-mixin.md +479 -0
  98. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ml-mixin.md +284 -0
  99. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +342 -0
  100. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +52 -0
  101. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/plugins/models.md +114 -0
  102. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
  103. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +280 -0
  104. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +38 -0
  105. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +83 -0
  106. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +306 -0
  107. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +29 -0
  108. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +179 -0
  109. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +30 -0
  110. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
  111. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
  112. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md +378 -0
  113. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md +60 -0
  114. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md +51 -0
  115. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +94 -0
  116. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +47 -0
  117. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/neural-net-plugins/train-action-overview.md +815 -0
  118. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  119. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  120. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  121. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  122. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  123. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  124. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  125. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +1092 -0
  126. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +117 -0
  127. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +78 -0
  128. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +519 -0
  129. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +34 -0
  130. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +42 -0
  131. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +18 -0
  132. synapse_sdk/devtools/docs/package-lock.json +18784 -0
  133. synapse_sdk/devtools/docs/package.json +48 -0
  134. synapse_sdk/devtools/docs/sidebars.ts +122 -0
  135. synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +71 -0
  136. synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  137. synapse_sdk/devtools/docs/src/css/custom.css +30 -0
  138. synapse_sdk/devtools/docs/src/pages/index.module.css +23 -0
  139. synapse_sdk/devtools/docs/src/pages/index.tsx +21 -0
  140. synapse_sdk/devtools/docs/src/pages/markdown-page.md +7 -0
  141. synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  142. synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  143. synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  144. synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  145. synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  146. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  147. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +170 -0
  148. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  149. synapse_sdk/devtools/docs/tsconfig.json +8 -0
  150. synapse_sdk/devtools/server.py +41 -0
  151. synapse_sdk/devtools/streamlit_app/__init__.py +5 -0
  152. synapse_sdk/devtools/streamlit_app/app.py +128 -0
  153. synapse_sdk/devtools/streamlit_app/services/__init__.py +11 -0
  154. synapse_sdk/devtools/streamlit_app/services/job_service.py +233 -0
  155. synapse_sdk/devtools/streamlit_app/services/plugin_service.py +236 -0
  156. synapse_sdk/devtools/streamlit_app/services/serve_service.py +95 -0
  157. synapse_sdk/devtools/streamlit_app/ui/__init__.py +15 -0
  158. synapse_sdk/devtools/streamlit_app/ui/config_tab.py +76 -0
  159. synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +66 -0
  160. synapse_sdk/devtools/streamlit_app/ui/http_tab.py +125 -0
  161. synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +573 -0
  162. synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +346 -0
  163. synapse_sdk/devtools/streamlit_app/ui/status_bar.py +118 -0
  164. synapse_sdk/devtools/streamlit_app/utils/__init__.py +40 -0
  165. synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +197 -0
  166. synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +38 -0
  167. synapse_sdk/devtools/streamlit_app/utils/styles.py +241 -0
  168. synapse_sdk/devtools/streamlit_app/utils/ui_components.py +289 -0
  169. synapse_sdk/devtools/streamlit_app.py +10 -0
  170. synapse_sdk/loggers.py +65 -7
  171. synapse_sdk/plugins/README.md +1340 -0
  172. synapse_sdk/plugins/categories/base.py +73 -11
  173. synapse_sdk/plugins/categories/data_validation/actions/validation.py +72 -0
  174. synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +33 -5
  175. synapse_sdk/plugins/categories/export/actions/__init__.py +3 -0
  176. synapse_sdk/plugins/categories/export/actions/export/__init__.py +28 -0
  177. synapse_sdk/plugins/categories/export/actions/export/action.py +165 -0
  178. synapse_sdk/plugins/categories/export/actions/export/enums.py +113 -0
  179. synapse_sdk/plugins/categories/export/actions/export/exceptions.py +53 -0
  180. synapse_sdk/plugins/categories/export/actions/export/models.py +74 -0
  181. synapse_sdk/plugins/categories/export/actions/export/run.py +195 -0
  182. synapse_sdk/plugins/categories/export/actions/{export.py → export/utils.py} +47 -82
  183. synapse_sdk/plugins/categories/export/templates/config.yaml +19 -1
  184. synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +390 -0
  185. synapse_sdk/plugins/categories/export/templates/plugin/export.py +153 -129
  186. synapse_sdk/plugins/categories/neural_net/actions/deployment.py +9 -62
  187. synapse_sdk/plugins/categories/neural_net/actions/train.py +1062 -32
  188. synapse_sdk/plugins/categories/neural_net/actions/tune.py +534 -0
  189. synapse_sdk/plugins/categories/neural_net/templates/config.yaml +27 -5
  190. synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +26 -10
  191. synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +4 -0
  192. synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/__init__.py +3 -0
  193. synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/action.py +10 -0
  194. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/__init__.py +28 -0
  195. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/action.py +145 -0
  196. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/enums.py +269 -0
  197. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/exceptions.py +14 -0
  198. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/factory.py +76 -0
  199. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/models.py +97 -0
  200. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/orchestrator.py +250 -0
  201. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/run.py +64 -0
  202. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/__init__.py +17 -0
  203. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/annotation.py +287 -0
  204. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/base.py +170 -0
  205. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/extraction.py +83 -0
  206. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/metrics.py +87 -0
  207. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/preprocessor.py +127 -0
  208. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/validation.py +143 -0
  209. synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +966 -0
  210. synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +19 -0
  211. synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +40 -0
  212. synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +19 -0
  213. synapse_sdk/plugins/categories/upload/actions/upload/action.py +232 -0
  214. synapse_sdk/plugins/categories/upload/actions/upload/context.py +185 -0
  215. synapse_sdk/plugins/categories/upload/actions/upload/enums.py +471 -0
  216. synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
  217. synapse_sdk/plugins/categories/upload/actions/upload/factory.py +138 -0
  218. synapse_sdk/plugins/categories/upload/actions/upload/models.py +203 -0
  219. synapse_sdk/plugins/categories/upload/actions/upload/orchestrator.py +183 -0
  220. synapse_sdk/plugins/categories/upload/actions/upload/registry.py +113 -0
  221. synapse_sdk/plugins/categories/upload/actions/upload/run.py +179 -0
  222. synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py +1 -0
  223. synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py +107 -0
  224. synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py +62 -0
  225. synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py +63 -0
  226. synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +84 -0
  227. synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +82 -0
  228. synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +235 -0
  229. synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +203 -0
  230. synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +97 -0
  231. synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py +71 -0
  232. synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py +1 -0
  233. synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py +82 -0
  234. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init__.py +1 -0
  235. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py +39 -0
  236. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py +29 -0
  237. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py +1 -0
  238. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +258 -0
  239. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +281 -0
  240. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py +1 -0
  241. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py +174 -0
  242. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py +16 -0
  243. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.py +1 -0
  244. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py +84 -0
  245. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py +1 -0
  246. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +60 -0
  247. synapse_sdk/plugins/categories/upload/actions/upload/utils.py +250 -0
  248. synapse_sdk/plugins/categories/upload/templates/README.md +470 -0
  249. synapse_sdk/plugins/categories/upload/templates/config.yaml +29 -2
  250. synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +294 -0
  251. synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +88 -30
  252. synapse_sdk/plugins/models.py +122 -16
  253. synapse_sdk/plugins/templates/plugin-config-schema.json +406 -0
  254. synapse_sdk/plugins/templates/schema.json +491 -0
  255. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +1 -1
  256. synapse_sdk/plugins/utils/__init__.py +46 -0
  257. synapse_sdk/plugins/utils/actions.py +119 -0
  258. synapse_sdk/plugins/utils/config.py +203 -0
  259. synapse_sdk/plugins/{utils.py → utils/legacy.py} +26 -46
  260. synapse_sdk/plugins/utils/ray_gcs.py +66 -0
  261. synapse_sdk/plugins/utils/registry.py +58 -0
  262. synapse_sdk/shared/__init__.py +25 -0
  263. synapse_sdk/shared/enums.py +93 -0
  264. synapse_sdk/utils/converters/__init__.py +240 -0
  265. synapse_sdk/utils/converters/coco/__init__.py +0 -0
  266. synapse_sdk/utils/converters/coco/from_dm.py +322 -0
  267. synapse_sdk/utils/converters/coco/to_dm.py +215 -0
  268. synapse_sdk/utils/converters/dm/__init__.py +56 -0
  269. synapse_sdk/utils/converters/dm/from_v1.py +627 -0
  270. synapse_sdk/utils/converters/dm/to_v1.py +367 -0
  271. synapse_sdk/utils/converters/pascal/__init__.py +0 -0
  272. synapse_sdk/utils/converters/pascal/from_dm.py +244 -0
  273. synapse_sdk/utils/converters/pascal/to_dm.py +214 -0
  274. synapse_sdk/utils/converters/yolo/__init__.py +0 -0
  275. synapse_sdk/utils/converters/yolo/from_dm.py +384 -0
  276. synapse_sdk/utils/converters/yolo/to_dm.py +267 -0
  277. synapse_sdk/utils/dataset.py +46 -0
  278. synapse_sdk/utils/encryption.py +158 -0
  279. synapse_sdk/utils/file/__init__.py +39 -0
  280. synapse_sdk/utils/file/archive.py +32 -0
  281. synapse_sdk/utils/file/checksum.py +56 -0
  282. synapse_sdk/utils/file/chunking.py +31 -0
  283. synapse_sdk/utils/file/download.py +385 -0
  284. synapse_sdk/utils/file/encoding.py +40 -0
  285. synapse_sdk/utils/file/io.py +22 -0
  286. synapse_sdk/utils/file/video/__init__.py +29 -0
  287. synapse_sdk/utils/file/video/transcode.py +307 -0
  288. synapse_sdk/utils/{file.py → file.py.backup} +84 -2
  289. synapse_sdk/utils/http.py +138 -0
  290. synapse_sdk/utils/network.py +293 -0
  291. synapse_sdk/utils/storage/__init__.py +36 -2
  292. synapse_sdk/utils/storage/providers/__init__.py +141 -0
  293. synapse_sdk/utils/storage/providers/file_system.py +134 -0
  294. synapse_sdk/utils/storage/providers/http.py +190 -0
  295. synapse_sdk/utils/storage/providers/s3.py +54 -6
  296. synapse_sdk/utils/storage/providers/sftp.py +31 -0
  297. synapse_sdk/utils/storage/registry.py +6 -0
  298. synapse_sdk-2025.11.7.dist-info/METADATA +122 -0
  299. synapse_sdk-2025.11.7.dist-info/RECORD +386 -0
  300. {synapse_sdk-1.0.0a35.dist-info → synapse_sdk-2025.11.7.dist-info}/WHEEL +1 -1
  301. synapse_sdk/clients/backend/dataset.py +0 -102
  302. synapse_sdk/plugins/categories/upload/actions/upload.py +0 -293
  303. synapse_sdk-1.0.0a35.dist-info/METADATA +0 -47
  304. synapse_sdk-1.0.0a35.dist-info/RECORD +0 -137
  305. {synapse_sdk-1.0.0a35.dist-info → synapse_sdk-2025.11.7.dist-info}/entry_points.txt +0 -0
  306. {synapse_sdk-1.0.0a35.dist-info → synapse_sdk-2025.11.7.dist-info}/licenses/LICENSE +0 -0
  307. {synapse_sdk-1.0.0a35.dist-info → synapse_sdk-2025.11.7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,391 @@
1
+ ---
2
+ id: index
3
+ title: 클라이언트 API
4
+ sidebar_position: 1
5
+ ---
6
+
7
+ # 클라이언트 API
8
+
9
+ Synapse SDK는 다양한 백엔드 서비스 및 시스템과 상호 작용하기 위한 포괄적인 클라이언트 라이브러리를 제공합니다. 이 섹션에서는 사용 가능한 모든 클라이언트 API와 사용법을 문서화합니다.
10
+
11
+ ## 개요
12
+
13
+ 클라이언트 API는 여러 카테고리로 구성됩니다:
14
+
15
+ ### 핵심 클라이언트
16
+
17
+ - **[BackendClient](./backend.md)** - Synapse 백엔드 작업을 위한 메인 클라이언트
18
+ - **[BaseClient](./base.md)** - 공통 기능을 가진 기본 클라이언트
19
+ - **[AgentClient](./agent.md)** - 에이전트별 작업
20
+ - **[RayClient](./ray.md)** - Ray 분산 컴퓨팅 통합
21
+
22
+ ### 백엔드 클라이언트 믹스인
23
+
24
+ BackendClient는 집중된 기능을 제공하는 여러 전문화된 믹스인으로 구성됩니다:
25
+
26
+ - **[AnnotationClientMixin](./annotation-mixin.md)** - 태스크 및 어노테이션 관리
27
+ - **[CoreClientMixin](./core-mixin.md)** - 핵심 파일 업로드 작업
28
+ - **[DataCollectionClientMixin](./data-collection-mixin.md)** - 데이터 수집 및 파일 관리
29
+ - **[HITLClientMixin](./hitl-mixin.md)** - Human-in-the-loop 워크플로
30
+ - **[IntegrationClientMixin](./integration-mixin.md)** - 플러그인 및 작업 관리
31
+ - **[MLClientMixin](./ml-mixin.md)** - 머신러닝 작업
32
+
33
+ ## 빠른 시작
34
+
35
+ ### 기본 백엔드 클라이언트 사용법
36
+
37
+ ```python
38
+ from synapse_sdk.clients.backend import BackendClient
39
+
40
+ # 클라이언트 초기화
41
+ client = BackendClient(
42
+ base_url="https://api.synapse.sh",
43
+ api_token="your-api-token"
44
+ )
45
+
46
+ # 어노테이션 작업 사용
47
+ tasks = client.list_tasks(params={'project': 123})
48
+
49
+ # 데이터 컬렉션 작업 사용
50
+ collections = client.list_data_collection()
51
+
52
+ # ML 작업 사용
53
+ models = client.list_models(params={'project': 123})
54
+ ```
55
+
56
+ ### 환경 구성
57
+
58
+ ```python
59
+ import os
60
+
61
+ # 환경 변수 설정
62
+ os.environ['SYNAPSE_API_TOKEN'] = "your-api-token"
63
+ os.environ['SYNAPSE_AGENT_TOKEN'] = "your-agent-token"
64
+
65
+ # 클라이언트가 자동으로 환경 변수 사용
66
+ client = BackendClient(base_url="https://api.synapse.sh")
67
+ ```
68
+
69
+ ## 인증
70
+
71
+ 모든 클라이언트는 여러 인증 방법을 지원합니다:
72
+
73
+ ### API 토큰 인증
74
+
75
+ ```python
76
+ client = BackendClient(
77
+ base_url="https://api.synapse.sh",
78
+ api_token="your-api-token"
79
+ )
80
+ ```
81
+
82
+ ### 환경 변수 인증
83
+
84
+ ```python
85
+ # SYNAPSE_API_TOKEN 환경 변수 설정
86
+ client = BackendClient(base_url="https://api.synapse.sh")
87
+ ```
88
+
89
+ ### 에이전트 토큰 인증 (에이전트용)
90
+
91
+ ```python
92
+ client = BackendClient(
93
+ base_url="https://api.synapse.sh",
94
+ agent_token="your-agent-token"
95
+ )
96
+ ```
97
+
98
+ ## 일반적인 패턴
99
+
100
+ ### 오류 처리
101
+
102
+ ```python
103
+ from synapse_sdk.clients.exceptions import ClientError
104
+
105
+ try:
106
+ result = client.get_project(123)
107
+ except ClientError as e:
108
+ if e.status_code == 404:
109
+ print("프로젝트를 찾을 수 없음")
110
+ elif e.status_code == 403:
111
+ print("권한이 거부됨")
112
+ else:
113
+ print(f"API 오류: {e}")
114
+ ```
115
+
116
+ ### 페이지네이션
117
+
118
+ ```python
119
+ # 수동 페이지네이션
120
+ page1 = client.list_tasks(params={'page': 1, 'page_size': 50})
121
+
122
+ # 자동 페이지네이션 (권장)
123
+ all_tasks = client.list_tasks(list_all=True)
124
+ ```
125
+
126
+ ### 일괄 작업
127
+
128
+ ```python
129
+ # 여러 태스크 생성
130
+ tasks_data = [
131
+ {'project': 123, 'data_unit': 789},
132
+ {'project': 123, 'data_unit': 790},
133
+ {'project': 123, 'data_unit': 791}
134
+ ]
135
+ created_tasks = client.create_tasks(tasks_data)
136
+
137
+ # 여러 할당에 태그 설정
138
+ client.set_tags_assignments({
139
+ 'assignment_ids': [1, 2, 3],
140
+ 'tag_ids': [10, 11]
141
+ })
142
+ ```
143
+
144
+ ### 파일 작업
145
+
146
+ ```python
147
+ from pathlib import Path
148
+
149
+ # 청크 업로드로 대용량 파일 업로드
150
+ result = client.create_chunked_upload(Path('/path/to/large_file.zip'))
151
+
152
+ # 데이터 파일 생성
153
+ data_file = client.create_data_file(
154
+ Path('/path/to/data.jpg'),
155
+ use_chunked_upload=True
156
+ )
157
+ ```
158
+
159
+ ## 사용 사례별 클라이언트 기능
160
+
161
+ ### 어노테이션 워크플로
162
+
163
+ **AnnotationClientMixin** 사용:
164
+
165
+ - 어노테이션 프로젝트 관리
166
+ - 태스크 생성 및 할당
167
+ - 어노테이션 데이터 제출
168
+ - 태스크 태깅 및 조직
169
+
170
+ **주요 메서드:**
171
+
172
+ - `list_tasks()`, `create_tasks()`, `annotate_task_data()`
173
+ - `get_project()`, `set_tags_tasks()`
174
+
175
+ ### 데이터 관리
176
+
177
+ **DataCollectionClientMixin** 사용:
178
+
179
+ - 데이터 컬렉션 관리
180
+ - 파일 및 데이터셋 업로드
181
+ - 데이터 유닛 생성
182
+ - 일괄 데이터 처리
183
+
184
+ **주요 메서드:**
185
+
186
+ - `list_data_collection()`, `get_data_collection()`
187
+ - `create_data_file()`, `upload_data_file()`
188
+ - `create_data_units()`
189
+
190
+ ### Human-in-the-Loop
191
+
192
+ **HITLClientMixin** 사용:
193
+
194
+ - 인간 검토 할당 관리
195
+ - 품질 관리 워크플로
196
+ - 할당 배포
197
+ - 성능 분석
198
+
199
+ **주요 메서드:**
200
+
201
+ - `list_assignments()`, `get_assignment()`
202
+ - `set_tags_assignments()`
203
+
204
+ ### 시스템 통합
205
+
206
+ **IntegrationClientMixin** 사용:
207
+
208
+ - 플러그인 개발 및 관리
209
+ - 작업 실행 및 모니터링
210
+ - 스토리지 구성
211
+ - 에이전트 상태 모니터링
212
+
213
+ **주요 메서드:**
214
+
215
+ - `create_plugin()`, `run_plugin()`
216
+ - `list_jobs()`, `update_job()`
217
+ - `create_storage()`, `health_check_agent()`
218
+
219
+ ### 머신러닝
220
+
221
+ **MLClientMixin** 사용:
222
+
223
+ - 모델 관리 및 배포
224
+ - 그라운드 트루스 데이터 작업
225
+ - 모델 평가 워크플로
226
+ - 훈련 데이터 준비
227
+
228
+ **주요 메서드:**
229
+
230
+ - `create_model()`, `list_models()`
231
+ - `list_ground_truth_events()`, `get_ground_truth_version()`
232
+
233
+ ### 핵심 작업
234
+
235
+ **CoreClientMixin** 사용:
236
+
237
+ - 대용량 파일 업로드
238
+ - 청크 업로드 작업
239
+ - 파일 무결성 검증
240
+
241
+ **주요 메서드:**
242
+
243
+ - `create_chunked_upload()`
244
+
245
+ ## 완전한 워크플로 예제
246
+
247
+ ### 엔드투엔드 데이터 처리
248
+
249
+ ```python
250
+ def complete_data_workflow():
251
+ client = BackendClient(
252
+ base_url="https://api.synapse.sh",
253
+ api_token="your-token"
254
+ )
255
+
256
+ # 1. 데이터 수집
257
+ collection = client.get_data_collection(123)
258
+ data_file = client.create_data_file(Path('/data/image.jpg'))
259
+
260
+ # 2. 태스크 생성
261
+ tasks = client.create_tasks([
262
+ {'project': 123, 'data_unit': data_file['data_unit_id']}
263
+ ])
264
+
265
+ # 3. 할당 관리
266
+ assignments = client.list_assignments(params={'project': 123})
267
+
268
+ # 4. 모델 작업
269
+ models = client.list_models(params={'project': 123})
270
+
271
+ return {
272
+ 'data_file': data_file,
273
+ 'tasks': tasks,
274
+ 'assignments': assignments,
275
+ 'models': models
276
+ }
277
+ ```
278
+
279
+ ### 플러그인 개발 및 배포
280
+
281
+ ```python
282
+ def plugin_deployment_workflow():
283
+ client = BackendClient(
284
+ base_url="https://api.synapse.sh",
285
+ api_token="your-token"
286
+ )
287
+
288
+ # 1. 플러그인 생성
289
+ plugin = client.create_plugin({
290
+ 'name': 'My Plugin',
291
+ 'description': '사용자 정의 처리 플러그인'
292
+ })
293
+
294
+ # 2. 릴리스 생성
295
+ with open('plugin.zip', 'rb') as f:
296
+ release = client.create_plugin_release({
297
+ 'plugin': plugin['id'],
298
+ 'version': '1.0.0',
299
+ 'file': f
300
+ })
301
+
302
+ # 3. 플러그인 실행
303
+ job = client.run_plugin(plugin['id'], {
304
+ 'parameters': {'threshold': 0.8}
305
+ })
306
+
307
+ # 4. 실행 모니터링
308
+ job_status = client.get_job(job['job_id'])
309
+
310
+ return {
311
+ 'plugin': plugin,
312
+ 'release': release,
313
+ 'job': job_status
314
+ }
315
+ ```
316
+
317
+ ## 모범 사례
318
+
319
+ ### 성능 최적화
320
+
321
+ - 완전한 데이터셋에 대해 `list_all=True` 사용하여 자동으로 페이지네이션 처리
322
+ - 50MB보다 큰 파일에 청크 업로드 사용
323
+ - 중요한 작업에 재시도 로직 구현
324
+ - 가능한 경우 일괄 작업 사용
325
+
326
+ ### 오류 처리
327
+
328
+ - 항상 try-catch 블록으로 API 호출 감싸기
329
+ - 특정 오류 코드 확인 (404, 403, 429, 500)
330
+ - 요청 제한에 지수 백오프 구현
331
+ - 충분한 컨텍스트로 오류 로깅
332
+
333
+ ### 리소스 관리
334
+
335
+ - 파일 핸들 즉시 닫기
336
+ - 파일 작업에 컨텍스트 매니저 사용
337
+ - 대용량 업로드 시 메모리 사용량 모니터링
338
+ - 임시 리소스 정리
339
+
340
+ ### 보안
341
+
342
+ - API 토큰을 안전하게 저장 (환경 변수)
343
+ - HTTPS 엔드포인트만 사용
344
+ - 파일 경로 및 입력 검증
345
+ - 적절한 액세스 제어 구현
346
+
347
+ ## 마이그레이션 가이드
348
+
349
+ 이전 SDK 버전에서 마이그레이션할 때:
350
+
351
+ 1. **임포트 업데이트**: 새로운 믹스인 구조로 인해 임포트 업데이트가 필요할 수 있음
352
+ 2. **메서드 시그니처 확인**: 일부 메서드의 매개변수가 업데이트되었을 수 있음
353
+ 3. **오류 처리**: 오류 유형 및 상태 코드가 변경되었을 수 있음
354
+ 4. **구성**: 인증 방법이 개선되었을 수 있음
355
+
356
+ ## 문제 해결
357
+
358
+ ### 일반적인 문제
359
+
360
+ **인증 오류 (401/403)**
361
+
362
+ - API 토큰이 올바르고 만료되지 않았는지 확인
363
+ - 요청된 작업에 대한 토큰 권한 확인
364
+ - 올바른 기본 URL 확인
365
+
366
+ **요청 제한 (429)**
367
+
368
+ - 지수 백오프 구현
369
+ - 요청 빈도 감소
370
+ - 가능한 경우 일괄 작업 사용
371
+
372
+ **파일 업로드 실패**
373
+
374
+ - 파일 크기 제한 확인
375
+ - 파일 권한 확인
376
+ - 대용량 파일에 청크 업로드 사용
377
+ - 네트워크 연결 확인
378
+
379
+ **연결 시간 초과**
380
+
381
+ - 시간 초과 설정 증가
382
+ - 네트워크 안정성 확인
383
+ - 서버 가용성 확인
384
+
385
+ ## 지원
386
+
387
+ 추가 지원이 필요한 경우:
388
+
389
+ - [문제 해결 가이드](../../troubleshooting.md) 확인
390
+ - [예제](../../examples/index.md) 검토
391
+ - [FAQ](../../faq.md) 참조