synapse-sdk 1.0.0a73__tar.gz → 1.0.0a75__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 (412) hide show
  1. synapse_sdk-1.0.0a75/.github/workflows/test.yml +35 -0
  2. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/.gitignore +10 -1
  3. synapse_sdk-1.0.0a75/Makefile +54 -0
  4. synapse_sdk-1.0.0a75/PKG-INFO +72 -0
  5. synapse_sdk-1.0.0a75/README.md +25 -0
  6. synapse_sdk-1.0.0a75/docs/features/converters/index.md +402 -0
  7. synapse_sdk-1.0.0a75/docs/features/index.md +16 -0
  8. synapse_sdk-1.0.0a75/pyproject.toml +131 -0
  9. synapse_sdk-1.0.0a75/pytest-ci.ini +65 -0
  10. synapse_sdk-1.0.0a75/pytest.ini +70 -0
  11. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/requirements.txt +1 -0
  12. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/annotation.py +0 -4
  13. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/models.py +2 -0
  14. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/sidebars.ts +8 -0
  15. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +208 -32
  16. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +3 -0
  17. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/shared/enums.py +1 -0
  18. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/converters/__init__.py +3 -1
  19. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/dm/__init__.py +109 -0
  20. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/dm/from_v1.py +415 -0
  21. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/dm/to_v1.py +254 -0
  22. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/pascal/from_dm.py +177 -0
  23. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/pascal/to_dm.py +135 -0
  24. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/converters/yolo/from_dm.py +24 -18
  25. synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/yolo/to_dm.py +185 -0
  26. synapse_sdk-1.0.0a75/synapse_sdk.egg-info/PKG-INFO +72 -0
  27. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk.egg-info/SOURCES.txt +119 -24
  28. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk.egg-info/requires.txt +15 -0
  29. synapse_sdk-1.0.0a75/tests/README.md +294 -0
  30. synapse_sdk-1.0.0a75/tests/clients/conftest.py +113 -0
  31. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/clients/test_backend_models.py +65 -9
  32. synapse_sdk-1.0.0a75/tests/loggers/conftest.py +104 -0
  33. synapse_sdk-1.0.0a75/tests/plugins/conftest.py +129 -0
  34. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/test_cli.py +2 -2
  35. synapse_sdk-1.0.0a75/tests/utils/converters/conftest.py +102 -0
  36. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/__init__.py +0 -0
  37. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/coco.py +35 -0
  38. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/annotations.json +309 -0
  39. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data8.jpg +0 -0
  40. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data9.jpg +0 -0
  41. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/annotations.json +428 -0
  42. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data4.jpg +0 -0
  43. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data5.jpg +0 -0
  44. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data6.jpg +0 -0
  45. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/annotations.json +82 -0
  46. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/new_dm_data7.jpg +0 -0
  47. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/annotations.json +133 -0
  48. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data1.jpg +0 -0
  49. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data2.jpg +0 -0
  50. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data3.jpg +0 -0
  51. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm/ver1/json/25669.json +164 -0
  52. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm/ver2/json/25669.json +109 -0
  53. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/classes.txt +4 -0
  54. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9139.xml +2 -0
  55. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9140.xml +2 -0
  56. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9141.xml +2 -0
  57. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9139.jpg +0 -0
  58. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9140.jpg +0 -0
  59. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9141.jpg +0 -0
  60. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9136.xml +2 -0
  61. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9137.xml +2 -0
  62. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9138.xml +2 -0
  63. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9136.jpg +0 -0
  64. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9137.jpg +0 -0
  65. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9138.jpg +0 -0
  66. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9125.xml +2 -0
  67. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9126.xml +2 -0
  68. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9127.xml +2 -0
  69. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9125.jpg +0 -0
  70. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9126.jpg +0 -0
  71. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9127.jpg +0 -0
  72. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9122.xml +2 -0
  73. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9123.xml +2 -0
  74. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9124.xml +2 -0
  75. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9122.jpg +0 -0
  76. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9123.jpg +0 -0
  77. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9124.jpg +0 -0
  78. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/classes.txt +4 -0
  79. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/dataset.yaml +7 -0
  80. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13744.jpg +0 -0
  81. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13745.jpg +0 -0
  82. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13746.jpg +0 -0
  83. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13744.txt +1 -0
  84. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13745.txt +2 -0
  85. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13746.txt +3 -0
  86. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/images/13782.jpg +0 -0
  87. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/labels/13782.txt +1 -0
  88. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13761.jpg +0 -0
  89. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13764.jpg +0 -0
  90. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13761.txt +5 -0
  91. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13764.txt +2 -0
  92. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/classes.txt +2 -0
  93. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/dataset.yaml +4 -0
  94. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25332.jpg +0 -0
  95. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25334.jpg +0 -0
  96. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25332.txt +1 -0
  97. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25334.txt +2 -0
  98. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/pcd/dm/ver1/json/23791.json +52 -0
  99. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/pcd/dm/ver2/json/23791.json +38 -0
  100. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/prompt/dm/ver1/json/18662.json +37 -0
  101. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/prompt/dm/ver2/json/18662.json +34 -0
  102. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/text/dm/ver1/json/23811.json +52 -0
  103. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/text/dm/ver2/json/23811.json +40 -0
  104. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/video/dm/ver1/json/23831.json +38 -0
  105. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/video/dm/ver2/json/23831.json +22 -0
  106. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/converters/fixtures/dm_schema.py +81 -5
  107. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/pascal.py +35 -0
  108. synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/yolo.py +42 -0
  109. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/converters/test_coco_from_dm.py +42 -40
  110. synapse_sdk-1.0.0a75/tests/utils/converters/test_coco_to_dm.py +50 -0
  111. synapse_sdk-1.0.0a75/tests/utils/converters/test_dm_v1_to_v2.py +424 -0
  112. synapse_sdk-1.0.0a75/tests/utils/converters/test_dm_v2_to_v1.py +549 -0
  113. synapse_sdk-1.0.0a75/tests/utils/converters/test_pascal_from_dm.py +114 -0
  114. synapse_sdk-1.0.0a75/tests/utils/converters/test_pascal_to_dm.py +40 -0
  115. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/converters/test_yolo_from_dm.py +25 -25
  116. synapse_sdk-1.0.0a75/tests/utils/converters/test_yolo_to_dm.py +39 -0
  117. synapse_sdk-1.0.0a75/tests/utils/storage/conftest.py +82 -0
  118. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/storage/test_provider_selection.py +80 -25
  119. synapse_sdk-1.0.0a75/uv.lock +3986 -0
  120. synapse_sdk-1.0.0a73/PKG-INFO +0 -37
  121. synapse_sdk-1.0.0a73/README.md +0 -3
  122. synapse_sdk-1.0.0a73/pyproject.toml +0 -71
  123. synapse_sdk-1.0.0a73/synapse_sdk.egg-info/PKG-INFO +0 -37
  124. synapse_sdk-1.0.0a73/tests/utils/converters/conftest.py +0 -44
  125. synapse_sdk-1.0.0a73/uv.lock +0 -3571
  126. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/.coverage +0 -0
  127. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/.github/workflows/lint.yml +0 -0
  128. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/.github/workflows/pypi-publish.yml +0 -0
  129. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/.pre-commit-config.yaml +0 -0
  130. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/LICENSE +0 -0
  131. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/clients/agent.md +0 -0
  132. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/clients/backend.md +0 -0
  133. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/clients/base.md +0 -0
  134. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/index.md +0 -0
  135. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/plugins/categories.md +0 -0
  136. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/plugins/models.md +0 -0
  137. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/plugins/utils.md +0 -0
  138. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/utils/file.md +0 -0
  139. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/utils/storage.md +0 -0
  140. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/api/utils/types.md +0 -0
  141. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/categories.md +0 -0
  142. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/changelog.md +0 -0
  143. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/concepts/index.md +0 -0
  144. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/configuration.md +0 -0
  145. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/contributing.md +0 -0
  146. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/examples/index.md +0 -0
  147. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/faq.md +0 -0
  148. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/i18n/ko/code.json +0 -0
  149. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
  150. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
  151. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
  152. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
  153. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/installation.md +0 -0
  154. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/introduction.md +0 -0
  155. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/quickstart.md +0 -0
  156. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/troubleshooting.md +0 -0
  157. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/_category_.json +0 -0
  158. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/congratulations.md +0 -0
  159. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/create-a-blog-post.md +0 -0
  160. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/create-a-document.md +0 -0
  161. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/create-a-page.md +0 -0
  162. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/deploy-your-site.md +0 -0
  163. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-basics/markdown-features.mdx +0 -0
  164. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-extras/_category_.json +0 -0
  165. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  166. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-extras/img/localeDropdown.png +0 -0
  167. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-extras/manage-docs-versions.md +0 -0
  168. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/docs/tutorial-extras/translate-your-site.md +0 -0
  169. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/locale/en/LC_MESSAGES/messages.mo +0 -0
  170. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/locale/en/LC_MESSAGES/messages.po +0 -0
  171. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  172. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/locale/ko/LC_MESSAGES/messages.po +0 -0
  173. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/requirements.test.txt +0 -0
  174. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/setup.cfg +0 -0
  175. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/__init__.py +0 -0
  176. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/__init__.py +0 -0
  177. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/__init__.py +0 -0
  178. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/create.py +0 -0
  179. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/dataclass.py +0 -0
  180. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/default.py +0 -0
  181. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/delete.py +0 -0
  182. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/list.py +0 -0
  183. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/read.py +0 -0
  184. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/update.py +0 -0
  185. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/alias/utils.py +0 -0
  186. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/config.py +0 -0
  187. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/devtools.py +0 -0
  188. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/plugin/__init__.py +0 -0
  189. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/plugin/create.py +0 -0
  190. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/plugin/publish.py +0 -0
  191. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/cli/plugin/run.py +0 -0
  192. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/__init__.py +0 -0
  193. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/agent/__init__.py +0 -0
  194. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/agent/core.py +0 -0
  195. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/agent/ray.py +0 -0
  196. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/agent/service.py +0 -0
  197. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/__init__.py +0 -0
  198. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/core.py +0 -0
  199. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/data_collection.py +0 -0
  200. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/hitl.py +0 -0
  201. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/integration.py +0 -0
  202. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/backend/ml.py +0 -0
  203. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/base.py +0 -0
  204. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/exceptions.py +0 -0
  205. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/ray/__init__.py +0 -0
  206. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/ray/core.py +0 -0
  207. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/ray/serve.py +0 -0
  208. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/utils.py +0 -0
  209. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/validators/__init__.py +0 -0
  210. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/clients/validators/collections.py +0 -0
  211. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/__init__.py +0 -0
  212. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/config.py +0 -0
  213. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/.gitignore +0 -0
  214. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/README.md +0 -0
  215. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
  216. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
  217. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
  218. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  219. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
  220. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
  221. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
  222. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
  223. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/package-lock.json +0 -0
  224. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/package.json +0 -0
  225. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
  226. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
  227. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
  228. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
  229. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
  230. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
  231. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  232. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  233. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  234. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  235. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  236. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
  237. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
  238. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
  239. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
  240. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/models.py +0 -0
  241. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/server.py +0 -0
  242. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/utils.py +0 -0
  243. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/.gitignore +0 -0
  244. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/README.md +0 -0
  245. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/dist/index.html +0 -0
  246. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/index.html +0 -0
  247. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/jsconfig.json +0 -0
  248. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/package-lock.json +0 -0
  249. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/package.json +0 -0
  250. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/pnpm-lock.yaml +0 -0
  251. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/App.jsx +0 -0
  252. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/App.module.css +0 -0
  253. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/assets/favicon.ico +0 -0
  254. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/Breadcrumbs.jsx +0 -0
  255. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/Layout.jsx +0 -0
  256. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/LogViewer.jsx +0 -0
  257. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/MessageViewer.jsx +0 -0
  258. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/NavigationSidebar.jsx +0 -0
  259. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/ServerStatusBar.jsx +0 -0
  260. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/components/icons.jsx +0 -0
  261. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/index.css +0 -0
  262. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/index.jsx +0 -0
  263. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/logo.svg +0 -0
  264. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/router.jsx +0 -0
  265. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/utils/api.js +0 -0
  266. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/views/ApplicationDetailView.jsx +0 -0
  267. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/views/ApplicationsView.jsx +0 -0
  268. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/views/HomeView.jsx +0 -0
  269. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/views/JobDetailView.jsx +0 -0
  270. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/src/views/PluginView.jsx +0 -0
  271. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/devtools/web/vite.config.js +0 -0
  272. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/i18n.py +0 -0
  273. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/loggers.py +0 -0
  274. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/__init__.py +0 -0
  275. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/__init__.py +0 -0
  276. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/base.py +0 -0
  277. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  278. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  279. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  280. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  281. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  282. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  283. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/decorators.py +0 -0
  284. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  285. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  286. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  287. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/enums.py +0 -0
  288. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  289. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  290. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
  291. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  292. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  293. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  294. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
  295. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  296. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  297. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  298. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
  299. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  300. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  301. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  302. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  303. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  304. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  305. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  306. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  307. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  308. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  309. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  310. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  311. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  312. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  313. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  314. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  315. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  316. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  317. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -0
  318. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/registry.py +0 -0
  319. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  320. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  321. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  322. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  323. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  324. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  325. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/templates.py +0 -0
  326. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  327. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  328. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
  329. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
  330. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  331. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  332. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/enums.py +0 -0
  333. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/exceptions.py +0 -0
  334. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/models.py +0 -0
  335. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  336. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  337. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  338. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
  339. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/schema.json +0 -0
  340. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  341. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  342. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  343. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  344. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  345. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  346. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  347. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/upload.py +0 -0
  348. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/plugins/utils.py +0 -0
  349. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/shared/__init__.py +0 -0
  350. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/types.py +0 -0
  351. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/__init__.py +0 -0
  352. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
  353. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/converters/coco/from_dm.py +0 -0
  354. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
  355. {synapse_sdk-1.0.0a73/synapse_sdk/utils/converters/yolo → synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/pascal}/__init__.py +0 -0
  356. {synapse_sdk-1.0.0a73/synapse_sdk/utils/pydantic → synapse_sdk-1.0.0a75/synapse_sdk/utils/converters/yolo}/__init__.py +0 -0
  357. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/dataset.py +0 -0
  358. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/debug.py +0 -0
  359. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/file.py +0 -0
  360. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/http.py +0 -0
  361. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/module_loading.py +0 -0
  362. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/network.py +0 -0
  363. {synapse_sdk-1.0.0a73/tests → synapse_sdk-1.0.0a75/synapse_sdk/utils/pydantic}/__init__.py +0 -0
  364. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/pydantic/config.py +0 -0
  365. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/pydantic/errors.py +0 -0
  366. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/pydantic/validators.py +0 -0
  367. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/__init__.py +0 -0
  368. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
  369. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  370. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/providers/http.py +0 -0
  371. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/providers/s3.py +0 -0
  372. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
  373. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/storage/registry.py +0 -0
  374. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk/utils/string.py +0 -0
  375. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  376. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk.egg-info/entry_points.txt +0 -0
  377. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/synapse_sdk.egg-info/top_level.txt +0 -0
  378. {synapse_sdk-1.0.0a73/tests/clients → synapse_sdk-1.0.0a75/tests}/__init__.py +0 -0
  379. {synapse_sdk-1.0.0a73/tests/loggers → synapse_sdk-1.0.0a75/tests/clients}/__init__.py +0 -0
  380. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/clients/test_base_client.py +0 -0
  381. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/clients/test_collection_validators.py +0 -0
  382. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/conftest.py +0 -0
  383. {synapse_sdk-1.0.0a73/tests/utils/converters → synapse_sdk-1.0.0a75/tests/loggers}/__init__.py +0 -0
  384. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/loggers/test_base_logger.py +0 -0
  385. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/test_cli_integration.py +0 -0
  386. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/__init__,py +0 -0
  387. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures → synapse_sdk-1.0.0a75/tests/utils/converters}/__init__.py +0 -0
  388. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/json/dm_1.json +0 -0
  389. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/json/dm_2.json +0 -0
  390. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/json/dm_3.json +0 -0
  391. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/original_files/dm_1.jpg +0 -0
  392. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/original_files/dm_2.jpg +0 -0
  393. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/test/original_files/dm_3.jpg +0 -0
  394. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/json/dm_4.json +0 -0
  395. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/json/dm_5.json +0 -0
  396. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/json/dm_6.json +0 -0
  397. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/json/dm_7.json +0 -0
  398. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/original_files/dm_4.jpg +0 -0
  399. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/original_files/dm_5.jpg +0 -0
  400. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/original_files/dm_6.jpg +0 -0
  401. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/train/original_files/dm_7.jpg +0 -0
  402. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/valid/json/dm_8.json +0 -0
  403. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/valid/json/dm_9.json +0 -0
  404. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/valid/original_files/dm_8.jpg +0 -0
  405. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/categorized/valid/original_files/dm_9.jpg +0 -0
  406. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/json/dm_1.json +0 -0
  407. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/json/dm_2.json +0 -0
  408. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/json/dm_3.json +0 -0
  409. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/original_files/dm_1.jpg +0 -0
  410. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/original_files/dm_2.jpg +0 -0
  411. {synapse_sdk-1.0.0a73/tests/utils/converters/fixtures/data_types/image → synapse_sdk-1.0.0a75/tests/utils/converters/fixtures/data_types/image/dm}/not_categorized/original_files/dm_3.jpg +0 -0
  412. {synapse_sdk-1.0.0a73 → synapse_sdk-1.0.0a75}/tests/utils/test_debug.py +0 -0
@@ -0,0 +1,35 @@
1
+ name: Tests
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, reopened, synchronize]
6
+ branches: [main]
7
+ push:
8
+ branches: [main]
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: runner-set
13
+ strategy:
14
+ matrix:
15
+ python-version: ['3.12']
16
+ fail-fast: false
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - name: Install uv
22
+ uses: astral-sh/setup-uv@v4
23
+ with:
24
+ version: "latest"
25
+
26
+ - name: Set up Python ${{ matrix.python-version }}
27
+ run: uv python install ${{ matrix.python-version }}
28
+
29
+ - name: Install dependencies
30
+ run: |
31
+ uv sync --extra test
32
+
33
+ - name: Run test with coverage
34
+ run: |
35
+ make test-coverage
@@ -40,4 +40,13 @@ config.yaml*
40
40
 
41
41
  synapse-sample-plugin/
42
42
 
43
- CLAUDE.md
43
+
44
+ # Local LLM Rule Files
45
+ CLAUDE.local.md
46
+ GEMINI.local.md
47
+ AGENT.local.md
48
+
49
+
50
+ # Test
51
+ .coverage
52
+ coverage.xml
@@ -0,0 +1,54 @@
1
+ .PHONY: test test-unit test-integration test-coverage test-lint clean
2
+
3
+ # Run all tests
4
+ test:
5
+ uv run python -m pytest tests/ -v
6
+
7
+ # Run only unit tests (fast)
8
+ test-unit:
9
+ uv run python -m pytest tests/ -m "unit" -v
10
+
11
+ # Run only integration tests
12
+ test-integration:
13
+ uv run python -m pytest tests/ -m "integration" -v
14
+
15
+ # Run tests with coverage report
16
+ test-coverage:
17
+ uv run python -m pytest tests/ --cov=synapse_sdk --cov-report=term-missing --cov-report=html --cov-report=xml
18
+
19
+ # Run tests by category
20
+ test-cli:
21
+ uv run python -m pytest tests/ -m "cli" -v
22
+
23
+ test-storage:
24
+ uv run python -m pytest tests/ -m "storage" -v
25
+
26
+ test-client:
27
+ uv run python -m pytest tests/ -v tests/clients/
28
+
29
+ test-logger:
30
+ uv run python -m pytest tests/ -m "logger" -v
31
+
32
+ test-plugin:
33
+ uv run python -m pytest tests/ -m "plugin" -v
34
+
35
+ # Run slow tests
36
+ test-slow:
37
+ uv run python -m pytest tests/ -m "slow" -v
38
+
39
+ # Run tests with detailed output
40
+ test-verbose:
41
+ uv run python -m pytest tests/ -vv --tb=long
42
+
43
+ # Run tests and stop on first failure
44
+ test-failfast:
45
+ uv run python -m pytest tests/ -x
46
+
47
+ # Clean up test artifacts
48
+ clean:
49
+ rm -rf .pytest_cache/
50
+ rm -rf .coverage
51
+ rm -rf htmlcov/
52
+ rm -rf .ruff_cache/
53
+ find . -type d -name __pycache__ -exec rm -rf {} +
54
+ find . -name "*.pyc" -delete
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: synapse-sdk
3
+ Version: 1.0.0a75
4
+ Summary: synapse sdk
5
+ Author-email: datamaker <developer@datamaker.io>
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: boto3
12
+ Requires-Dist: click
13
+ Requires-Dist: cookiecutter
14
+ Requires-Dist: requests
15
+ Requires-Dist: tqdm
16
+ Requires-Dist: python-dotenv
17
+ Requires-Dist: pyyaml
18
+ Requires-Dist: pydantic
19
+ Requires-Dist: pyjwt
20
+ Requires-Dist: universal-pathlib
21
+ Requires-Dist: fsspec[gcs,s3,sftp]
22
+ Requires-Dist: inquirer
23
+ Requires-Dist: pillow
24
+ Provides-Extra: all
25
+ Requires-Dist: ray[all]; extra == "all"
26
+ Requires-Dist: python-nmap; extra == "all"
27
+ Requires-Dist: hyperopt; extra == "all"
28
+ Requires-Dist: bayesian-optimization==1.4.3; extra == "all"
29
+ Provides-Extra: dashboard
30
+ Requires-Dist: fastapi>=0.115.13; extra == "dashboard"
31
+ Requires-Dist: uvicorn[standard]>=0.34.3; extra == "dashboard"
32
+ Requires-Dist: websockets>=15.0.1; extra == "dashboard"
33
+ Requires-Dist: aiofiles>=24.1.0; extra == "dashboard"
34
+ Provides-Extra: test
35
+ Requires-Dist: pytest>=7.0.0; extra == "test"
36
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
37
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
38
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
39
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
40
+ Requires-Dist: pytest-html>=3.1.0; extra == "test"
41
+ Requires-Dist: pytest-json-report>=1.5.0; extra == "test"
42
+ Requires-Dist: requests-mock>=1.10.0; extra == "test"
43
+ Requires-Dist: responses>=0.25.0; extra == "test"
44
+ Provides-Extra: dev
45
+ Requires-Dist: pre-commit; extra == "dev"
46
+ Dynamic: license-file
47
+
48
+ # 🧠 Synapse SDK
49
+
50
+ ![lint workflow](https://github.com/datamaker-kr/synapse-sdk/actions/workflows/lint.yml/badge.svg)
51
+ ![test workflow](https://github.com/datamaker-kr/synapse-sdk/actions/workflows/test.yml/badge.svg)
52
+
53
+ A Python SDK for building and managing ML plugins, data annotation workflows, and AI agents.
54
+
55
+ ## ✨ Features
56
+
57
+ - **🔌 Plugin System**: Create and manage ML plugins with categories like neural networks, data validation, and export tools
58
+ - **🤖 Agent Management**: Backend and Ray-based agent clients for distributed AI workflows
59
+ - **🔄 Data Converters**: Convert between formats (COCO, Pascal VOC, YOLO) and annotation schemas
60
+ - **🛠️ Development Tools**: Interactive web dashboard for monitoring and debugging
61
+ - **⚡ CLI Interface**: Command-line tool for configuration, plugin management, and development
62
+
63
+ ## 🚀 Quick Start
64
+
65
+ ```bash
66
+ pip install synapse-sdk
67
+ synapse --help
68
+ ```
69
+
70
+ ## 📚 Documentation
71
+
72
+ *Docs [https://docs.synapse.sh](https://docs.synapse.sh)*
@@ -0,0 +1,25 @@
1
+ # 🧠 Synapse SDK
2
+
3
+ ![lint workflow](https://github.com/datamaker-kr/synapse-sdk/actions/workflows/lint.yml/badge.svg)
4
+ ![test workflow](https://github.com/datamaker-kr/synapse-sdk/actions/workflows/test.yml/badge.svg)
5
+
6
+ A Python SDK for building and managing ML plugins, data annotation workflows, and AI agents.
7
+
8
+ ## ✨ Features
9
+
10
+ - **🔌 Plugin System**: Create and manage ML plugins with categories like neural networks, data validation, and export tools
11
+ - **🤖 Agent Management**: Backend and Ray-based agent clients for distributed AI workflows
12
+ - **🔄 Data Converters**: Convert between formats (COCO, Pascal VOC, YOLO) and annotation schemas
13
+ - **🛠️ Development Tools**: Interactive web dashboard for monitoring and debugging
14
+ - **⚡ CLI Interface**: Command-line tool for configuration, plugin management, and development
15
+
16
+ ## 🚀 Quick Start
17
+
18
+ ```bash
19
+ pip install synapse-sdk
20
+ synapse --help
21
+ ```
22
+
23
+ ## 📚 Documentation
24
+
25
+ *Docs [https://docs.synapse.sh](https://docs.synapse.sh)*
@@ -0,0 +1,402 @@
1
+ ---
2
+ id: converters
3
+ title: Converters
4
+ sidebar_position: 1
5
+ ---
6
+
7
+ # Converters
8
+
9
+ The Synapse SDK provides comprehensive data format conversion utilities for computer vision datasets. These converters enable seamless transformation between different annotation formats commonly used in machine learning workflows.
10
+
11
+ ## Overview
12
+
13
+ The converter system supports bidirectional conversion between:
14
+
15
+ - **DM Format** - Synapse Data Manager's native annotation format
16
+ - **COCO Format** - Microsoft Common Objects in Context format
17
+ - **Pascal VOC Format** - Visual Object Classes XML format
18
+ - **YOLO Format** - You Only Look Once text-based format
19
+
20
+ All converters support both categorized datasets (with train/valid/test splits) and non-categorized datasets.
21
+
22
+ ## Supported Annotation Types
23
+
24
+ | Annotation Type | DM | COCO | Pascal VOC | YOLO |
25
+ |----------------|----|----|-----------|------|
26
+ | Bounding Boxes | ✅ | ✅ | ✅ | ✅ |
27
+ | Polygons/Segmentation | ✅ | ✅ | ❌ | ✅ |
28
+ | Keypoints | ✅ | ✅ | ❌ | ✅ |
29
+ | Classifications | ✅ | ✅ | ❌ | ❌ |
30
+
31
+ ## Pascal VOC Converters
32
+
33
+ ### FromDMToPascalConverter
34
+
35
+ Converts DM format annotations to Pascal VOC XML format.
36
+
37
+ **Features:**
38
+ - Converts bounding box annotations only
39
+ - Creates standard Pascal VOC directory structure
40
+ - Generates `classes.txt` file automatically
41
+ - Supports both categorized and non-categorized datasets
42
+
43
+ **Usage:**
44
+ ```python
45
+ from synapse_sdk.utils.converters.pascal.from_dm import FromDMToPascalConverter
46
+
47
+ # Convert categorized dataset
48
+ converter = FromDMToPascalConverter(
49
+ root_dir='/path/to/dm/dataset',
50
+ is_categorized_dataset=True
51
+ )
52
+ converted_data = converter.convert()
53
+ converter.save_to_folder('/output/pascal/dataset')
54
+
55
+ # Convert non-categorized dataset
56
+ converter = FromDMToPascalConverter(
57
+ root_dir='/path/to/dm/dataset',
58
+ is_categorized_dataset=False
59
+ )
60
+ converted_data = converter.convert()
61
+ converter.save_to_folder('/output/pascal/dataset')
62
+ ```
63
+
64
+ **Input Structure (Categorized):**
65
+ ```
66
+ dm_dataset/
67
+ ├── train/
68
+ │ ├── json/
69
+ │ │ ├── image1.json
70
+ │ │ └── image2.json
71
+ │ └── original_files/
72
+ │ ├── image1.jpg
73
+ │ └── image2.jpg
74
+ ├── valid/
75
+ │ ├── json/
76
+ │ └── original_files/
77
+ └── test/ (optional)
78
+ ├── json/
79
+ └── original_files/
80
+ ```
81
+
82
+ **Output Structure:**
83
+ ```
84
+ pascal_dataset/
85
+ ├── train/
86
+ │ ├── Annotations/
87
+ │ │ ├── image1.xml
88
+ │ │ └── image2.xml
89
+ │ └── Images/
90
+ │ ├── image1.jpg
91
+ │ └── image2.jpg
92
+ ├── valid/
93
+ ├── test/ (if present)
94
+ └── classes.txt
95
+ ```
96
+
97
+ ### PascalToDMConverter
98
+
99
+ Converts Pascal VOC XML annotations to DM format.
100
+
101
+ **Features:**
102
+ - Parses Pascal VOC XML files
103
+ - Flexible directory naming (supports Annotations/annotations, Images/images/JPEGImages)
104
+ - Extracts bounding box annotations only
105
+ - Maintains class information
106
+
107
+ **Usage:**
108
+ ```python
109
+ from synapse_sdk.utils.converters.pascal.to_dm import PascalToDMConverter
110
+
111
+ # Convert Pascal VOC dataset
112
+ converter = PascalToDMConverter(
113
+ root_dir='/path/to/pascal/dataset',
114
+ is_categorized_dataset=True
115
+ )
116
+ converted_data = converter.convert()
117
+ converter.save_to_folder('/output/dm/dataset')
118
+ ```
119
+
120
+ ## YOLO Converters
121
+
122
+ ### FromDMToYOLOConverter
123
+
124
+ Converts DM format annotations to YOLO format with comprehensive annotation support.
125
+
126
+ **Features:**
127
+ - Supports bounding boxes, polygons, and keypoints
128
+ - Creates `dataset.yaml` configuration file
129
+ - Normalizes coordinates automatically
130
+ - Handles keypoint visibility flags
131
+
132
+ **Usage:**
133
+ ```python
134
+ from synapse_sdk.utils.converters.yolo.from_dm import FromDMToYOLOConverter
135
+
136
+ # Convert with all annotation types
137
+ converter = FromDMToYOLOConverter(
138
+ root_dir='/path/to/dm/dataset',
139
+ is_categorized_dataset=True
140
+ )
141
+ converted_data = converter.convert()
142
+ converter.save_to_folder('/output/yolo/dataset')
143
+ ```
144
+
145
+ **Output Structure:**
146
+ ```
147
+ yolo_dataset/
148
+ ├── train/
149
+ │ ├── images/
150
+ │ │ ├── image1.jpg
151
+ │ │ └── image2.jpg
152
+ │ └── labels/
153
+ │ ├── image1.txt
154
+ │ └── image2.txt
155
+ ├── valid/
156
+ ├── test/ (if present)
157
+ ├── dataset.yaml
158
+ └── classes.txt
159
+ ```
160
+
161
+ **YOLO Label Format Examples:**
162
+ ```
163
+ # Bounding box: class_id center_x center_y width height
164
+ 0 0.5 0.5 0.3 0.4
165
+
166
+ # Polygon: class_id x1 y1 x2 y2 x3 y3 x4 y4 ...
167
+ 0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9
168
+
169
+ # Keypoints: class_id center_x center_y width height kp1_x kp1_y kp1_v kp2_x kp2_y kp2_v ...
170
+ 0 0.5 0.5 0.3 0.4 0.45 0.3 2 0.55 0.3 2 0.5 0.7 1
171
+ ```
172
+
173
+ ### YOLOToDMConverter
174
+
175
+ Converts YOLO format annotations back to DM format.
176
+
177
+ **Features:**
178
+ - Intelligent parsing of different YOLO annotation types
179
+ - Requires `dataset.yaml` for class name mapping
180
+ - Handles bounding boxes, polygons, and keypoints
181
+ - Automatically detects image dimensions
182
+
183
+ **Usage:**
184
+ ```python
185
+ from synapse_sdk.utils.converters.yolo.to_dm import YOLOToDMConverter
186
+
187
+ converter = YOLOToDMConverter(
188
+ root_dir='/path/to/yolo/dataset',
189
+ is_categorized_dataset=True
190
+ )
191
+ converted_data = converter.convert()
192
+ converter.save_to_folder('/output/dm/dataset')
193
+ ```
194
+
195
+ ## COCO Converters
196
+
197
+ ### FromDMToCOCOConverter
198
+
199
+ Converts DM format to COCO format with full metadata support.
200
+
201
+ **Features:**
202
+ - Comprehensive COCO metadata (info, licenses, categories)
203
+ - Supports bounding boxes, segmentation, and keypoints
204
+ - Dynamic category management
205
+ - Extensible for different data types
206
+
207
+ **Usage:**
208
+ ```python
209
+ from synapse_sdk.utils.converters.coco.from_dm import FromDMToCOCOConverter
210
+
211
+ # Basic conversion
212
+ converter = FromDMToCOCOConverter(
213
+ root_dir='/path/to/dm/dataset',
214
+ is_categorized_dataset=True
215
+ )
216
+ converted_data = converter.convert()
217
+ converter.save_to_folder('/output/coco/dataset')
218
+
219
+ # With custom metadata
220
+ info_dict = {
221
+ "description": "My Custom Dataset",
222
+ "version": "1.0",
223
+ "contributor": "My Organization"
224
+ }
225
+
226
+ licenses_list = [{
227
+ "id": 1,
228
+ "name": "Custom License",
229
+ "url": "https://example.com/license"
230
+ }]
231
+
232
+ converter = FromDMToCOCOConverter(
233
+ root_dir='/path/to/dm/dataset',
234
+ info_dict=info_dict,
235
+ licenses_list=licenses_list,
236
+ is_categorized_dataset=True
237
+ )
238
+ ```
239
+
240
+ **Output Structure:**
241
+ ```
242
+ coco_dataset/
243
+ ├── train/
244
+ │ ├── annotations.json
245
+ │ ├── image1.jpg
246
+ │ └── image2.jpg
247
+ ├── valid/
248
+ │ ├── annotations.json
249
+ │ └── images...
250
+ └── test/ (if present)
251
+ ```
252
+
253
+ ### COCOToDMConverter
254
+
255
+ Converts COCO format annotations to DM format.
256
+
257
+ **Features:**
258
+ - Parses COCO JSON annotations
259
+ - Handles image datasets
260
+ - Maintains keypoint groupings through DM groups
261
+ - Supports bounding boxes and keypoints
262
+
263
+ **Usage:**
264
+ ```python
265
+ from synapse_sdk.utils.converters.coco.to_dm import COCOToDMConverter
266
+
267
+ converter = COCOToDMConverter(
268
+ root_dir='/path/to/coco/dataset',
269
+ is_categorized_dataset=True
270
+ )
271
+ converted_data = converter.convert()
272
+ converter.save_to_folder('/output/dm/dataset')
273
+ ```
274
+
275
+ ## DM Version Converter
276
+
277
+ ### DMV1ToV2Converter
278
+
279
+ Migrates legacy DM v1 datasets to the current v2 format.
280
+
281
+ **Features:**
282
+ - Comprehensive migration for all annotation types
283
+ - Handles data structure changes between versions
284
+ - Supports images and videos
285
+ - Maintains annotation tool integrity
286
+
287
+ **Supported Tools:**
288
+ - Bounding boxes
289
+ - Named entities
290
+ - Classifications with attributes
291
+ - Polylines and polygons
292
+ - Keypoints
293
+ - 3D bounding boxes
294
+ - Segmentation
295
+ - Relations and groups
296
+
297
+ **Usage:**
298
+ ```python
299
+ from synapse_sdk.utils.converters.dm.from_v1 import DMV1ToV2Converter
300
+
301
+ converter = DMV1ToV2Converter(
302
+ root_dir='/path/to/dm/v1/dataset',
303
+ is_categorized_dataset=True
304
+ )
305
+ converted_data = converter.convert()
306
+ converter.save_to_folder('/output/dm/v2/dataset')
307
+ ```
308
+
309
+ ### DMV2ToV1Converter
310
+
311
+ Converts DM v2 datasets back to the legacy v1 format for compatibility with older systems.
312
+
313
+ **Features:**
314
+ - Reverse migration from DM v2 to v1 format
315
+ - Preserves all annotation types and metadata
316
+ - Maintains coordinate integrity across formats
317
+ - Generates appropriate v1 structure with annotations and annotationsData
318
+
319
+ **Supported Tools:**
320
+ - Bounding boxes
321
+ - Named entities
322
+ - Classifications with attributes
323
+ - Polylines and polygons
324
+ - Keypoints
325
+ - 3D bounding boxes
326
+ - Segmentation
327
+ - Relations and groups
328
+
329
+ **Usage:**
330
+ ```python
331
+ from synapse_sdk.utils.converters.dm.to_v1 import DMV2ToV1Converter
332
+
333
+ # Load v2 data and convert to v1
334
+ with open('dm_v2_data.json', 'r') as f:
335
+ v2_data = json.load(f)
336
+
337
+ converter = DMV2ToV1Converter(v2_data)
338
+ v1_data = converter.convert()
339
+
340
+ # Save or use the converted v1 data
341
+ with open('dm_v1_data.json', 'w') as f:
342
+ json.dump(v1_data, f, indent=2)
343
+ ```
344
+
345
+ ## Common Parameters
346
+
347
+ All converters share these common parameters:
348
+
349
+ ### `root_dir` (str)
350
+ Path to the root directory containing the dataset.
351
+
352
+ ### `is_categorized_dataset` (bool)
353
+ - `True`: Dataset has train/valid/test splits in separate subdirectories
354
+ - `False`: Dataset is in a single directory without splits
355
+
356
+ ### Common Methods
357
+
358
+ #### `convert()`
359
+ Performs in-memory conversion and returns the converted data structure.
360
+
361
+ #### `save_to_folder(output_dir)`
362
+ Saves the converted data to the specified output directory, creating the appropriate file structure for the target format.
363
+
364
+ ## Error Handling
365
+
366
+ All converters include robust error handling:
367
+
368
+ - **File Validation**: Checks for required files and directories
369
+ - **Format Validation**: Validates annotation format correctness
370
+ - **Graceful Degradation**: Warns about unsupported annotations instead of failing
371
+ - **Progress Tracking**: Shows progress for large dataset conversions
372
+
373
+ ## Best Practices
374
+
375
+ 1. **Backup Original Data**: Always keep backups before conversion
376
+ 2. **Validate Results**: Check converted annotations for accuracy
377
+ 3. **Test on Small Datasets**: Test conversion on small samples first
378
+ 4. **Check Requirements**: Ensure all required files (dataset.yaml, annotations.json, etc.) are present
379
+ 5. **Monitor Warnings**: Pay attention to conversion warnings for data quality issues
380
+
381
+ ## Examples
382
+
383
+ ### Converting a Complete Workflow
384
+
385
+ ```python
386
+ # 1. Convert Pascal VOC to DM
387
+ pascal_converter = PascalToDMConverter('/data/pascal', True)
388
+ dm_data = pascal_converter.convert()
389
+ pascal_converter.save_to_folder('/data/dm_intermediate')
390
+
391
+ # 2. Convert DM to YOLO
392
+ yolo_converter = FromDMToYOLOConverter('/data/dm_intermediate', True)
393
+ yolo_data = yolo_converter.convert()
394
+ yolo_converter.save_to_folder('/data/yolo_final')
395
+
396
+ # 3. Convert DM to COCO for evaluation
397
+ coco_converter = FromDMToCOCOConverter('/data/dm_intermediate', True)
398
+ coco_data = coco_converter.convert()
399
+ coco_converter.save_to_folder('/data/coco_eval')
400
+ ```
401
+
402
+ This converter system provides a complete solution for dataset format transformation, enabling seamless integration between different machine learning workflows and annotation tools.
@@ -0,0 +1,16 @@
1
+ ---
2
+ id: features
3
+ title: Features
4
+ sidebar_position: 5
5
+ ---
6
+
7
+ # Features
8
+
9
+ This section covers the key features and functionality provided by the Synapse SDK.
10
+
11
+ ## [Data Converters](./converters/index.md)
12
+
13
+ Comprehensive data format conversion utilities for computer vision datasets.
14
+
15
+ - **[Format Converters](./converters/index.md)** - Convert between DM, COCO, Pascal VOC, and YOLO formats
16
+ - **[Version Migration](./converters/index.md#dm-version-converter)** - Migrate DM datasets between versions