synapse-sdk 1.0.0a34__tar.gz → 1.0.0a36__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 (158) hide show
  1. {synapse_sdk-1.0.0a34/synapse_sdk.egg-info → synapse_sdk-1.0.0a36}/PKG-INFO +1 -1
  2. synapse_sdk-1.0.0a36/requirements.txt +11 -0
  3. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/agent/core.py +4 -0
  4. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +10 -2
  5. synapse_sdk-1.0.0a36/synapse_sdk/utils/dataset.py +46 -0
  6. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/storage/__init__.py +30 -0
  7. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/storage/providers/__init__.py +30 -0
  8. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/storage/providers/s3.py +35 -0
  9. synapse_sdk-1.0.0a36/synapse_sdk/utils/storage/providers/sftp.py +47 -0
  10. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36/synapse_sdk.egg-info}/PKG-INFO +1 -1
  11. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk.egg-info/SOURCES.txt +1 -0
  12. synapse_sdk-1.0.0a34/requirements.txt +0 -11
  13. synapse_sdk-1.0.0a34/synapse_sdk/utils/storage/providers/sftp.py +0 -16
  14. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/.github/workflows/lint.yml +0 -0
  15. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/.github/workflows/pypi-publish.yml +0 -0
  16. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/.gitignore +0 -0
  17. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/.pre-commit-config.yaml +0 -0
  18. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/LICENSE +0 -0
  19. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/README.md +0 -0
  20. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/locale/en/LC_MESSAGES/messages.mo +0 -0
  21. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/locale/en/LC_MESSAGES/messages.po +0 -0
  22. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  23. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/locale/ko/LC_MESSAGES/messages.po +0 -0
  24. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/pyproject.toml +0 -0
  25. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/requirements.test.txt +0 -0
  26. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/setup.cfg +0 -0
  27. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/__init__.py +0 -0
  28. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/__init__.py +0 -0
  29. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/__init__.py +0 -0
  30. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/create.py +0 -0
  31. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/dataclass.py +0 -0
  32. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/default.py +0 -0
  33. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/delete.py +0 -0
  34. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/list.py +0 -0
  35. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/read.py +0 -0
  36. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/update.py +0 -0
  37. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/alias/utils.py +0 -0
  38. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/plugin/__init__.py +0 -0
  39. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/plugin/create.py +0 -0
  40. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/plugin/publish.py +0 -0
  41. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/cli/plugin/run.py +0 -0
  42. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/__init__.py +0 -0
  43. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/agent/__init__.py +0 -0
  44. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/agent/ray.py +0 -0
  45. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/agent/service.py +0 -0
  46. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/__init__.py +0 -0
  47. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/annotation.py +0 -0
  48. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/core.py +0 -0
  49. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/dataset.py +0 -0
  50. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/hitl.py +0 -0
  51. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/integration.py +0 -0
  52. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/ml.py +0 -0
  53. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/backend/models.py +0 -0
  54. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/base.py +0 -0
  55. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/exceptions.py +0 -0
  56. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/ray/__init__.py +0 -0
  57. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/ray/core.py +0 -0
  58. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/ray/serve.py +0 -0
  59. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/utils.py +0 -0
  60. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/validators/__init__.py +0 -0
  61. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/clients/validators/collections.py +0 -0
  62. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/i18n.py +0 -0
  63. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/loggers.py +0 -0
  64. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/__init__.py +0 -0
  65. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/__init__.py +0 -0
  66. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/base.py +0 -0
  67. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  68. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  69. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  70. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  71. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  72. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  73. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/decorators.py +0 -0
  74. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  75. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  76. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  77. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  78. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  79. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
  80. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  81. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  82. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  83. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  84. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  85. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  86. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  87. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  88. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  89. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  90. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  91. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  92. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  93. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  94. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  95. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  96. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  97. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  98. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  99. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  100. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  101. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  102. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  103. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  104. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/registry.py +0 -0
  105. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  106. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  107. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  108. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  109. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  110. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  111. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/templates.py +0 -0
  112. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  113. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  114. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
  115. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
  116. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  117. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  118. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/enums.py +0 -0
  119. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/exceptions.py +0 -0
  120. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/models.py +0 -0
  121. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  122. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  123. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  124. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  125. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  126. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  127. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  128. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  129. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  130. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  131. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/upload.py +0 -0
  132. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/plugins/utils.py +0 -0
  133. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/shared/__init__.py +0 -0
  134. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/shared/enums.py +0 -0
  135. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/types.py +0 -0
  136. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/__init__.py +0 -0
  137. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/debug.py +0 -0
  138. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/file.py +0 -0
  139. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/module_loading.py +0 -0
  140. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/network.py +0 -0
  141. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  142. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/pydantic/config.py +0 -0
  143. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/pydantic/errors.py +0 -0
  144. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/pydantic/validators.py +0 -0
  145. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  146. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/storage/registry.py +0 -0
  147. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk/utils/string.py +0 -0
  148. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  149. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk.egg-info/entry_points.txt +0 -0
  150. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk.egg-info/requires.txt +0 -0
  151. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/synapse_sdk.egg-info/top_level.txt +0 -0
  152. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/__init__.py +0 -0
  153. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/clients/__init__.py +0 -0
  154. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/clients/test_backend_models.py +0 -0
  155. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/clients/test_base_client.py +0 -0
  156. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/clients/test_collection_validators.py +0 -0
  157. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/tests/utils/__init__,py +0 -0
  158. {synapse_sdk-1.0.0a34 → synapse_sdk-1.0.0a36}/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.0a34
3
+ Version: 1.0.0a36
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -0,0 +1,11 @@
1
+ click
2
+ cookiecutter
3
+ requests
4
+ tqdm
5
+ pyyaml
6
+ pydantic
7
+ pyjwt
8
+ python-dotenv
9
+ ray[all]>=2.44.1
10
+ fsspec[gcs,s3,sftp]==2025.3.2
11
+ universal-pathlib==0.2.6
@@ -5,3 +5,7 @@ class CoreClientMixin(BaseClient):
5
5
  def health_check(self):
6
6
  path = 'health/'
7
7
  return self._get(path)
8
+
9
+ def get_metrics(self, panel):
10
+ path = f'metrics/{panel}/'
11
+ return self._get(path)
@@ -1,5 +1,13 @@
1
- task: object_detection
1
+ name: plugin_name
2
+ code: plugin_code
3
+ version: plugin_version
4
+ readme: README.md
5
+ description: This is plugin_name plugin
6
+ category: neural_net
7
+ tasks:
8
+ - object_detection
2
9
  data_type: image
10
+ package_manager: uv
3
11
  actions:
4
12
  train:
5
13
  dataset: dataset
@@ -18,4 +26,4 @@ actions:
18
26
  endpoints:
19
27
  - method: get
20
28
  test:
21
- entrypoint: plugin.test.test
29
+ entrypoint: plugin.test.test
@@ -0,0 +1,46 @@
1
+ import logging
2
+
3
+
4
+ def remap_class_labels(dataset, data_type, class_pattern, new_class):
5
+ """
6
+ Remaps class labels in a dataset by replacing specific classification patterns.
7
+
8
+ This function finds items of a specified data type (e.g., 'pcd', 'image', 'video')
9
+ where the classification matches a given pattern (e.g., 'truck', 'car'), and
10
+ remaps them to a new class label (e.g., 'vehicle'). Useful for consolidating
11
+ or standardizing class labels in ground truth data.
12
+
13
+ Args:
14
+ dataset (dict): The dataset containing ground truth labels
15
+ data_type (str): Type of data to process (e.g., 'pcd', 'image', 'video')
16
+ class_pattern (dict): Pattern to identify target classifications (e.g., {'name': 'truck'})
17
+ new_class (dict): New classification to apply (e.g., {'name': 'vehicle'})
18
+
19
+ Returns:
20
+ dict: Dataset with remapped class labels
21
+ """
22
+ updated_dataset = dataset.copy()
23
+
24
+ if data_type not in updated_dataset:
25
+ logging.log(logging.WARNING, f"Data type '{data_type}' not found in dataset.")
26
+ return updated_dataset
27
+
28
+ def matches_pattern(classification, pattern):
29
+ """Check if a classification matches the specified pattern."""
30
+ for key, pattern_value in pattern.items():
31
+ if key not in classification:
32
+ return False
33
+
34
+ if isinstance(pattern_value, dict) and isinstance(classification[key], dict):
35
+ if not matches_pattern(classification[key], pattern_value):
36
+ return False
37
+ elif classification[key] != pattern_value:
38
+ return False
39
+
40
+ return True
41
+
42
+ for item in updated_dataset[data_type]:
43
+ if 'classification' in item and matches_pattern(item['classification'], class_pattern):
44
+ item['classification'] = new_class.copy()
45
+
46
+ return updated_dataset
@@ -36,3 +36,33 @@ def get_pathlib(storage_config: str | dict, path_root: str) -> Path:
36
36
  """
37
37
  storage_class = get_storage(storage_config)
38
38
  return storage_class.get_pathlib(path_root)
39
+
40
+
41
+ def get_path_file_count(storage_config: str | dict, path_root: str) -> int:
42
+ """Get the file count in the path.
43
+
44
+ Args:
45
+ storage_config (str | dict): The storage config by synapse-backend storage api.
46
+ path (str): The path.
47
+
48
+ Returns:
49
+ int: The file count in the path.
50
+ """
51
+ storage_class = get_storage(storage_config)
52
+ pathlib_obj = storage_class.get_pathlib(path_root)
53
+ return storage_class.get_path_file_count(pathlib_obj)
54
+
55
+
56
+ def get_path_total_size(storage_config: str | dict, path_root: str) -> int:
57
+ """Get total size of the files in the path.
58
+
59
+ Args:
60
+ storage_config (str | dict): The storage config by synapse-backend storage api.
61
+ path (str): The path.
62
+
63
+ Returns:
64
+ int: The total size of the files in the path.
65
+ """
66
+ storage_class = get_storage(storage_config)
67
+ pathlib_obj = storage_class.get_pathlib(path_root)
68
+ return storage_class.get_path_total_size(pathlib_obj)
@@ -39,4 +39,34 @@ class BaseStorage:
39
39
  raise NotImplementedError
40
40
 
41
41
  def get_pathlib(self, path):
42
+ """Get the path as a pathlib object.
43
+
44
+ Args:
45
+ path (str): The path to convert.
46
+
47
+ Returns:
48
+ pathlib.Path: The converted path.
49
+ """
50
+ raise NotImplementedError
51
+
52
+ def get_path_file_count(self, pathlib_obj):
53
+ """Get the file count in the path.
54
+
55
+ Args:
56
+ pathlib_obj (UPath): The path to get file count.
57
+
58
+ Returns:
59
+ int: The file count in the path.
60
+ """
61
+ raise NotImplementedError
62
+
63
+ def get_path_total_size(self, pathlib_obj):
64
+ """Get the total size of the path.
65
+
66
+ Args:
67
+ pathlib_obj (UPath): The path to get total size.
68
+
69
+ Returns:
70
+ int: The total size of the path.
71
+ """
42
72
  raise NotImplementedError
@@ -41,3 +41,38 @@ class S3Storage(BaseStorage):
41
41
 
42
42
  def get_pathlib(self, path):
43
43
  return self.upath.joinuri(path)
44
+
45
+ def get_path_file_count(self, pathlib_obj: UPath):
46
+ """Get file count in the path from S3 provider.
47
+
48
+ TODO: Need to find a method to get file count using S3 API
49
+
50
+ Args:
51
+ pathlib_obj (UPath): The path to get file count.
52
+
53
+ Returns:
54
+ int: The file count in the path.
55
+ """
56
+ count = 0
57
+ files = list(pathlib_obj.glob('**/*'))
58
+ for file in files:
59
+ if file.is_file():
60
+ count += 1
61
+ return count
62
+
63
+ def get_path_total_size(self, pathlib_obj: UPath):
64
+ """Get total size of the files in the path from S3 provider.
65
+
66
+ TODO: Need to find a method to get total file size using S3 API
67
+
68
+ Args:
69
+ pathlib_obj (UPath): The path to get total size.
70
+
71
+ Returns:
72
+ int: The total size of the files in the path.
73
+ """
74
+ total_size = 0
75
+ for file in pathlib_obj.glob('**/*'):
76
+ if file.is_file():
77
+ total_size += file.stat().st_size
78
+ return total_size
@@ -0,0 +1,47 @@
1
+ from upath import UPath
2
+
3
+ from synapse_sdk.utils.storage.providers import BaseStorage
4
+
5
+
6
+ class SFTPStorage(BaseStorage):
7
+ def get_pathlib(self, path):
8
+ credentials = self.query_params['params']
9
+ host = self.query_params['host']
10
+ root_path = self.query_params['root_path']
11
+
12
+ username = credentials['username']
13
+ password = credentials['password']
14
+ if path == '/':
15
+ path = ''
16
+ return UPath(f'sftp://{host}', username=username, password=password) / root_path / path
17
+
18
+ def get_path_file_count(self, pathlib_obj: UPath):
19
+ """Get file count in the path from SFTP provider.
20
+
21
+ Args:
22
+ pathlib_obj (UPath): The path to get file count.
23
+
24
+ Returns:
25
+ int: The file count in the path.
26
+ """
27
+ count = 0
28
+ files = list(pathlib_obj.glob('**/*'))
29
+ for file in files:
30
+ if file.is_file():
31
+ count += 1
32
+ return count
33
+
34
+ def get_path_total_size(self, pathlib_obj: UPath):
35
+ """Get total size of the files in the path from SFTP provider.
36
+
37
+ Args:
38
+ pathlib_obj (UPath): The path to get total size.
39
+
40
+ Returns:
41
+ int: The total size of the files in the path.
42
+ """
43
+ total_size = 0
44
+ for file in pathlib_obj.glob('**/*'):
45
+ if file.is_file():
46
+ total_size += file.stat().st_size
47
+ return total_size
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a34
3
+ Version: 1.0.0a36
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -131,6 +131,7 @@ synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin
131
131
  synapse_sdk/shared/__init__.py
132
132
  synapse_sdk/shared/enums.py
133
133
  synapse_sdk/utils/__init__.py
134
+ synapse_sdk/utils/dataset.py
134
135
  synapse_sdk/utils/debug.py
135
136
  synapse_sdk/utils/file.py
136
137
  synapse_sdk/utils/module_loading.py
@@ -1,11 +0,0 @@
1
- click
2
- cookiecutter
3
- requests
4
- tqdm
5
- pyyaml
6
- pydantic
7
- pyjwt
8
- python-dotenv
9
- ray[all]>=2.43.0
10
- fsspec[gcs,s3,sftp]==2025.2.0
11
- universal-pathlib==0.2.6
@@ -1,16 +0,0 @@
1
- from upath import UPath
2
-
3
- from synapse_sdk.utils.storage.providers import BaseStorage
4
-
5
-
6
- class SFTPStorage(BaseStorage):
7
- def get_pathlib(self, path):
8
- credentials = self.query_params['params']
9
- host = self.query_params['host']
10
- root_path = self.query_params['root_path']
11
-
12
- username = credentials['username']
13
- password = credentials['password']
14
- if path == '/':
15
- path = ''
16
- return UPath(f'sftp://{host}', username=username, password=password) / root_path / path
File without changes
File without changes
File without changes