synapse-sdk 1.0.0a53__tar.gz → 1.0.0a54__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 (164) hide show
  1. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/PKG-INFO +1 -1
  2. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/__init__.py +2 -2
  3. synapse_sdk-1.0.0a53/synapse_sdk/clients/backend/data_collection.py → synapse_sdk-1.0.0a54/synapse_sdk/clients/backend/dataset.py +20 -20
  4. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/ray/serve.py +2 -0
  5. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/actions/export.py +0 -18
  6. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +2 -24
  7. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/actions/upload.py +111 -5
  8. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/templates/config.yaml +3 -4
  9. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin}/.pre-commit-config.yaml +1 -1
  10. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/PKG-INFO +1 -1
  11. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/SOURCES.txt +1 -3
  12. synapse_sdk-1.0.0a53/synapse_sdk/plugins/categories/upload/actions/task_pre_annotation.py +0 -101
  13. synapse_sdk-1.0.0a53/synapse_sdk/plugins/categories/upload/templates/plugin/task_pre_annotation.py +0 -14
  14. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/.github/workflows/lint.yml +0 -0
  15. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/.github/workflows/pypi-publish.yml +0 -0
  16. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/.gitignore +0 -0
  17. {synapse_sdk-1.0.0a53/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin → synapse_sdk-1.0.0a54}/.pre-commit-config.yaml +0 -0
  18. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/LICENSE +0 -0
  19. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/README.md +0 -0
  20. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/locale/en/LC_MESSAGES/messages.mo +0 -0
  21. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/locale/en/LC_MESSAGES/messages.po +0 -0
  22. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  23. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/locale/ko/LC_MESSAGES/messages.po +0 -0
  24. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/pyproject.toml +0 -0
  25. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/requirements.test.txt +0 -0
  26. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/requirements.txt +0 -0
  27. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/setup.cfg +0 -0
  28. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/__init__.py +0 -0
  29. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/__init__.py +0 -0
  30. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/__init__.py +0 -0
  31. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/create.py +0 -0
  32. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/dataclass.py +0 -0
  33. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/default.py +0 -0
  34. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/delete.py +0 -0
  35. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/list.py +0 -0
  36. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/read.py +0 -0
  37. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/update.py +0 -0
  38. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/alias/utils.py +0 -0
  39. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/plugin/__init__.py +0 -0
  40. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/plugin/create.py +0 -0
  41. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/plugin/publish.py +0 -0
  42. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/cli/plugin/run.py +0 -0
  43. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/__init__.py +0 -0
  44. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/agent/__init__.py +0 -0
  45. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/agent/core.py +0 -0
  46. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/agent/ray.py +0 -0
  47. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/agent/service.py +0 -0
  48. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/annotation.py +0 -0
  49. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/core.py +0 -0
  50. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/hitl.py +0 -0
  51. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/integration.py +0 -0
  52. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/ml.py +0 -0
  53. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/backend/models.py +0 -0
  54. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/base.py +0 -0
  55. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/exceptions.py +0 -0
  56. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/ray/__init__.py +0 -0
  57. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/ray/core.py +0 -0
  58. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/utils.py +0 -0
  59. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/validators/__init__.py +0 -0
  60. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/clients/validators/collections.py +0 -0
  61. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/i18n.py +0 -0
  62. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/loggers.py +0 -0
  63. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/__init__.py +0 -0
  64. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/__init__.py +0 -0
  65. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/base.py +0 -0
  66. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  67. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  68. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  69. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  70. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  71. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  72. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/decorators.py +0 -0
  73. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  74. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  75. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/enums.py +0 -0
  76. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  77. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  78. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  79. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  80. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  81. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
  82. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  83. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  84. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  85. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
  86. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  87. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  88. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  89. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  90. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  91. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  92. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  93. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  94. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  95. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  96. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  97. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  98. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  99. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  100. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  101. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  102. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  103. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  104. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  105. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/registry.py +0 -0
  106. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  107. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  108. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  109. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  110. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  111. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  112. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/templates.py +0 -0
  113. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  114. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  115. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  116. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  117. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/enums.py +0 -0
  118. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/exceptions.py +0 -0
  119. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/models.py +0 -0
  120. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  121. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  122. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  123. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  124. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  125. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  126. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  127. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  128. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  129. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/upload.py +0 -0
  130. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/plugins/utils.py +0 -0
  131. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/shared/__init__.py +0 -0
  132. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/shared/enums.py +0 -0
  133. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/types.py +0 -0
  134. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/__init__.py +0 -0
  135. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/dataset.py +0 -0
  136. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/debug.py +0 -0
  137. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/file.py +0 -0
  138. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/http.py +0 -0
  139. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/module_loading.py +0 -0
  140. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/network.py +0 -0
  141. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  142. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/pydantic/config.py +0 -0
  143. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/pydantic/errors.py +0 -0
  144. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/pydantic/validators.py +0 -0
  145. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/__init__.py +0 -0
  146. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
  147. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  148. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/providers/s3.py +0 -0
  149. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
  150. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/storage/registry.py +0 -0
  151. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk/utils/string.py +0 -0
  152. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  153. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/entry_points.txt +0 -0
  154. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/requires.txt +0 -0
  155. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/synapse_sdk.egg-info/top_level.txt +0 -0
  156. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/__init__.py +0 -0
  157. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/clients/__init__.py +0 -0
  158. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/clients/test_backend_models.py +0 -0
  159. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/clients/test_base_client.py +0 -0
  160. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/clients/test_collection_validators.py +0 -0
  161. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/loggers/__init__.py +0 -0
  162. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/loggers/test_base_logger.py +0 -0
  163. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/utils/__init__,py +0 -0
  164. {synapse_sdk-1.0.0a53 → synapse_sdk-1.0.0a54}/tests/utils/test_debug.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a53
3
+ Version: 1.0.0a54
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  from synapse_sdk.clients.backend.annotation import AnnotationClientMixin
2
2
  from synapse_sdk.clients.backend.core import CoreClientMixin
3
- from synapse_sdk.clients.backend.data_collection import DataCollectionClientMixin
3
+ from synapse_sdk.clients.backend.dataset import DatasetClientMixin
4
4
  from synapse_sdk.clients.backend.hitl import HITLClientMixin
5
5
  from synapse_sdk.clients.backend.integration import IntegrationClientMixin
6
6
  from synapse_sdk.clients.backend.ml import MLClientMixin
@@ -9,7 +9,7 @@ from synapse_sdk.clients.backend.ml import MLClientMixin
9
9
  class BackendClient(
10
10
  AnnotationClientMixin,
11
11
  CoreClientMixin,
12
- DataCollectionClientMixin,
12
+ DatasetClientMixin,
13
13
  IntegrationClientMixin,
14
14
  MLClientMixin,
15
15
  HITLClientMixin,
@@ -8,18 +8,18 @@ from synapse_sdk.clients.base import BaseClient
8
8
  from synapse_sdk.clients.utils import get_batched_list
9
9
 
10
10
 
11
- class DataCollectionClientMixin(BaseClient):
12
- def list_data_collection(self):
13
- path = 'data_collections/'
11
+ class DatasetClientMixin(BaseClient):
12
+ def list_dataset(self):
13
+ path = 'datasets/'
14
14
  return self._list(path)
15
15
 
16
- def get_data_collection(self, data_collection_id):
17
- """Get data_collection from synapse-backend.
16
+ def get_dataset(self, dataset_id):
17
+ """Get dataset from synapse-backend.
18
18
 
19
19
  Args:
20
- data_collection_id: The data_collection id to get.
20
+ dataset_id: The dataset id to get.
21
21
  """
22
- path = f'data_collections/{data_collection_id}/?expand=file_specifications'
22
+ path = f'datasets/{dataset_id}/?expand=file_specifications'
23
23
  return self._get(path)
24
24
 
25
25
  def create_data_file(self, file_path: Path):
@@ -40,19 +40,19 @@ class DataCollectionClientMixin(BaseClient):
40
40
  path = 'data_units/'
41
41
  return self._post(path, data=data)
42
42
 
43
- def upload_data_collection(
43
+ def upload_dataset(
44
44
  self,
45
- data_collection_id: int,
46
- data_collection: Dict,
45
+ dataset_id: int,
46
+ dataset: Dict,
47
47
  project_id: Optional[int] = None,
48
48
  batch_size: int = 1000,
49
49
  process_pool: int = 10,
50
50
  ):
51
- """Upload data_collection to synapse-backend.
51
+ """Upload dataset to synapse-backend.
52
52
 
53
53
  Args:
54
- data_collection_id: The data_collection id to upload the data to.
55
- data_collection: The data_collection to upload.
54
+ dataset_id: The dataset id to upload the data to.
55
+ dataset: The dataset to upload.
56
56
  * structure:
57
57
  - files: The files to upload. (key: file name, value: file pathlib object)
58
58
  - meta: The meta data to upload.
@@ -60,14 +60,14 @@ class DataCollectionClientMixin(BaseClient):
60
60
  batch_size: The batch size to upload the data.
61
61
  process_pool: The process pool to upload the data.
62
62
  """
63
- # TODO validate data_collection with schema
63
+ # TODO validate dataset with schema
64
64
 
65
- params = [(data, data_collection_id) for data in data_collection]
65
+ params = [(data, dataset_id) for data in dataset]
66
66
 
67
67
  with Pool(processes=process_pool) as pool:
68
- data_collection = pool.starmap(self.upload_data_file, tqdm(params))
68
+ dataset = pool.starmap(self.upload_data_file, tqdm(params))
69
69
 
70
- batches = get_batched_list(data_collection, batch_size)
70
+ batches = get_batched_list(dataset, batch_size)
71
71
 
72
72
  for batch in tqdm(batches):
73
73
  data_units = self.create_data_units(batch)
@@ -82,7 +82,7 @@ class DataCollectionClientMixin(BaseClient):
82
82
 
83
83
  self.create_tasks(tasks_data)
84
84
 
85
- def upload_data_file(self, data: Dict, data_collection_id: int) -> Dict:
85
+ def upload_data_file(self, data: Dict, dataset_id: int) -> Dict:
86
86
  """Upload files to synapse-backend.
87
87
 
88
88
  Args:
@@ -90,13 +90,13 @@ class DataCollectionClientMixin(BaseClient):
90
90
  * structure:
91
91
  - files: The files to upload. (key: file name, value: file pathlib object)
92
92
  - meta: The meta data to upload.
93
- data_collection_id: The data_collection id to upload the data to.
93
+ dataset_id: The dataset id to upload the data to.
94
94
 
95
95
  Returns:
96
96
  Dict: The result of the upload.
97
97
  """
98
98
  for name, path in data['files'].items():
99
99
  data_file = self.create_data_file(path)
100
- data['data_collection'] = data_collection_id
100
+ data['dataset'] = dataset_id
101
101
  data['files'][name] = {'checksum': data_file['checksum'], 'path': str(path)}
102
102
  return data
@@ -8,6 +8,7 @@ class ServeClientMixin(BaseClient):
8
8
  response = self._get(path, params=params)
9
9
  for key, item in response['applications'].items():
10
10
  response['applications'][key]['deployments'] = list(item['deployments'].values())
11
+ response['applications'][key]['route_prefix'] = item['route_prefix']
11
12
  return list(response['applications'].values())
12
13
 
13
14
  def get_serve_application(self, pk, params=None):
@@ -15,6 +16,7 @@ class ServeClientMixin(BaseClient):
15
16
  response = self._get(path, params=params)
16
17
  try:
17
18
  response['applications'][pk]['deployments'] = list(response['applications'][pk]['deployments'].values())
19
+ response['applications'][pk]['route_prefix'] = response['applications'][pk]['route_prefix']
18
20
  return response['applications'][pk]
19
21
  except KeyError:
20
22
  raise ClientError(404, 'Serve Application Not Found')
@@ -27,13 +27,6 @@ class ExportRun(Run):
27
27
  error: str | None = None
28
28
  created: str
29
29
 
30
- class MetricsRecord(BaseModel):
31
- """Metrics record model."""
32
-
33
- stand_by: int
34
- failed: int
35
- success: int
36
-
37
30
  def log_file(
38
31
  self, log_type: str, target_id: int, data_file_info: dict, status: ExportStatus, error: str | None = None
39
32
  ):
@@ -58,16 +51,6 @@ class ExportRun(Run):
58
51
  ).model_dump(),
59
52
  )
60
53
 
61
- def log_metrics(self, record: MetricsRecord, category: str):
62
- """Log export metrics.
63
-
64
- Args:
65
- record (MetricsRecord): The metrics record to log.
66
- category (str): The category of the metrics.
67
- """
68
- record = self.MetricsRecord.model_validate(record)
69
- self.set_metrics(value=record.dict(), category=category)
70
-
71
54
  def export_log_json_file(
72
55
  self,
73
56
  target_id: int,
@@ -280,7 +263,6 @@ class ExportAction(Action):
280
263
  'proportion': 100,
281
264
  }
282
265
  }
283
- metrics_categories = {'data_file', 'original_file'}
284
266
 
285
267
  def get_filtered_results(self, filters, handler):
286
268
  """Get filtered target results."""
@@ -42,8 +42,6 @@ def export(run, export_items, path_root, **params):
42
42
  origin_files_output_path.mkdir(parents=True, exist_ok=True)
43
43
 
44
44
  total = params['count']
45
- original_file_metrics_record = run.MetricsRecord(stand_by=total, success=0, failed=0)
46
- data_file_metrics_record = run.MetricsRecord(stand_by=total, success=0, failed=0)
47
45
  # progress init
48
46
  run.set_progress(0, total, category='dataset_conversion')
49
47
  for no, export_item in enumerate(export_items, start=1):
@@ -58,30 +56,12 @@ def export(run, export_items, path_root, **params):
58
56
  if save_original_file_flag:
59
57
  if no == 1:
60
58
  run.log_message('Saving original file.')
61
- original_status = save_original_file(run, final_data, origin_files_output_path, errors_original_file_list)
62
-
63
- original_file_metrics_record.stand_by -= 1
64
- if original_status == ExportStatus.FAILED:
65
- original_file_metrics_record.failed += 1
66
- continue
67
- else:
68
- original_file_metrics_record.success += 1
69
-
70
- run.log_metrics(record=original_file_metrics_record, category='original_file')
59
+ save_original_file(run, final_data, origin_files_output_path, errors_original_file_list)
71
60
 
72
61
  # Extract data as JSON files
73
62
  if no == 1:
74
63
  run.log_message('Saving json file.')
75
- data_status = save_as_json(run, final_data, json_output_path, errors_json_file_list)
76
-
77
- data_file_metrics_record.stand_by -= 1
78
- if data_status == ExportStatus.FAILED:
79
- data_file_metrics_record.failed += 1
80
- continue
81
- else:
82
- data_file_metrics_record.success += 1
83
-
84
- run.log_metrics(record=data_file_metrics_record, category='data_file')
64
+ save_as_json(run, final_data, json_output_path, errors_json_file_list)
85
65
 
86
66
  run.end_log()
87
67
 
@@ -146,7 +126,6 @@ def save_original_file(run, result, base_path, error_file_list):
146
126
  status = ExportStatus.FAILED
147
127
 
148
128
  run.export_log_original_file(result['id'], file_info, status, error_msg)
149
- return status
150
129
 
151
130
 
152
131
  def save_as_json(run, result, base_path, error_file_list):
@@ -173,4 +152,3 @@ def save_as_json(run, result, base_path, error_file_list):
173
152
  status = ExportStatus.FAILED
174
153
 
175
154
  run.export_log_json_file(result['id'], file_info, status, error_msg)
176
- return status
@@ -105,6 +105,8 @@ class UploadParams(BaseModel):
105
105
  storage: int
106
106
  collection: int
107
107
  project: int | None
108
+ is_generate_tasks: bool = False
109
+ is_generate_ground_truths: bool = False
108
110
 
109
111
  @field_validator('storage', mode='before')
110
112
  @classmethod
@@ -129,7 +131,7 @@ class UploadParams(BaseModel):
129
131
  action = info.context['action']
130
132
  client = action.client
131
133
  try:
132
- client.get_data_collection(value)
134
+ client.get_dataset(value)
133
135
  except ClientError:
134
136
  raise PydanticCustomError('client_error', _('Error occurred while checking collection exists.'))
135
137
  return value
@@ -163,6 +165,8 @@ class UploadAction(Action):
163
165
  analyze_collection: The progress category for the analyze collection process.
164
166
  data_file_upload: The progress category for the upload process.
165
167
  generate_data_units: The progress category for the generate data units process.
168
+ generate_tasks: The progress category for the generate tasks process.
169
+ generate_ground_truths: The progress category for the generate ground truths process.
166
170
  """
167
171
 
168
172
  name = 'upload'
@@ -171,16 +175,48 @@ class UploadAction(Action):
171
175
  run_class = UploadRun
172
176
  progress_categories = {
173
177
  'analyze_collection': {
174
- 'proportion': 10,
178
+ 'proportion': 0,
175
179
  },
176
180
  'upload_data_files': {
177
- 'proportion': 50,
181
+ 'proportion': 0,
178
182
  },
179
183
  'generate_data_units': {
180
- 'proportion': 40,
184
+ 'proportion': 0,
185
+ },
186
+ 'generate_tasks': {
187
+ 'proportion': 0,
188
+ },
189
+ 'generate_ground_truths': {
190
+ 'proportion': 0,
181
191
  },
182
192
  }
183
193
 
194
+ def __init__(self, *args, **kwargs):
195
+ """Initialize UploadAction."""
196
+ super().__init__(*args, **kwargs)
197
+
198
+ # Setup progress categories ratio by options.
199
+ progress_ratios = {
200
+ 'upload_only': (5, 60, 35, 0, 0),
201
+ 'generate_tasks': (5, 45, 25, 25, 0),
202
+ 'generate_ground_truths': (5, 35, 30, 15, 15),
203
+ }
204
+ options = kwargs['plugin_config']['actions']['upload']['options']
205
+ progress_categories = self.progress_categories
206
+ if options['allow_generate_tasks'] and not kwargs['params']['allow_generate_ground_truths']:
207
+ ratio_name = 'generate_tasks'
208
+ elif options['allow_generate_ground_truths'] and kwargs['params']['allow_generate_tasks']:
209
+ ratio_name = 'generate_ground_truths'
210
+ else:
211
+ ratio_name = 'upload_only'
212
+
213
+ assert len(progress_categories) == len(progress_ratios[ratio_name]), (
214
+ 'Progress categories and ratios length mismatch.'
215
+ )
216
+ for i, category in enumerate(progress_categories):
217
+ progress_categories[category]['proportion'] = progress_ratios[ratio_name][i]
218
+ self.progress_categories = progress_categories
219
+
184
220
  def get_uploader(self, path):
185
221
  """Get uploader from entrypoint."""
186
222
  return self.entrypoint(self.run, path)
@@ -229,6 +265,26 @@ class UploadAction(Action):
229
265
  generated_data_units = self._generate_data_units(uploaded_files, upload_result_count)
230
266
  result['generated_data_units_count'] = len(generated_data_units)
231
267
 
268
+ # Setup task with uploaded synapse-backend data units.
269
+ if not len(generated_data_units):
270
+ self.run.log_message('No data units were generated.', context=Context.WARNING.value)
271
+ self.run.end_log()
272
+ return result
273
+
274
+ if self.config['options']['allow_generate_tasks'] and self.params['is_generate_tasks']:
275
+ generated_tasks = self._generate_tasks(generated_data_units)
276
+ result['generated_tasks_count'] = len(generated_tasks)
277
+ else:
278
+ self.run.log_message('Generating tasks process has passed.')
279
+
280
+ # Generate ground truths for the uploaded data.
281
+ # TODO: Need to add ground truths generation logic later.
282
+ if self.config['options']['allow_generate_ground_truths'] and self.params['is_generate_ground_truths']:
283
+ generated_ground_truths = self._generate_ground_truths()
284
+ result['generated_ground_truths_count'] = len(generated_ground_truths)
285
+ else:
286
+ self.run.log_message('Generating ground truths process has passed.')
287
+
232
288
  self.run.end_log()
233
289
  return result
234
290
 
@@ -244,7 +300,7 @@ class UploadAction(Action):
244
300
 
245
301
  client = self.run.client
246
302
  collection_id = self.params['collection']
247
- collection = client.get_data_collection(collection_id)
303
+ collection = client.get_dataset(collection_id)
248
304
 
249
305
  # Finish progress
250
306
  self.run.set_progress(1, 1, category='analyze_collection')
@@ -313,3 +369,53 @@ class UploadAction(Action):
313
369
  self.run.set_progress(upload_result_count, upload_result_count, category='generate_data_units')
314
370
 
315
371
  return sum(generated_data_units, [])
372
+
373
+ def _generate_tasks(self, generated_data_units: List) -> List:
374
+ """Setup task with uploaded synapse-backend data units.
375
+
376
+ TODO: make batch size configurable.
377
+ """
378
+ # Initialize progress
379
+ self.run.set_progress(0, 1, category='generate_tasks')
380
+ self.run.log_message('Generating tasks with data files...')
381
+
382
+ # Prepare batches for processing
383
+ client = self.run.client
384
+ project_id = self.params['project']
385
+ current_progress = 0
386
+
387
+ # Generate tasks
388
+ generated_tasks = []
389
+ generated_data_units_count = len(generated_data_units)
390
+ for data_unit in generated_data_units:
391
+ tasks_data = []
392
+ task_data = {'project': project_id, 'data_unit': data_unit['id']}
393
+ tasks_data.append(task_data)
394
+ if tasks_data:
395
+ created_tasks = client.create_tasks(tasks_data)
396
+ created_task_ids = [created_task['id'] for created_task in created_tasks]
397
+ generated_tasks.append(created_task_ids)
398
+ for created_task_id in created_task_ids:
399
+ self.run.log_task(created_task_id, UploadStatus.SUCCESS)
400
+
401
+ self.run.set_progress(current_progress, generated_data_units_count, category='generate_tasks')
402
+ current_progress += 1
403
+
404
+ # Finish progress
405
+ self.run.log_message('Generating tasks completed')
406
+ self.run.set_progress(1, 1, category='generate_tasks')
407
+
408
+ return sum(generated_tasks, [])
409
+
410
+ def _generate_ground_truths(self):
411
+ """Generate ground truths for the uploaded data.
412
+
413
+ TODO: Need to add ground truths generation logic later.
414
+ """
415
+ # Initialize progress
416
+ self.run.set_progress(0, 1, category='generate_ground_truths')
417
+ self.run.log_message('Generating ground truths...')
418
+
419
+ # Finish progress
420
+ self.run.log_message('Generating ground truths completed')
421
+ self.run.set_progress(1, 1, category='generate_ground_truths')
@@ -1,10 +1,9 @@
1
1
  actions:
2
2
  upload:
3
3
  entrypoint: plugin.upload.Uploader
4
+ options:
5
+ allow_generate_tasks: false # Allow the plugin to generate tasks for the uploaded data
6
+ allow_generate_ground_truths: false # Allow the plugin to generate ground truths for the uploaded data
4
7
  supported_data_type: image # A primary data type of synapse backend collection. (e.g. 'image', 'text', 'video', 'pcd', 'audio')
5
8
  ui_schema: |
6
9
  Dumped FormKit Schema for upload plugin custom options
7
- task_pre_annotation:
8
- entrypoint: plugin.upload.TaskPreAnnotation
9
- ui_schema: |
10
- Dumped FormKit Schema for upload plugin custom options
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
- rev: v0.11.10
3
+ rev: v0.7.1
4
4
  hooks:
5
5
  - id: ruff
6
6
  args: [ --fix ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a53
3
+ Version: 1.0.0a54
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -48,7 +48,7 @@ synapse_sdk/clients/agent/service.py
48
48
  synapse_sdk/clients/backend/__init__.py
49
49
  synapse_sdk/clients/backend/annotation.py
50
50
  synapse_sdk/clients/backend/core.py
51
- synapse_sdk/clients/backend/data_collection.py
51
+ synapse_sdk/clients/backend/dataset.py
52
52
  synapse_sdk/clients/backend/hitl.py
53
53
  synapse_sdk/clients/backend/integration.py
54
54
  synapse_sdk/clients/backend/ml.py
@@ -117,11 +117,9 @@ synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py
117
117
  synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py
118
118
  synapse_sdk/plugins/categories/upload/__init__.py
119
119
  synapse_sdk/plugins/categories/upload/actions/__init__.py
120
- synapse_sdk/plugins/categories/upload/actions/task_pre_annotation.py
121
120
  synapse_sdk/plugins/categories/upload/actions/upload.py
122
121
  synapse_sdk/plugins/categories/upload/templates/config.yaml
123
122
  synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py
124
- synapse_sdk/plugins/categories/upload/templates/plugin/task_pre_annotation.py
125
123
  synapse_sdk/plugins/categories/upload/templates/plugin/upload.py
126
124
  synapse_sdk/plugins/templates/cookiecutter.json
127
125
  synapse_sdk/plugins/templates/hooks/post_gen_project.py
@@ -1,101 +0,0 @@
1
- from enum import Enum
2
- from typing import Annotated
3
-
4
- from pydantic import AfterValidator, BaseModel, field_validator
5
- from pydantic_core import PydanticCustomError
6
-
7
- from synapse_sdk.clients.exceptions import ClientError
8
- from synapse_sdk.plugins.categories.base import Action
9
- from synapse_sdk.plugins.categories.decorators import register_action
10
- from synapse_sdk.plugins.enums import PluginCategory, RunMethod
11
- from synapse_sdk.plugins.models import Run
12
- from synapse_sdk.utils.pydantic.validators import non_blank
13
-
14
-
15
- class TaskDataAnnotationType(str, Enum):
16
- FILE = 'file'
17
- INFERENCE = 'inference'
18
-
19
-
20
- class TaskPreAnnotationRun(Run):
21
- pass
22
-
23
-
24
- class TaskPreAnnotationParams(BaseModel):
25
- """TaskPreAnnotation action parameters.
26
-
27
- Args:
28
- name (str): The name of the action.
29
- description (str | None): The description of the action.
30
- project (int): The project ID.
31
- data_collection (int): The data collection ID.
32
- task_data_annotation_type (TaskDataAnnotationType): The type of task data annotation.
33
- """
34
-
35
- name: Annotated[str, AfterValidator(non_blank)]
36
- description: str | None
37
- project: int
38
- data_collection: int
39
- task_data_annotation_type: TaskDataAnnotationType
40
-
41
- @field_validator('data_collection', mode='before')
42
- @classmethod
43
- def check_data_collection_exists(cls, value: str, info) -> str:
44
- """Validate synapse-backend collection exists."""
45
- action = info.context['action']
46
- client = action.client
47
- try:
48
- client.get_data_collection(value)
49
- except ClientError:
50
- raise PydanticCustomError('client_error', 'Error occurred while checking data collection exists.')
51
- return value
52
-
53
- @field_validator('project', mode='before')
54
- @classmethod
55
- def check_project_exists(cls, value: str, info) -> str:
56
- """Validate synapse-backend project exists."""
57
- if not value:
58
- return value
59
-
60
- action = info.context['action']
61
- client = action.client
62
- try:
63
- client.get_project(value)
64
- except ClientError:
65
- raise PydanticCustomError('client_error', 'Error occurred while checking project exists.')
66
- return value
67
-
68
-
69
- @register_action
70
- class TaskPreAnnotationAction(Action):
71
- """TaskPreAnnotation action class.
72
-
73
- * Annotate data to tasks.
74
- """
75
-
76
- name = 'task_pre_annotation'
77
- category = PluginCategory.UPLOAD
78
- method = RunMethod.JOB
79
- run_class = TaskPreAnnotationRun
80
- progress_categories = {
81
- 'generate_tasks': {
82
- 'proportion': 10,
83
- },
84
- 'annotate_task_data': {
85
- 'proportion': 90,
86
- },
87
- }
88
-
89
- def start(self):
90
- """Start task_pre_annotation action.
91
-
92
- * Generate tasks.
93
- * Annotate data to tasks.
94
- """
95
- task_pre_annotation = self.get_task_pre_annotation()
96
- task_pre_annotation.handle_annotate_data_from_files()
97
- return {}
98
-
99
- def get_task_pre_annotation(self):
100
- """Get task pre annotation entrypoint."""
101
- return self.entrypoint()
@@ -1,14 +0,0 @@
1
- class TaskPreAnnotation:
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 handle_annotate_data_from_files(self):
11
- pass
12
-
13
- def handle_annotate_data_with_inference(self):
14
- pass
File without changes
File without changes
File without changes