synapse-sdk 1.0.0a94__tar.gz → 1.0.0a95__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 (430) hide show
  1. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/PKG-INFO +1 -1
  2. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/actions/upload.py +75 -57
  3. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/PKG-INFO +1 -1
  4. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.claude/commands/compare-branch.md +0 -0
  5. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.claude/commands/review-pr.md +0 -0
  6. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.claude/commands/update-pr-desc.md +0 -0
  7. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.coverage +0 -0
  8. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.github/workflows/lint.yml +0 -0
  9. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.github/workflows/pypi-publish.yml +0 -0
  10. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.github/workflows/test.yml +0 -0
  11. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.gitignore +0 -0
  12. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.mcp.json +0 -0
  13. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/.pre-commit-config.yaml +0 -0
  14. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/AGENT.md +0 -0
  15. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/CLAUDE.md +0 -0
  16. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/GEMINI.md +0 -0
  17. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/LICENSE +0 -0
  18. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/Makefile +0 -0
  19. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/P1_rules.md +0 -0
  20. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/P2_rules.md +0 -0
  21. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/P3_rules.md +0 -0
  22. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/P4_rules.md +0 -0
  23. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/README.md +0 -0
  24. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/clients/agent.md +0 -0
  25. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/clients/backend.md +0 -0
  26. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/clients/base.md +0 -0
  27. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/index.md +0 -0
  28. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/plugins/categories.md +0 -0
  29. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/plugins/models.md +0 -0
  30. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/plugins/utils.md +0 -0
  31. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/utils/file.md +0 -0
  32. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/utils/storage.md +0 -0
  33. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/api/utils/types.md +0 -0
  34. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/categories.md +0 -0
  35. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/concepts/index.md +0 -0
  36. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/configuration.md +0 -0
  37. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/contributing.md +0 -0
  38. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/examples/index.md +0 -0
  39. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/faq.md +0 -0
  40. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/features/converters/index.md +0 -0
  41. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/features/index.md +0 -0
  42. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/features/plugins/index.md +0 -0
  43. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/i18n/ko/code.json +0 -0
  44. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
  45. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
  46. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
  47. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
  48. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/installation.md +0 -0
  49. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/introduction.md +0 -0
  50. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/quickstart.md +0 -0
  51. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/troubleshooting.md +0 -0
  52. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/_category_.json +0 -0
  53. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/congratulations.md +0 -0
  54. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/create-a-blog-post.md +0 -0
  55. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/create-a-document.md +0 -0
  56. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/create-a-page.md +0 -0
  57. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/deploy-your-site.md +0 -0
  58. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-basics/markdown-features.mdx +0 -0
  59. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-extras/_category_.json +0 -0
  60. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  61. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-extras/img/localeDropdown.png +0 -0
  62. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-extras/manage-docs-versions.md +0 -0
  63. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/docs/tutorial-extras/translate-your-site.md +0 -0
  64. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/locale/en/LC_MESSAGES/messages.mo +0 -0
  65. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/locale/en/LC_MESSAGES/messages.po +0 -0
  66. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  67. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/locale/ko/LC_MESSAGES/messages.po +0 -0
  68. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/pyproject.toml +0 -0
  69. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/pytest-ci.ini +0 -0
  70. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/pytest.ini +0 -0
  71. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/requirements.test.txt +0 -0
  72. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/requirements.txt +0 -0
  73. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/setup.cfg +0 -0
  74. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/__init__.py +0 -0
  75. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/__init__.py +0 -0
  76. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/__init__.py +0 -0
  77. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/create.py +0 -0
  78. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/dataclass.py +0 -0
  79. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/default.py +0 -0
  80. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/delete.py +0 -0
  81. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/list.py +0 -0
  82. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/read.py +0 -0
  83. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/update.py +0 -0
  84. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/alias/utils.py +0 -0
  85. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/config.py +0 -0
  86. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/devtools.py +0 -0
  87. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/plugin/__init__.py +0 -0
  88. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/plugin/create.py +0 -0
  89. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/plugin/publish.py +0 -0
  90. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/cli/plugin/run.py +0 -0
  91. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/__init__.py +0 -0
  92. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/agent/__init__.py +0 -0
  93. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/agent/core.py +0 -0
  94. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/agent/ray.py +0 -0
  95. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/agent/service.py +0 -0
  96. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/__init__.py +0 -0
  97. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/annotation.py +0 -0
  98. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/core.py +0 -0
  99. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/data_collection.py +0 -0
  100. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/hitl.py +0 -0
  101. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/integration.py +0 -0
  102. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/ml.py +0 -0
  103. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/backend/models.py +0 -0
  104. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/base.py +0 -0
  105. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/exceptions.py +0 -0
  106. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/ray/__init__.py +0 -0
  107. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/ray/core.py +0 -0
  108. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/ray/serve.py +0 -0
  109. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/utils.py +0 -0
  110. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/validators/__init__.py +0 -0
  111. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/clients/validators/collections.py +0 -0
  112. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/__init__.py +0 -0
  113. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/config.py +0 -0
  114. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/.gitignore +0 -0
  115. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/README.md +0 -0
  116. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
  117. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
  118. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
  119. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  120. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
  121. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
  122. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
  123. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
  124. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/package-lock.json +0 -0
  125. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/package.json +0 -0
  126. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/sidebars.ts +0 -0
  127. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
  128. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
  129. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
  130. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
  131. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
  132. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
  133. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  134. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  135. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  136. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  137. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  138. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
  139. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
  140. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
  141. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
  142. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/models.py +0 -0
  143. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/server.py +0 -0
  144. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/utils.py +0 -0
  145. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/.gitignore +0 -0
  146. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/README.md +0 -0
  147. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/dist/index.html +0 -0
  148. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/index.html +0 -0
  149. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/jsconfig.json +0 -0
  150. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/package-lock.json +0 -0
  151. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/package.json +0 -0
  152. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/pnpm-lock.yaml +0 -0
  153. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/App.jsx +0 -0
  154. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/App.module.css +0 -0
  155. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/assets/favicon.ico +0 -0
  156. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/Breadcrumbs.jsx +0 -0
  157. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/Layout.jsx +0 -0
  158. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/LogViewer.jsx +0 -0
  159. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/MessageViewer.jsx +0 -0
  160. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/NavigationSidebar.jsx +0 -0
  161. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/ServerStatusBar.jsx +0 -0
  162. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/components/icons.jsx +0 -0
  163. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/index.css +0 -0
  164. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/index.jsx +0 -0
  165. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/logo.svg +0 -0
  166. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/router.jsx +0 -0
  167. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/utils/api.js +0 -0
  168. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/views/ApplicationDetailView.jsx +0 -0
  169. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/views/ApplicationsView.jsx +0 -0
  170. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/views/HomeView.jsx +0 -0
  171. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/views/JobDetailView.jsx +0 -0
  172. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/src/views/PluginView.jsx +0 -0
  173. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/devtools/web/vite.config.js +0 -0
  174. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/i18n.py +0 -0
  175. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/loggers.py +0 -0
  176. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/__init__.py +0 -0
  177. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/__init__.py +0 -0
  178. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/base.py +0 -0
  179. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  180. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  181. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  182. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  183. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  184. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  185. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/decorators.py +0 -0
  186. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  187. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  188. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  189. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/enums.py +0 -0
  190. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  191. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  192. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
  193. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  194. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  195. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  196. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
  197. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  198. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  199. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  200. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
  201. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  202. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  203. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  204. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  205. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  206. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  207. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  208. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  209. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  210. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  211. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  212. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  213. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  214. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  215. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  216. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  217. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +0 -0
  218. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  219. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  220. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  221. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -0
  222. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/registry.py +0 -0
  223. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  224. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  225. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  226. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  227. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  228. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  229. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/templates.py +0 -0
  230. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  231. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  232. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
  233. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  234. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  235. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/enums.py +0 -0
  236. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/exceptions.py +0 -0
  237. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/models.py +0 -0
  238. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  239. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  240. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  241. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
  242. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/schema.json +0 -0
  243. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  244. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  245. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  246. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  247. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  248. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  249. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  250. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/upload.py +0 -0
  251. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/utils/__init__.py +0 -0
  252. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/utils/actions.py +0 -0
  253. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/utils/config.py +0 -0
  254. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/utils/legacy.py +0 -0
  255. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/plugins/utils/registry.py +0 -0
  256. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/shared/__init__.py +0 -0
  257. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/shared/enums.py +0 -0
  258. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/types.py +0 -0
  259. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/__init__.py +0 -0
  260. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/__init__.py +0 -0
  261. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
  262. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/coco/from_dm.py +0 -0
  263. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
  264. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/dm/__init__.py +0 -0
  265. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/dm/from_v1.py +0 -0
  266. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/dm/to_v1.py +0 -0
  267. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/pascal/__init__.py +0 -0
  268. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/pascal/from_dm.py +0 -0
  269. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/pascal/to_dm.py +0 -0
  270. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/yolo/__init__.py +0 -0
  271. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/yolo/from_dm.py +0 -0
  272. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/converters/yolo/to_dm.py +0 -0
  273. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/dataset.py +0 -0
  274. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/debug.py +0 -0
  275. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/file.py +0 -0
  276. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/http.py +0 -0
  277. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/module_loading.py +0 -0
  278. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/network.py +0 -0
  279. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  280. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/pydantic/config.py +0 -0
  281. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/pydantic/errors.py +0 -0
  282. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/pydantic/validators.py +0 -0
  283. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/__init__.py +0 -0
  284. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
  285. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/file_system.py +0 -0
  286. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  287. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/http.py +0 -0
  288. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/s3.py +0 -0
  289. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
  290. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/storage/registry.py +0 -0
  291. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk/utils/string.py +0 -0
  292. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/SOURCES.txt +0 -0
  293. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  294. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/entry_points.txt +0 -0
  295. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/requires.txt +0 -0
  296. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/synapse_sdk.egg-info/top_level.txt +0 -0
  297. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/README.md +0 -0
  298. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/__init__.py +0 -0
  299. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/clients/__init__.py +0 -0
  300. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/clients/conftest.py +0 -0
  301. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/clients/test_backend_models.py +0 -0
  302. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/clients/test_base_client.py +0 -0
  303. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/clients/test_collection_validators.py +0 -0
  304. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/conftest.py +0 -0
  305. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/loggers/__init__.py +0 -0
  306. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/loggers/conftest.py +0 -0
  307. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/loggers/test_base_logger.py +0 -0
  308. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/conftest.py +0 -0
  309. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/data_validation/__init__.py +0 -0
  310. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/data_validation/validation/__init__.py +0 -0
  311. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/data_validation/validation/test_validation_action.py +0 -0
  312. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/utils/__init__.py +0 -0
  313. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/utils/test_actions.py +0 -0
  314. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/utils/test_config.py +0 -0
  315. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/plugins/utils/test_registry.py +0 -0
  316. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/test_cli.py +0 -0
  317. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/test_cli_integration.py +0 -0
  318. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/__init__,py +0 -0
  319. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/__init__.py +0 -0
  320. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/conftest.py +0 -0
  321. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/__init__.py +0 -0
  322. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/coco.py +0 -0
  323. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/annotations.json +0 -0
  324. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data8.jpg +0 -0
  325. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data9.jpg +0 -0
  326. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/annotations.json +0 -0
  327. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data4.jpg +0 -0
  328. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data5.jpg +0 -0
  329. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data6.jpg +0 -0
  330. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/annotations.json +0 -0
  331. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/new_dm_data7.jpg +0 -0
  332. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/annotations.json +0 -0
  333. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data1.jpg +0 -0
  334. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data2.jpg +0 -0
  335. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data3.jpg +0 -0
  336. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_1.json +0 -0
  337. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_2.json +0 -0
  338. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_3.json +0 -0
  339. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_1.jpg +0 -0
  340. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_2.jpg +0 -0
  341. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_3.jpg +0 -0
  342. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_4.json +0 -0
  343. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_5.json +0 -0
  344. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_6.json +0 -0
  345. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_7.json +0 -0
  346. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_4.jpg +0 -0
  347. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_5.jpg +0 -0
  348. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_6.jpg +0 -0
  349. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_7.jpg +0 -0
  350. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_8.json +0 -0
  351. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_9.json +0 -0
  352. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_8.jpg +0 -0
  353. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_9.jpg +0 -0
  354. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_1.json +0 -0
  355. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_2.json +0 -0
  356. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_3.json +0 -0
  357. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_1.jpg +0 -0
  358. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_2.jpg +0 -0
  359. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_3.jpg +0 -0
  360. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/ver1/json/25669.json +0 -0
  361. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/dm/ver2/json/25669.json +0 -0
  362. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/classes.txt +0 -0
  363. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9139.xml +0 -0
  364. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9140.xml +0 -0
  365. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9141.xml +0 -0
  366. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9139.jpg +0 -0
  367. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9140.jpg +0 -0
  368. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9141.jpg +0 -0
  369. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9136.xml +0 -0
  370. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9137.xml +0 -0
  371. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9138.xml +0 -0
  372. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9136.jpg +0 -0
  373. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9137.jpg +0 -0
  374. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9138.jpg +0 -0
  375. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9125.xml +0 -0
  376. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9126.xml +0 -0
  377. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9127.xml +0 -0
  378. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9125.jpg +0 -0
  379. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9126.jpg +0 -0
  380. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9127.jpg +0 -0
  381. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9122.xml +0 -0
  382. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9123.xml +0 -0
  383. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9124.xml +0 -0
  384. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9122.jpg +0 -0
  385. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9123.jpg +0 -0
  386. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9124.jpg +0 -0
  387. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/classes.txt +0 -0
  388. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/dataset.yaml +0 -0
  389. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13744.jpg +0 -0
  390. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13745.jpg +0 -0
  391. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13746.jpg +0 -0
  392. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13744.txt +0 -0
  393. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13745.txt +0 -0
  394. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13746.txt +0 -0
  395. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/images/13782.jpg +0 -0
  396. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/labels/13782.txt +0 -0
  397. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13761.jpg +0 -0
  398. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13764.jpg +0 -0
  399. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13761.txt +0 -0
  400. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13764.txt +0 -0
  401. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/classes.txt +0 -0
  402. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/dataset.yaml +0 -0
  403. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25332.jpg +0 -0
  404. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25334.jpg +0 -0
  405. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25332.txt +0 -0
  406. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25334.txt +0 -0
  407. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/pcd/dm/ver1/json/23791.json +0 -0
  408. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/pcd/dm/ver2/json/23791.json +0 -0
  409. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/prompt/dm/ver1/json/18662.json +0 -0
  410. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/prompt/dm/ver2/json/18662.json +0 -0
  411. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/text/dm/ver1/json/23811.json +0 -0
  412. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/text/dm/ver2/json/23811.json +0 -0
  413. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/video/dm/ver1/json/23831.json +0 -0
  414. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/data_types/video/dm/ver2/json/23831.json +0 -0
  415. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/dm_schema.py +0 -0
  416. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/pascal.py +0 -0
  417. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/fixtures/yolo.py +0 -0
  418. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_coco_from_dm.py +0 -0
  419. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_coco_to_dm.py +0 -0
  420. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_dm_v1_to_v2.py +0 -0
  421. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_dm_v2_to_v1.py +0 -0
  422. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_pascal_from_dm.py +0 -0
  423. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_pascal_to_dm.py +0 -0
  424. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_yolo_from_dm.py +0 -0
  425. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/converters/test_yolo_to_dm.py +0 -0
  426. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/storage/conftest.py +0 -0
  427. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/storage/test_file_system_storage.py +0 -0
  428. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/storage/test_provider_selection.py +0 -0
  429. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/tests/utils/test_debug.py +0 -0
  430. {synapse_sdk-1.0.0a94 → synapse_sdk-1.0.0a95}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a94
3
+ Version: 1.0.0a95
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -192,8 +192,7 @@ class UploadParams(BaseModel):
192
192
  storage (int): The storage of the action.
193
193
  collection (int): The collection of the action.
194
194
  project (int | None): The project of the action.
195
- use_excel_metadata (bool): Whether to use excel file for additional metadata.
196
- excel_metadata_path (str | None): Path to excel file containing metadata.
195
+ excel_metadata_path (str | None): Path to excel file containing metadata. Defaults to 'meta.xlsx' or 'meta.xls' in the path directory.
197
196
  """
198
197
 
199
198
  name: Annotated[str, AfterValidator(non_blank)]
@@ -202,7 +201,6 @@ class UploadParams(BaseModel):
202
201
  storage: int
203
202
  collection: int
204
203
  project: int | None
205
- use_excel_metadata: bool = False
206
204
  excel_metadata_path: str | None = None
207
205
 
208
206
  @field_validator('storage', mode='before')
@@ -251,7 +249,7 @@ class UploadParams(BaseModel):
251
249
  @field_validator('excel_metadata_path', mode='before')
252
250
  @classmethod
253
251
  def check_excel_metadata_path(cls, value: str, info) -> str:
254
- """Validate excel metadata file exists and is secure if use_excel_metadata is True.
252
+ """Validate excel metadata file exists and is secure if provided.
255
253
 
256
254
  This validator performs comprehensive security checks including:
257
255
  - File existence and format validation
@@ -271,48 +269,45 @@ class UploadParams(BaseModel):
271
269
  if not value:
272
270
  return value
273
271
 
274
- # Check if use_excel_metadata is True
275
- data = info.data
276
- if data.get('use_excel_metadata', False):
277
- excel_path = Path(value)
272
+ excel_path = Path(value)
278
273
 
279
- # Check file existence
280
- if not excel_path.exists():
281
- raise PydanticCustomError('file_not_found', _('Excel metadata file not found.'))
282
-
283
- # Check file extension
284
- if excel_path.suffix.lower() not in ['.xlsx', '.xls']:
285
- raise PydanticCustomError('invalid_file_type', _('Excel metadata file must be .xlsx or .xls format.'))
286
-
287
- # Security check: file size limit
288
- file_size = excel_path.stat().st_size
289
- excel_config = ExcelSecurityConfig()
290
- if file_size > excel_config.MAX_FILE_SIZE_BYTES:
291
- raise PydanticCustomError(
292
- 'file_too_large',
293
- _('Excel metadata file is too large. Maximum size is {}MB.').format(excel_config.MAX_FILE_SIZE_MB),
294
- )
274
+ # Check file existence
275
+ if not excel_path.exists():
276
+ raise PydanticCustomError('file_not_found', _('Excel metadata file not found.'))
295
277
 
296
- # Basic security check: ensure file is readable and not corrupted
297
- try:
298
- with open(excel_path, 'rb') as f:
299
- # Read first few bytes to check if it's a valid Excel file
300
- header = f.read(8)
301
- if not header:
302
- raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be empty.'))
303
-
304
- # Check for valid Excel file signatures
305
- if excel_path.suffix.lower() == '.xlsx':
306
- # XLSX files start with PK (ZIP signature)
307
- if not header.startswith(b'PK'):
308
- raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be corrupted.'))
309
- elif excel_path.suffix.lower() == '.xls':
310
- # XLS files have specific OLE signatures
311
- if not (header.startswith(b'\xd0\xcf\x11\xe0') or header.startswith(b'\x09\x08')):
312
- raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be corrupted.'))
313
-
314
- except (OSError, IOError):
315
- raise PydanticCustomError('file_access_error', _('Cannot access Excel metadata file.'))
278
+ # Check file extension
279
+ if excel_path.suffix.lower() not in ['.xlsx', '.xls']:
280
+ raise PydanticCustomError('invalid_file_type', _('Excel metadata file must be .xlsx or .xls format.'))
281
+
282
+ # Security check: file size limit
283
+ file_size = excel_path.stat().st_size
284
+ excel_config = ExcelSecurityConfig()
285
+ if file_size > excel_config.MAX_FILE_SIZE_BYTES:
286
+ raise PydanticCustomError(
287
+ 'file_too_large',
288
+ _('Excel metadata file is too large. Maximum size is {}MB.').format(excel_config.MAX_FILE_SIZE_MB),
289
+ )
290
+
291
+ # Basic security check: ensure file is readable and not corrupted
292
+ try:
293
+ with open(excel_path, 'rb') as f:
294
+ # Read first few bytes to check if it's a valid Excel file
295
+ header = f.read(8)
296
+ if not header:
297
+ raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be empty.'))
298
+
299
+ # Check for valid Excel file signatures
300
+ if excel_path.suffix.lower() == '.xlsx':
301
+ # XLSX files start with PK (ZIP signature)
302
+ if not header.startswith(b'PK'):
303
+ raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be corrupted.'))
304
+ elif excel_path.suffix.lower() == '.xls':
305
+ # XLS files have specific OLE signatures
306
+ if not (header.startswith(b'\xd0\xcf\x11\xe0') or header.startswith(b'\x09\x08')):
307
+ raise PydanticCustomError('invalid_file', _('Excel metadata file appears to be corrupted.'))
308
+
309
+ except (OSError, IOError):
310
+ raise PydanticCustomError('file_access_error', _('Cannot access Excel metadata file.'))
316
311
 
317
312
  return value
318
313
 
@@ -543,6 +538,24 @@ class UploadAction(Action):
543
538
  if row_count > self.excel_config.MAX_ROWS:
544
539
  raise ExcelParsingError(f'Too many rows: {row_count} (max: {self.excel_config.MAX_ROWS})')
545
540
 
541
+ def _find_excel_metadata_file(self, pathlib_cwd: Path) -> Optional[Path]:
542
+ """Find Excel metadata file in the directory.
543
+
544
+ Checks for meta.xlsx and meta.xls in the given directory.
545
+
546
+ Args:
547
+ pathlib_cwd (Path): The pathlib object representing the current working directory.
548
+
549
+ Returns:
550
+ Optional[Path]: Path to the Excel metadata file if found, None otherwise.
551
+ """
552
+ # Check for xlsx first, then xls
553
+ for extension in ['.xlsx', '.xls']:
554
+ excel_path = pathlib_cwd / f'meta{extension}'
555
+ if excel_path.exists() and excel_path.is_file():
556
+ return excel_path
557
+ return None
558
+
546
559
  def _read_excel_metadata(self, pathlib_cwd: Path) -> Dict[str, Dict[str, Any]]:
547
560
  """Read metadata from excel file with comprehensive security validation.
548
561
 
@@ -560,13 +573,20 @@ class UploadAction(Action):
560
573
  ExcelSecurityError: If security validation fails
561
574
  ExcelParsingError: If Excel content is invalid or exceeds limits
562
575
  """
563
- if not self.params.get('use_excel_metadata', False) or not self.params.get('excel_metadata_path'):
564
- return {}
576
+ excel_path = None
565
577
 
566
- excel_path = pathlib_cwd / self.params['excel_metadata_path']
567
- if not excel_path.exists():
568
- self.run.log_message(f'Excel metadata file not found: {excel_path}', context=Context.WARNING.value)
569
- return {}
578
+ # Check if user provided a specific excel_metadata_path
579
+ if self.params.get('excel_metadata_path'):
580
+ excel_path = pathlib_cwd / self.params['excel_metadata_path']
581
+ if not excel_path.exists():
582
+ self.run.log_message(f'Excel metadata file not found: {excel_path}', context=Context.WARNING.value)
583
+ return {}
584
+ else:
585
+ # Look for default meta.xlsx or meta.xls
586
+ excel_path = self._find_excel_metadata_file(pathlib_cwd)
587
+ if not excel_path:
588
+ # No Excel metadata file found, return empty dict (not an error)
589
+ return {}
570
590
 
571
591
  try:
572
592
  # Prepare Excel file with security validation
@@ -611,28 +631,26 @@ class UploadAction(Action):
611
631
  storage = self.client.get_storage(self.params['storage'])
612
632
  pathlib_cwd = get_pathlib(storage, self.params['path'])
613
633
 
614
- # Read excel metadata if configured
634
+ # Read excel metadata if configured or default file exists
615
635
  excel_metadata: Dict[str, Dict[str, Any]] = {}
616
636
  try:
617
637
  excel_metadata = self._read_excel_metadata(pathlib_cwd)
618
638
  if excel_metadata:
619
639
  self.run.log_message(f'Excel metadata loaded for {len(excel_metadata)} files')
620
- elif self.params.get('use_excel_metadata', False):
621
- self.run.log_message('Excel metadata enabled but no entries found')
622
- # Don't log anything if Excel metadata is not being used
623
640
  except ExcelSecurityError as e:
624
641
  # Security violations should stop the process entirely
625
642
  self.run.log_message(f'Excel security validation failed: {str(e)}', context=Context.ERROR.value)
626
643
  self.run.log_message('Upload aborted due to Excel security concerns.', context=Context.ERROR.value)
627
644
  return result
628
645
  except ExcelParsingError as e:
629
- # Parsing errors can be non-critical if Excel metadata is optional
630
- if self.params.get('use_excel_metadata', False):
646
+ # Parsing errors can be non-critical if user didn't explicitly provide Excel file
647
+ if self.params.get('excel_metadata_path'):
648
+ # User explicitly provided Excel file, treat as error
631
649
  self.run.log_message(f'Excel parsing failed: {str(e)}', context=Context.ERROR.value)
632
650
  self.run.log_message('Upload aborted due to Excel parsing failure.', context=Context.ERROR.value)
633
651
  return result
634
652
  else:
635
- # If Excel metadata is not explicitly enabled, treat as warning and continue
653
+ # Default Excel file found but failed to parse, treat as warning and continue
636
654
  self.run.log_message(f'Excel parsing failed (continuing): {str(e)}', context=Context.WARNING.value)
637
655
  excel_metadata = {}
638
656
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a94
3
+ Version: 1.0.0a95
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes