synapse-sdk 1.0.0a70__tar.gz → 1.0.0a72__tar.gz

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 (316) hide show
  1. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/PKG-INFO +1 -1
  2. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/loggers.py +1 -1
  3. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/actions/export.py +12 -1
  4. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +189 -9
  5. synapse_sdk-1.0.0a72/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +24 -0
  6. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/actions/upload.py +12 -1
  7. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/models.py +4 -1
  8. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/converters/__init__.py +6 -5
  9. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/converters/coco/from_dm.py +3 -3
  10. synapse_sdk-1.0.0a72/synapse_sdk/utils/converters/yolo/from_dm.py +296 -0
  11. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/PKG-INFO +1 -1
  12. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/SOURCES.txt +3 -0
  13. synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/__init__.py +0 -0
  14. synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/data_types/image/categorized/test/json/dm_3.json +19 -0
  15. synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_1.json +19 -0
  16. synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_2.json +30 -0
  17. synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_3.json +41 -0
  18. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/test_coco_from_dm.py +6 -6
  19. synapse_sdk-1.0.0a72/tests/utils/converters/test_yolo_from_dm.py +105 -0
  20. synapse_sdk-1.0.0a70/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -8
  21. synapse_sdk-1.0.0a70/tests/utils/converters/fixtures/data_types/image/categorized/test/json/dm_1.json +0 -17
  22. synapse_sdk-1.0.0a70/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_1.json +0 -39
  23. synapse_sdk-1.0.0a70/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_2.json +0 -221
  24. synapse_sdk-1.0.0a70/tests/utils/converters/fixtures/data_types/image/not_categorized/json/dm_3.json +0 -231
  25. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/.coverage +0 -0
  26. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/.github/workflows/lint.yml +0 -0
  27. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/.github/workflows/pypi-publish.yml +0 -0
  28. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/.gitignore +0 -0
  29. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/.pre-commit-config.yaml +0 -0
  30. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/LICENSE +0 -0
  31. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/README.md +0 -0
  32. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/clients/agent.md +0 -0
  33. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/clients/backend.md +0 -0
  34. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/clients/base.md +0 -0
  35. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/index.md +0 -0
  36. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/plugins/categories.md +0 -0
  37. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/plugins/models.md +0 -0
  38. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/plugins/utils.md +0 -0
  39. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/utils/file.md +0 -0
  40. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/utils/storage.md +0 -0
  41. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/api/utils/types.md +0 -0
  42. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/categories.md +0 -0
  43. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/changelog.md +0 -0
  44. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/concepts/index.md +0 -0
  45. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/configuration.md +0 -0
  46. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/contributing.md +0 -0
  47. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/examples/index.md +0 -0
  48. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/faq.md +0 -0
  49. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/i18n/ko/code.json +0 -0
  50. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
  51. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
  52. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
  53. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
  54. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/installation.md +0 -0
  55. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/introduction.md +0 -0
  56. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/quickstart.md +0 -0
  57. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/troubleshooting.md +0 -0
  58. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/_category_.json +0 -0
  59. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/congratulations.md +0 -0
  60. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/create-a-blog-post.md +0 -0
  61. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/create-a-document.md +0 -0
  62. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/create-a-page.md +0 -0
  63. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/deploy-your-site.md +0 -0
  64. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-basics/markdown-features.mdx +0 -0
  65. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-extras/_category_.json +0 -0
  66. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  67. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-extras/img/localeDropdown.png +0 -0
  68. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-extras/manage-docs-versions.md +0 -0
  69. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/docs/tutorial-extras/translate-your-site.md +0 -0
  70. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/locale/en/LC_MESSAGES/messages.mo +0 -0
  71. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/locale/en/LC_MESSAGES/messages.po +0 -0
  72. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  73. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/locale/ko/LC_MESSAGES/messages.po +0 -0
  74. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/pyproject.toml +0 -0
  75. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/requirements.test.txt +0 -0
  76. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/requirements.txt +0 -0
  77. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/setup.cfg +0 -0
  78. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/__init__.py +0 -0
  79. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/__init__.py +0 -0
  80. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/__init__.py +0 -0
  81. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/create.py +0 -0
  82. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/dataclass.py +0 -0
  83. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/default.py +0 -0
  84. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/delete.py +0 -0
  85. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/list.py +0 -0
  86. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/read.py +0 -0
  87. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/update.py +0 -0
  88. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/alias/utils.py +0 -0
  89. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/config.py +0 -0
  90. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/devtools.py +0 -0
  91. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/plugin/__init__.py +0 -0
  92. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/plugin/create.py +0 -0
  93. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/plugin/publish.py +0 -0
  94. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/cli/plugin/run.py +0 -0
  95. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/__init__.py +0 -0
  96. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/agent/__init__.py +0 -0
  97. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/agent/core.py +0 -0
  98. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/agent/ray.py +0 -0
  99. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/agent/service.py +0 -0
  100. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/__init__.py +0 -0
  101. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/annotation.py +0 -0
  102. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/core.py +0 -0
  103. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/data_collection.py +0 -0
  104. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/hitl.py +0 -0
  105. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/integration.py +0 -0
  106. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/ml.py +0 -0
  107. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/backend/models.py +0 -0
  108. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/base.py +0 -0
  109. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/exceptions.py +0 -0
  110. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/ray/__init__.py +0 -0
  111. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/ray/core.py +0 -0
  112. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/ray/serve.py +0 -0
  113. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/utils.py +0 -0
  114. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/validators/__init__.py +0 -0
  115. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/clients/validators/collections.py +0 -0
  116. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/__init__.py +0 -0
  117. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/config.py +0 -0
  118. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/.gitignore +0 -0
  119. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/README.md +0 -0
  120. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
  121. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
  122. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
  123. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  124. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
  125. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
  126. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
  127. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
  128. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/package-lock.json +0 -0
  129. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/package.json +0 -0
  130. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/sidebars.ts +0 -0
  131. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
  132. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
  133. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
  134. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
  135. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
  136. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
  137. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  138. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  139. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  140. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  141. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  142. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
  143. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
  144. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
  145. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
  146. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/models.py +0 -0
  147. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/server.py +0 -0
  148. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/utils.py +0 -0
  149. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/.gitignore +0 -0
  150. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/README.md +0 -0
  151. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/dist/index.html +0 -0
  152. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/index.html +0 -0
  153. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/jsconfig.json +0 -0
  154. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/package-lock.json +0 -0
  155. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/package.json +0 -0
  156. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/pnpm-lock.yaml +0 -0
  157. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/App.jsx +0 -0
  158. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/App.module.css +0 -0
  159. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/assets/favicon.ico +0 -0
  160. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/Breadcrumbs.jsx +0 -0
  161. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/Layout.jsx +0 -0
  162. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/LogViewer.jsx +0 -0
  163. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/MessageViewer.jsx +0 -0
  164. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/NavigationSidebar.jsx +0 -0
  165. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/ServerStatusBar.jsx +0 -0
  166. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/components/icons.jsx +0 -0
  167. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/index.css +0 -0
  168. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/index.jsx +0 -0
  169. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/logo.svg +0 -0
  170. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/router.jsx +0 -0
  171. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/utils/api.js +0 -0
  172. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/views/ApplicationDetailView.jsx +0 -0
  173. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/views/ApplicationsView.jsx +0 -0
  174. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/views/HomeView.jsx +0 -0
  175. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/views/JobDetailView.jsx +0 -0
  176. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/src/views/PluginView.jsx +0 -0
  177. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/devtools/web/vite.config.js +0 -0
  178. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/i18n.py +0 -0
  179. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/__init__.py +0 -0
  180. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/__init__.py +0 -0
  181. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/base.py +0 -0
  182. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  183. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  184. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  185. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  186. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  187. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  188. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/decorators.py +0 -0
  189. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  190. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  191. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/enums.py +0 -0
  192. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  193. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  194. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
  195. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  196. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  197. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  198. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
  199. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  200. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  201. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  202. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
  203. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  204. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  205. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  206. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  207. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  208. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  209. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  210. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  211. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  212. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  213. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  214. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  215. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  216. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  217. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  218. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  219. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  220. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  221. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  222. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/registry.py +0 -0
  223. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  224. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  225. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  226. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  227. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  228. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  229. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/templates.py +0 -0
  230. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  231. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  232. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
  233. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  234. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  235. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/enums.py +0 -0
  236. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/exceptions.py +0 -0
  237. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  238. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  239. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  240. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
  241. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/schema.json +0 -0
  242. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  243. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  244. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  245. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  246. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  247. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  248. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  249. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/upload.py +0 -0
  250. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/plugins/utils.py +0 -0
  251. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/shared/__init__.py +0 -0
  252. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/shared/enums.py +0 -0
  253. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/types.py +0 -0
  254. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/__init__.py +0 -0
  255. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
  256. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
  257. {synapse_sdk-1.0.0a70/synapse_sdk/utils/pydantic → synapse_sdk-1.0.0a72/synapse_sdk/utils/converters/yolo}/__init__.py +0 -0
  258. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/dataset.py +0 -0
  259. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/debug.py +0 -0
  260. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/file.py +0 -0
  261. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/http.py +0 -0
  262. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/module_loading.py +0 -0
  263. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/network.py +0 -0
  264. {synapse_sdk-1.0.0a70/tests → synapse_sdk-1.0.0a72/synapse_sdk/utils/pydantic}/__init__.py +0 -0
  265. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/pydantic/config.py +0 -0
  266. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/pydantic/errors.py +0 -0
  267. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/pydantic/validators.py +0 -0
  268. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/__init__.py +0 -0
  269. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
  270. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  271. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/providers/http.py +0 -0
  272. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/providers/s3.py +0 -0
  273. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
  274. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/storage/registry.py +0 -0
  275. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk/utils/string.py +0 -0
  276. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  277. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/entry_points.txt +0 -0
  278. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/requires.txt +0 -0
  279. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/synapse_sdk.egg-info/top_level.txt +0 -0
  280. {synapse_sdk-1.0.0a70/tests/clients → synapse_sdk-1.0.0a72/tests}/__init__.py +0 -0
  281. {synapse_sdk-1.0.0a70/tests/loggers → synapse_sdk-1.0.0a72/tests/clients}/__init__.py +0 -0
  282. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/clients/test_backend_models.py +0 -0
  283. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/clients/test_base_client.py +0 -0
  284. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/clients/test_collection_validators.py +0 -0
  285. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/conftest.py +0 -0
  286. {synapse_sdk-1.0.0a70/tests/utils/converters → synapse_sdk-1.0.0a72/tests/loggers}/__init__.py +0 -0
  287. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/loggers/test_base_logger.py +0 -0
  288. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/test_cli.py +0 -0
  289. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/test_cli_integration.py +0 -0
  290. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/__init__,py +0 -0
  291. {synapse_sdk-1.0.0a70/tests/utils/converters/fixtures → synapse_sdk-1.0.0a72/tests/utils/converters}/__init__.py +0 -0
  292. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/conftest.py +0 -0
  293. /synapse_sdk-1.0.0a70/tests/utils/converters/fixtures/data_types/image/categorized/test/json/dm_3.json → /synapse_sdk-1.0.0a72/tests/utils/converters/fixtures/data_types/image/categorized/test/json/dm_1.json +0 -0
  294. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/test/json/dm_2.json +0 -0
  295. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/test/original_files/dm_1.jpg +0 -0
  296. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/test/original_files/dm_2.jpg +0 -0
  297. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/test/original_files/dm_3.jpg +0 -0
  298. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/json/dm_4.json +0 -0
  299. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/json/dm_5.json +0 -0
  300. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/json/dm_6.json +0 -0
  301. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/json/dm_7.json +0 -0
  302. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/original_files/dm_4.jpg +0 -0
  303. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/original_files/dm_5.jpg +0 -0
  304. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/original_files/dm_6.jpg +0 -0
  305. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/train/original_files/dm_7.jpg +0 -0
  306. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/valid/json/dm_8.json +0 -0
  307. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/valid/json/dm_9.json +0 -0
  308. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/valid/original_files/dm_8.jpg +0 -0
  309. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/categorized/valid/original_files/dm_9.jpg +0 -0
  310. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/not_categorized/original_files/dm_1.jpg +0 -0
  311. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/not_categorized/original_files/dm_2.jpg +0 -0
  312. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/data_types/image/not_categorized/original_files/dm_3.jpg +0 -0
  313. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/converters/fixtures/dm_schema.py +0 -0
  314. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/storage/test_provider_selection.py +0 -0
  315. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/tests/utils/test_debug.py +0 -0
  316. {synapse_sdk-1.0.0a70 → synapse_sdk-1.0.0a72}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a70
3
+ Version: 1.0.0a72
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -110,7 +110,7 @@ class BaseLogger:
110
110
  if 'categories' not in self.metrics_record:
111
111
  self.metrics_record['categories'] = {}
112
112
 
113
- self.metrics_record['categories'][category] = value
113
+ self.metrics_record['categories'].setdefault(category, {}).update(value)
114
114
 
115
115
  def log(self, action, data, file=None):
116
116
  raise NotImplementedError
@@ -280,7 +280,18 @@ class ExportAction(Action):
280
280
  'proportion': 100,
281
281
  }
282
282
  }
283
- metrics_categories = {'data_file', 'original_file'}
283
+ metrics_categories = {
284
+ 'data_file': {
285
+ 'stand_by': 0,
286
+ 'failed': 0,
287
+ 'success': 0,
288
+ },
289
+ 'original_file': {
290
+ 'stand_by': 0,
291
+ 'failed': 0,
292
+ 'success': 0,
293
+ },
294
+ }
284
295
 
285
296
  def get_filtered_results(self, filters, handler):
286
297
  """Get filtered target results."""
@@ -67,9 +67,11 @@ class ToTaskParams(BaseModel):
67
67
  name (str): The name of the action.
68
68
  description (str | None): The description of the action.
69
69
  project (int): The project ID.
70
+ agent (int): The agent ID.
70
71
  task_filters (dict): The filters of tasks.
71
72
  method (AnnotationMethod): The method of annotation.
72
73
  target_specification_name (str | None): The name of the target specification.
74
+ model (int): The model ID.
73
75
  pre_processor (int | None): The pre processor ID.
74
76
  pre_processor_params (dict): The params of the pre processor.
75
77
  """
@@ -77,9 +79,11 @@ class ToTaskParams(BaseModel):
77
79
  name: Annotated[str, AfterValidator(non_blank)]
78
80
  description: Optional[str] = None
79
81
  project: int
82
+ agent: int
80
83
  task_filters: Dict[str, Any]
81
84
  method: Optional[AnnotationMethod] = None
82
85
  target_specification_name: Optional[str] = None
86
+ model: Optional[int] = None
83
87
  pre_processor: Optional[int] = None
84
88
  pre_processor_params: Dict[str, Any]
85
89
 
@@ -142,7 +146,13 @@ class ToTaskAction(Action):
142
146
  'proportion': 100,
143
147
  },
144
148
  }
145
- metrics_categories = {'annotate_task_data'}
149
+ metrics_categories = {
150
+ 'annotate_task_data': {
151
+ 'stand_by': 0,
152
+ 'failed': 0,
153
+ 'success': 0,
154
+ }
155
+ }
146
156
 
147
157
  def start(self):
148
158
  """Start to_task action.
@@ -256,7 +266,9 @@ class ToTaskAction(Action):
256
266
  # Process each task
257
267
  for task_id in task_ids:
258
268
  try:
259
- result = self._process_single_task(client, task_id, task_params, target_specification_name)
269
+ result = self._process_single_task(
270
+ client, task_id, task_params, target_specification_name, AnnotationMethod.FILE
271
+ )
260
272
  if result['success']:
261
273
  success_count += 1
262
274
  else:
@@ -279,7 +291,12 @@ class ToTaskAction(Action):
279
291
  self.run.log_message(f'Annotation completed. Success: {success_count}, Failed: {failed_count}')
280
292
 
281
293
  def _process_single_task(
282
- self, client: BackendClient, task_id: int, task_params: Dict[str, Any], target_specification_name: str
294
+ self,
295
+ client: BackendClient,
296
+ task_id: int,
297
+ task_params: Dict[str, Any],
298
+ target_specification_name: Optional[str],
299
+ method: AnnotationMethod,
283
300
  ) -> Dict[str, Any]:
284
301
  """Process a single task for annotation.
285
302
 
@@ -287,7 +304,8 @@ class ToTaskAction(Action):
287
304
  client (BackendClient): The backend client instance.
288
305
  task_id (int): The task ID to process.
289
306
  task_params (Dict[str, Any]): Parameters for getting task data.
290
- target_specification_name (str): The name of the target specification.
307
+ target_specification_name (Optional[str]): The name of the target specification.
308
+ method (AnnotationMethod): The annotation method to use.
291
309
 
292
310
  Returns:
293
311
  Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
@@ -308,6 +326,41 @@ class ToTaskAction(Action):
308
326
 
309
327
  task: Dict[str, Any] = task_response
310
328
 
329
+ if method == AnnotationMethod.FILE:
330
+ if not target_specification_name:
331
+ error_msg = 'Target specification name is required for file annotation method'
332
+ self.run.log_message(f'{error_msg} for task {task_id}')
333
+ self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
334
+ return {'success': False, 'error': error_msg}
335
+ return self._process_single_task_with_file(client, task_id, task, target_specification_name)
336
+ elif method == AnnotationMethod.INFERENCE:
337
+ return self._process_single_task_with_inference(client, task_id, task)
338
+ else:
339
+ error_msg = f'Unsupported annotation method: {method}'
340
+ self.run.log_message(f'{error_msg} for task {task_id}')
341
+ self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
342
+ return {'success': False, 'error': error_msg}
343
+
344
+ def _process_single_task_with_file(
345
+ self, client: BackendClient, task_id: int, task: Dict[str, Any], target_specification_name: str
346
+ ) -> Dict[str, Any]:
347
+ """Process a single task for file-based annotation.
348
+
349
+ Args:
350
+ client (BackendClient): The backend client instance.
351
+ task_id (int): The task ID to process.
352
+ task (Dict[str, Any]): The task data.
353
+ target_specification_name (str): The name of the target specification.
354
+
355
+ Returns:
356
+ Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
357
+ """
358
+ if not self.run:
359
+ raise ValueError('Run instance not properly initialized')
360
+
361
+ # Type assertion to help the linter
362
+ assert isinstance(self.run, ToTaskRun)
363
+
311
364
  # Extract data file information
312
365
  data_unit = task.get('data_unit', {})
313
366
  files = data_unit.get('files', {})
@@ -332,8 +385,12 @@ class ToTaskAction(Action):
332
385
  response.raise_for_status()
333
386
  data = json.loads(response.content)
334
387
 
388
+ # Convert data to task object
389
+ annotation_to_task = self.entrypoint(self.run)
390
+ converted_data = annotation_to_task.convert_data_from_file(data)
391
+
335
392
  # Submit annotation data
336
- client.annotate_task_data(task_id, data={'action': 'submit', 'data': data})
393
+ client.annotate_task_data(task_id, data={'action': 'submit', 'data': converted_data})
337
394
 
338
395
  # Log success
339
396
  self.run.log_annotate_task_data({'task_id': task_id, 'url': url}, AnnotateTaskDataStatus.SUCCESS)
@@ -350,6 +407,84 @@ class ToTaskAction(Action):
350
407
  self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
351
408
  return {'success': False, 'error': error_msg}
352
409
 
410
+ def _process_single_task_with_inference(
411
+ self, client: BackendClient, task_id: int, task: Dict[str, Any]
412
+ ) -> Dict[str, Any]:
413
+ """Process a single task for inference-based annotation.
414
+
415
+ Args:
416
+ client (BackendClient): The backend client instance.
417
+ task_id (int): The task ID to process.
418
+ task (Dict[str, Any]): The task data.
419
+
420
+ Returns:
421
+ Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
422
+ """
423
+ if not self.run or not self.params:
424
+ raise ValueError('Run instance or parameters not properly initialized')
425
+
426
+ # Type assertion to help the linter
427
+ assert isinstance(self.run, ToTaskRun)
428
+
429
+ try:
430
+ # Get pre-processor information
431
+ pre_processor_id = self.params.get('pre_processor')
432
+
433
+ if not pre_processor_id:
434
+ error_msg = 'Pre-processor ID is required for inference annotation method'
435
+ self.run.log_message(f'{error_msg} for task {task_id}')
436
+ self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
437
+ return {'success': False, 'error': error_msg}
438
+
439
+ # Call inference pre processor if specified.
440
+ pre_processor = client.get_plugin_release(pre_processor_id)
441
+ pre_processor_code = pre_processor['config']['code']
442
+ pre_processor_version = pre_processor['version']
443
+
444
+ # Extract task data for inference
445
+ data_unit = task.get('data_unit', {})
446
+ files = data_unit.get('files', {})
447
+
448
+ # Find primary image URL from files
449
+ primary_file_url = ''
450
+ for file_info in files.values():
451
+ if file_info.get('is_primary') and file_info.get('url'):
452
+ primary_file_url = file_info['url']
453
+ break
454
+
455
+ pre_processor_params = self.params.get('pre_processor_params', {})
456
+ pre_processor_params['image_path'] = primary_file_url
457
+ inference_payload = {
458
+ 'agent': 1,
459
+ 'action': 'inference',
460
+ 'version': pre_processor_version,
461
+ 'params': {
462
+ 'model': self.params.get('model'),
463
+ 'method': 'post',
464
+ 'json': pre_processor_params,
465
+ },
466
+ }
467
+ inference_data = client.run_plugin(pre_processor_code, inference_payload)
468
+
469
+ # Convert data to task object
470
+ annotation_to_task = self.entrypoint(self.run)
471
+ converted_result = annotation_to_task.convert_data_from_inference(inference_data)
472
+
473
+ # Submit inference annotation data
474
+ client.annotate_task_data(task_id, data={'action': 'submit', 'data': converted_result})
475
+
476
+ # Log success
477
+ self.run.log_annotate_task_data(
478
+ {'task_id': task_id, 'pre_processor_id': pre_processor_id}, AnnotateTaskDataStatus.SUCCESS
479
+ )
480
+ return {'success': True}
481
+
482
+ except Exception as e:
483
+ error_msg = f'Failed to process inference for task {task_id}: {str(e)}'
484
+ self.run.log_message(error_msg)
485
+ self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
486
+ return {'success': False, 'error': error_msg}
487
+
353
488
  def _update_metrics(self, total_tasks: int, success_count: int, failed_count: int):
354
489
  """Update metrics for task annotation progress.
355
490
 
@@ -375,8 +510,53 @@ class ToTaskAction(Action):
375
510
  Args:
376
511
  task_ids (List[int]): List of task IDs to annotate data to.
377
512
  """
378
- if not self.run:
379
- raise ValueError('Run instance not properly initialized')
513
+ if not self.run or not self.params:
514
+ raise ValueError('Run instance or parameters not properly initialized')
380
515
 
381
- self.run.log_message('Pre annotation with inference is not supported.')
382
- self.run.end_log()
516
+ if not self.params.get('model'):
517
+ raise ValueError('Model is required for inference annotation method')
518
+
519
+ # Type assertion to help the linter
520
+ assert isinstance(self.run, ToTaskRun)
521
+ assert isinstance(self.run.client, BackendClient)
522
+
523
+ client: BackendClient = self.run.client
524
+ task_params = {
525
+ 'fields': 'id,data,data_unit',
526
+ 'expand': 'data_unit',
527
+ }
528
+
529
+ total_tasks = len(task_ids)
530
+ success_count = 0
531
+ failed_count = 0
532
+ current_progress = 0
533
+
534
+ # Initialize metrics and progress
535
+ self._update_metrics(total_tasks, success_count, failed_count)
536
+ self.run.set_progress(0, total_tasks, category='annotate_task_data')
537
+ self.run.log_message('Annotating data to tasks using inference...')
538
+
539
+ # Process each task
540
+ for task_id in task_ids:
541
+ try:
542
+ result = self._process_single_task(client, task_id, task_params, None, AnnotationMethod.INFERENCE)
543
+ if result['success']:
544
+ success_count += 1
545
+ else:
546
+ failed_count += 1
547
+
548
+ current_progress += 1
549
+ self._update_metrics(total_tasks, success_count, failed_count)
550
+ self.run.set_progress(current_progress, total_tasks, category='annotate_task_data')
551
+
552
+ except Exception as e:
553
+ self.run.log_message(f'Failed to process task {task_id}: {str(e)}')
554
+ self.run.log_annotate_task_data({'task_id': task_id, 'error': str(e)}, AnnotateTaskDataStatus.FAILED)
555
+ failed_count += 1
556
+ current_progress += 1
557
+ self._update_metrics(total_tasks, success_count, failed_count)
558
+ self.run.set_progress(current_progress, total_tasks, category='annotate_task_data')
559
+
560
+ # Finalize progress
561
+ self.run.set_progress(total_tasks, total_tasks, category='annotate_task_data')
562
+ self.run.log_message(f'Inference annotation completed. Success: {success_count}, Failed: {failed_count}')
@@ -0,0 +1,24 @@
1
+ class AnnotationToTask:
2
+ def __init__(self, run, *args, **kwargs):
3
+ """Initialize the plugin task pre annotation action class.
4
+
5
+ Args:
6
+ run: Plugin run object.
7
+ """
8
+ self.run = run
9
+
10
+ def convert_data_from_file(self, data: dict):
11
+ """Convert the data from a file to a task object.
12
+
13
+ Args:
14
+ data: Converted data.
15
+ """
16
+ return data
17
+
18
+ def convert_data_from_inference(self, data: dict):
19
+ """Convert the data from inference result to a task object.
20
+
21
+ Args:
22
+ data: Converted data.
23
+ """
24
+ return data
@@ -203,7 +203,18 @@ class UploadAction(Action):
203
203
  'proportion': 40,
204
204
  },
205
205
  }
206
- metrics_categories = {'data_file', 'data_unit'}
206
+ metrics_categories = {
207
+ 'data_file': {
208
+ 'stand_by': 0,
209
+ 'failed': 0,
210
+ 'success': 0,
211
+ },
212
+ 'data_unit': {
213
+ 'stand_by': 0,
214
+ 'failed': 0,
215
+ 'success': 0,
216
+ },
217
+ }
207
218
 
208
219
  def get_uploader(self, path, file_specification, organized_files):
209
220
  """Get uploader from entrypoint."""
@@ -128,7 +128,10 @@ class Run:
128
128
  self.set_logger()
129
129
 
130
130
  def set_logger(self):
131
- kwargs = {'progress_categories': self.context['progress_categories']}
131
+ kwargs = {
132
+ 'progress_categories': self.context['progress_categories'],
133
+ 'metrics_categories': self.context['metrics_categories'],
134
+ }
132
135
 
133
136
  if self.job_id:
134
137
  self.logger = BackendLogger(self.client, self.job_id, **kwargs)
@@ -48,7 +48,7 @@ class BaseConverter:
48
48
  else:
49
49
  required_dirs = {
50
50
  'json': os.path.join(self.root_dir, 'json'),
51
- 'original_file': os.path.join(self.root_dir, 'original_file'),
51
+ 'original_files': os.path.join(self.root_dir, 'original_files'),
52
52
  }
53
53
  self._validate_required_dirs(required_dirs)
54
54
  splits['root'] = self.root_dir
@@ -60,10 +60,10 @@ class BaseConverter:
60
60
  if split:
61
61
  split_dir = os.path.join(self.root_dir, split)
62
62
  self.json_dir = os.path.join(split_dir, 'json')
63
- self.original_file_dir = os.path.join(split_dir, 'original_file')
63
+ self.original_file_dir = os.path.join(split_dir, 'original_files')
64
64
  else:
65
65
  self.json_dir = os.path.join(self.root_dir, 'json')
66
- self.original_file_dir = os.path.join(self.root_dir, 'original_file')
66
+ self.original_file_dir = os.path.join(self.root_dir, 'original_files')
67
67
 
68
68
 
69
69
  class FromDMConverter(BaseConverter):
@@ -185,7 +185,7 @@ class ToDMConverter(BaseConverter):
185
185
  for split, img_dict in self.converted_data.items():
186
186
  split_dir = os.path.join(output_dir, split)
187
187
  json_dir = os.path.join(split_dir, 'json')
188
- original_file_dir = os.path.join(split_dir, 'original_file')
188
+ original_file_dir = os.path.join(split_dir, 'original_files')
189
189
  self.ensure_dir(json_dir)
190
190
  self.ensure_dir(original_file_dir)
191
191
  for img_filename, (dm_json, img_src_path) in img_dict.items():
@@ -196,7 +196,7 @@ class ToDMConverter(BaseConverter):
196
196
  shutil.copy(img_src_path, os.path.join(original_file_dir, img_filename))
197
197
  else:
198
198
  json_dir = os.path.join(output_dir, 'json')
199
- original_file_dir = os.path.join(output_dir, 'original_file')
199
+ original_file_dir = os.path.join(output_dir, 'original_files')
200
200
  self.ensure_dir(json_dir)
201
201
  self.ensure_dir(original_file_dir)
202
202
  for img_filename, (dm_json, img_src_path) in self.converted_data.items():
@@ -205,4 +205,5 @@ class ToDMConverter(BaseConverter):
205
205
  json.dump(dm_json, jf, indent=2, ensure_ascii=False)
206
206
  if img_src_path and os.path.exists(img_src_path):
207
207
  shutil.copy(img_src_path, os.path.join(original_file_dir, img_filename))
208
+
208
209
  print(f'[DM] Data exported to {output_dir}')
@@ -11,7 +11,7 @@ from tqdm import tqdm
11
11
  from synapse_sdk.utils.converters import FromDMConverter
12
12
 
13
13
 
14
- class DMToCOCOConverter(FromDMConverter):
14
+ class FromDMToCOCOConverter(FromDMConverter):
15
15
  """Convert DM (Data Manager) format annotations to COCO format.
16
16
  Designed for easy future extensibility to handle various data types.
17
17
  """
@@ -242,11 +242,11 @@ class DMToCOCOConverter(FromDMConverter):
242
242
  for split, coco_data in self.converted_data.items():
243
243
  split_output_dir = os.path.join(output_dir, split)
244
244
  self._save_annotations_and_images(
245
- coco_data, split_output_dir, os.path.join(self.root_dir, split, 'original_file')
245
+ coco_data, split_output_dir, os.path.join(self.root_dir, split, 'original_files')
246
246
  )
247
247
  else:
248
248
  self._save_annotations_and_images(
249
- self.converted_data, output_dir, os.path.join(self.root_dir, 'original_file')
249
+ self.converted_data, output_dir, os.path.join(self.root_dir, 'original_files')
250
250
  )
251
251
 
252
252
  def _save_annotations_and_images(self, coco_data, output_dir, original_file_dir):