synapse-sdk 1.0.0b22__tar.gz → 1.0.0b24__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.
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.gitignore +1 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/AGENT.md +15 -0
- {synapse_sdk-1.0.0b22/synapse_sdk.egg-info → synapse_sdk-1.0.0b24}/PKG-INFO +2 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/pyproject.toml +2 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/clients/ray.md +1 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/index.md +5 -5
- synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/docs/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/docs/features}/utils/network.md +1 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +140 -0
- synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/docs/plugins/upload-plugins.md +680 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +1 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +5 -5
- synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
- synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features}/utils/network.md +1 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +138 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +48 -2
- synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/upload-plugins.md +897 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/sidebars.ts +11 -10
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/README.md +934 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +17 -2
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +20 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/action.py +623 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/enums.py +221 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/models.py +149 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/run.py +178 -0
- synapse_sdk-1.0.0b24/synapse_sdk/plugins/categories/upload/actions/upload/utils.py +139 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +6 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/models.py +13 -7
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/__init__.py +39 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/archive.py +32 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/checksum.py +56 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/chunking.py +31 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/download.py +124 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/encoding.py +40 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/io.py +22 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/video/__init__.py +29 -0
- synapse_sdk-1.0.0b24/synapse_sdk/utils/file/video/transcode.py +307 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24/synapse_sdk.egg-info}/PKG-INFO +2 -1
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk.egg-info/SOURCES.txt +43 -11
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk.egg-info/requires.txt +1 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_action.py +123 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_enums.py +74 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_exceptions.py +39 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_models.py +241 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_run.py +116 -0
- synapse_sdk-1.0.0b24/tests/plugins/upload/test_utils.py +152 -0
- synapse_sdk-1.0.0b24/tests/test_data/metadata.xlsx +0 -0
- synapse_sdk-1.0.0b24/tests/utils/file/__init__.py +1 -0
- synapse_sdk-1.0.0b24/tests/utils/file/test_archive.py +35 -0
- synapse_sdk-1.0.0b24/tests/utils/file/test_checksum.py +150 -0
- synapse_sdk-1.0.0b22/tests/utils/test_file.py → synapse_sdk-1.0.0b24/tests/utils/file/test_chunking.py +2 -145
- synapse_sdk-1.0.0b24/tests/utils/file/test_download.py +51 -0
- synapse_sdk-1.0.0b24/tests/utils/file/test_encoding.py +49 -0
- synapse_sdk-1.0.0b24/tests/utils/file/test_io.py +50 -0
- synapse_sdk-1.0.0b24/tests/utils/file/test_video_transcode.py +374 -0
- synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/docs/api/utils/file.md +0 -195
- synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/file.md +0 -195
- synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +0 -24
- synapse_sdk-1.0.0b22/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -1368
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.claude/commands/compare-branch.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.claude/commands/review-pr.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.claude/commands/update-pr-desc.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.claude/commands/update-pr-title.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.coverage +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.github/workflows/test.yml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.mcp.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/CLAUDE.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/GEMINI.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/LICENSE +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/Makefile +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/P1_rules.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/P2_rules.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/P3_rules.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/P4_rules.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/README.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/__token__ +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/pytest-ci.ini +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/pytest.ini +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/requirements.test.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/requirements.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/setup.cfg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/create.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/dataclass.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/default.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/delete.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/list.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/read.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/update.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/alias/utils.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/code_server.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/config.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/devtools.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/plugin/create.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/plugin/publish.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/cli/plugin/run.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/annotation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/core.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/data_collection.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/hitl.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/integration.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/backend/models.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/validators/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/clients/validators/collections.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/config.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/.gitignore +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/README.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/clients/agent.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/clients/backend.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/clients/base.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/plugins/categories.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/plugins/models.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/plugins/utils.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/categories.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/cli-usage.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/concepts/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/configuration.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/contributing.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/examples/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/faq.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/features/converters/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/features/index.md +0 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/docs/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/docs/features}/utils/storage.md +0 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/docs/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/docs/features}/utils/types.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/installation.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/introduction.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/plugins/plugins.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/quickstart.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/troubleshooting.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/code.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +0 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features}/utils/storage.md +0 -0
- {synapse_sdk-1.0.0b22/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api → synapse_sdk-1.0.0b24/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features}/utils/types.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/package-lock.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/package.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/server.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/app.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/services/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/services/job_service.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/services/plugin_service.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/services/serve_service.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/config_tab.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/http_tab.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/ui/status_bar.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/utils/styles.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app/utils/ui_components.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/streamlit_app.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/loggers.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/base.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/enums.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/schema.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/utils/actions.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/utils/config.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/utils/legacy.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/plugins/utils/registry.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/types.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/coco/from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/dm/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/dm/from_v1.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/dm/to_v1.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/pascal/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/pascal/from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/pascal/to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/yolo/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/yolo/from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/converters/yolo/to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/dataset.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/encryption.py +0 -0
- /synapse_sdk-1.0.0b22/synapse_sdk/utils/file.py → /synapse_sdk-1.0.0b24/synapse_sdk/utils/file.py.backup +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/http.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/network.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/file_system.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/http.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/s3.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/storage/registry.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk.egg-info/top_level.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/test_code_server.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/test_code_server_simple.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/README.md +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/test_backend_models.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/test_base_client.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/test_collection_validators.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/clients/test_ray_client.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/loggers/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/loggers/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/loggers/test_base_logger.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/data_validation/validation/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/data_validation/validation/test_validation_action.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/utils/test_actions.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/utils/test_config.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/plugins/utils/test_registry.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/test_cli.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/test_cli_integration.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/__init__,py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/__init__.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/coco.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/annotations.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data8.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data9.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/annotations.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data4.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data5.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data6.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/annotations.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/new_dm_data7.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/annotations.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data1.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data2.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data3.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_1.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_2.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_3.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_1.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_2.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_3.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_4.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_5.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_6.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_7.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_4.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_5.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_6.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_7.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_8.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_9.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_8.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_9.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_1.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_2.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_3.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_1.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_2.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_3.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/ver1/json/25669.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/dm/ver2/json/25669.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9139.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9140.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9141.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9139.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9140.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9141.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9136.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9137.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9138.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9136.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9137.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9138.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9125.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9126.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9127.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9125.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9126.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9127.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9122.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9123.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9124.xml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9122.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9123.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9124.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/dataset.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13744.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13745.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13746.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13744.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13745.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13746.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/images/13782.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/labels/13782.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13761.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13764.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13761.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13764.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/dataset.yaml +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25332.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25334.jpg +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25332.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25334.txt +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/pcd/dm/ver1/json/23791.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/pcd/dm/ver2/json/23791.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/prompt/dm/ver1/json/18662.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/prompt/dm/ver2/json/18662.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/text/dm/ver1/json/23811.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/text/dm/ver2/json/23811.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/video/dm/ver1/json/23831.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/data_types/video/dm/ver2/json/23831.json +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/dm_schema.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/pascal.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/fixtures/yolo.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_coco_from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_coco_to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_dm_v1_to_v2.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_dm_v2_to_v1.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_pascal_from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_pascal_to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_yolo_from_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/converters/test_yolo_to_dm.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/storage/conftest.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/storage/test_file_system_storage.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/storage/test_provider_selection.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/test_debug.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/tests/utils/test_network.py +0 -0
- {synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/uv.lock +0 -0
|
@@ -156,6 +156,21 @@ Each plugin includes:
|
|
|
156
156
|
- `requirements.txt`: Python dependencies
|
|
157
157
|
- Template-based scaffolding for rapid development
|
|
158
158
|
|
|
159
|
+
### Plugin Development Reference
|
|
160
|
+
|
|
161
|
+
**When making changes to plugins or developing new plugin functionality:**
|
|
162
|
+
|
|
163
|
+
- **Refer to the comprehensive plugin documentation**: `synapse_sdk/plugins/README.md`
|
|
164
|
+
- Do NOT rely solely on the overview in this AGENT.md file
|
|
165
|
+
|
|
166
|
+
The plugins README contains:
|
|
167
|
+
- Detailed architecture documentation
|
|
168
|
+
- Plugin action structure guidelines
|
|
169
|
+
- Modular development patterns
|
|
170
|
+
- Code examples from real implementations
|
|
171
|
+
- Migration guides for refactoring
|
|
172
|
+
- Best practices for plugin development
|
|
173
|
+
|
|
159
174
|
## 📚 Documentation Management
|
|
160
175
|
|
|
161
176
|
The project uses **Docusaurus** for documentation with a structured approach:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: synapse-sdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0b24
|
|
4
4
|
Summary: synapse sdk
|
|
5
5
|
Author-email: datamaker <developer@datamaker.io>
|
|
6
6
|
License: MIT
|
|
@@ -23,6 +23,7 @@ Requires-Dist: fsspec[gcs,s3,sftp]
|
|
|
23
23
|
Requires-Dist: inquirer
|
|
24
24
|
Requires-Dist: pillow
|
|
25
25
|
Requires-Dist: websockets
|
|
26
|
+
Requires-Dist: ffmpeg-python==0.2.0
|
|
26
27
|
Provides-Extra: all
|
|
27
28
|
Requires-Dist: ray[all]==2.44.1; extra == "all"
|
|
28
29
|
Requires-Dist: python-nmap; extra == "all"
|
{synapse_sdk-1.0.0b22 → synapse_sdk-1.0.0b24}/synapse_sdk/devtools/docs/docs/api/clients/ray.md
RENAMED
|
@@ -318,4 +318,4 @@ RayClient is designed for concurrent use with proper thread safety mechanisms:
|
|
|
318
318
|
|
|
319
319
|
- [AgentClient](./agent.md) - For agent-specific operations
|
|
320
320
|
- [BaseClient](./base.md) - Base client implementation
|
|
321
|
-
- [Network Utilities](
|
|
321
|
+
- [Network Utilities](../../features/utils/network.md) - Streaming and validation utilities
|
|
@@ -22,13 +22,13 @@ Client classes for interacting with backend services and agents.
|
|
|
22
22
|
|
|
23
23
|
Core plugin system components.
|
|
24
24
|
|
|
25
|
-
### [Utilities](
|
|
25
|
+
### [Utilities](../features/utils/file.md)
|
|
26
26
|
Helper functions and utilities.
|
|
27
27
|
|
|
28
|
-
- **[File Utils](
|
|
29
|
-
- **[Network](
|
|
30
|
-
- **[Storage](
|
|
31
|
-
- **[Types](
|
|
28
|
+
- **[File Utils](../features/utils/file.md)** - File operations and handling
|
|
29
|
+
- **[Network](../features/utils/network.md)** - Streaming, validation, and connection management
|
|
30
|
+
- **[Storage](../features/utils/storage.md)** - Storage providers (S3, GCS, SFTP)
|
|
31
|
+
- **[Types](../features/utils/types.md)** - Custom types and fields
|
|
32
32
|
|
|
33
33
|
## Quick Reference
|
|
34
34
|
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: file
|
|
3
|
+
title: File Utilities
|
|
4
|
+
sidebar_position: 1
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# File Utilities
|
|
8
|
+
|
|
9
|
+
Comprehensive file operations and handling utilities organized in a modular structure for better maintainability and functionality.
|
|
10
|
+
|
|
11
|
+
## Module Overview
|
|
12
|
+
|
|
13
|
+
The file utilities have been refactored into a modular structure with specialized modules for different operations:
|
|
14
|
+
|
|
15
|
+
- **`synapse_sdk.utils.file.archive`** - ZIP archive creation and extraction
|
|
16
|
+
- **`synapse_sdk.utils.file.checksum`** - File hash calculations and verification
|
|
17
|
+
- **`synapse_sdk.utils.file.chunking`** - Memory-efficient file reading in chunks
|
|
18
|
+
- **`synapse_sdk.utils.file.download`** - File downloading utilities with async support
|
|
19
|
+
- **`synapse_sdk.utils.file.encoding`** - Base64 encoding and file format handling
|
|
20
|
+
- **`synapse_sdk.utils.file.io`** - General I/O operations for JSON/YAML files
|
|
21
|
+
- **`synapse_sdk.utils.file.video`** - Video transcoding and format conversion
|
|
22
|
+
|
|
23
|
+
### Backward Compatibility
|
|
24
|
+
|
|
25
|
+
All functions remain accessible from the main module import:
|
|
26
|
+
|
|
27
|
+
```python
|
|
28
|
+
# Both approaches work identically
|
|
29
|
+
from synapse_sdk.utils.file import read_file_in_chunks, download_file
|
|
30
|
+
from synapse_sdk.utils.file.chunking import read_file_in_chunks
|
|
31
|
+
from synapse_sdk.utils.file.download import download_file
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Archive Operations
|
|
35
|
+
|
|
36
|
+
Functions for creating and extracting ZIP archives.
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
from synapse_sdk.utils.file.archive import archive, unarchive
|
|
40
|
+
|
|
41
|
+
# Create archive
|
|
42
|
+
archive('/path/to/directory', '/path/to/output.zip')
|
|
43
|
+
|
|
44
|
+
# Extract archive
|
|
45
|
+
unarchive('/path/to/archive.zip', '/path/to/extract/directory')
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Chunked File Operations
|
|
49
|
+
|
|
50
|
+
### read_file_in_chunks
|
|
51
|
+
|
|
52
|
+
Read files in chunks for efficient memory usage, particularly useful for large files or when processing files in chunks for uploading or hashing.
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from synapse_sdk.utils.file.chunking import read_file_in_chunks
|
|
56
|
+
|
|
57
|
+
# Read a file in default 50MB chunks
|
|
58
|
+
for chunk in read_file_in_chunks('/path/to/large_file.bin'):
|
|
59
|
+
process_chunk(chunk)
|
|
60
|
+
|
|
61
|
+
# Read with custom chunk size (10MB)
|
|
62
|
+
for chunk in read_file_in_chunks('/path/to/file.bin', chunk_size=1024*1024*10):
|
|
63
|
+
upload_chunk(chunk)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Parameters:**
|
|
67
|
+
|
|
68
|
+
- `file_path` (str | Path): Path to the file to read
|
|
69
|
+
- `chunk_size` (int, optional): Size of each chunk in bytes. Defaults to 50MB (52,428,800 bytes)
|
|
70
|
+
|
|
71
|
+
**Returns:**
|
|
72
|
+
|
|
73
|
+
- Generator yielding file content chunks as bytes
|
|
74
|
+
|
|
75
|
+
**Raises:**
|
|
76
|
+
|
|
77
|
+
- `FileNotFoundError`: If the file doesn't exist
|
|
78
|
+
- `PermissionError`: If the file can't be read due to permissions
|
|
79
|
+
- `OSError`: If there's an OS-level error reading the file
|
|
80
|
+
|
|
81
|
+
### Use Cases
|
|
82
|
+
|
|
83
|
+
**Large File Processing**: Efficiently process files that are too large to fit in memory:
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
import hashlib
|
|
87
|
+
|
|
88
|
+
def calculate_hash_for_large_file(file_path):
|
|
89
|
+
hash_md5 = hashlib.md5()
|
|
90
|
+
for chunk in read_file_in_chunks(file_path):
|
|
91
|
+
hash_md5.update(chunk)
|
|
92
|
+
return hash_md5.hexdigest()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Chunked Upload Integration**: The function integrates seamlessly with the `CoreClientMixin.create_chunked_upload` method:
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
from synapse_sdk.clients.backend.core import CoreClientMixin
|
|
99
|
+
|
|
100
|
+
client = CoreClientMixin(base_url='https://api.example.com')
|
|
101
|
+
result = client.create_chunked_upload('/path/to/large_file.zip')
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Best Practices:**
|
|
105
|
+
|
|
106
|
+
- Use default chunk size (50MB) for optimal upload performance
|
|
107
|
+
- Adjust chunk size based on available memory and network conditions
|
|
108
|
+
- For very large files (>1GB), consider using smaller chunks for better progress tracking
|
|
109
|
+
- Always handle exceptions when working with file operations
|
|
110
|
+
|
|
111
|
+
## Checksum Functions
|
|
112
|
+
|
|
113
|
+
### calculate_checksum
|
|
114
|
+
|
|
115
|
+
Calculate checksum for regular files:
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
from synapse_sdk.utils.file.checksum import calculate_checksum
|
|
119
|
+
|
|
120
|
+
checksum = calculate_checksum('/path/to/file.bin')
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### get_checksum_from_file
|
|
124
|
+
|
|
125
|
+
Calculate checksum for file-like objects without requiring Django dependencies. This function works with any file-like object that has a `read()` method, making it compatible with Django's File objects, BytesIO, StringIO, and regular file objects.
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
import hashlib
|
|
129
|
+
from io import BytesIO
|
|
130
|
+
from synapse_sdk.utils.file.checksum import get_checksum_from_file
|
|
131
|
+
|
|
132
|
+
# Basic usage with BytesIO (defaults to SHA1)
|
|
133
|
+
data = BytesIO(b'Hello, world!')
|
|
134
|
+
checksum = get_checksum_from_file(data)
|
|
135
|
+
print(checksum) # SHA1 hash as hexadecimal string
|
|
136
|
+
|
|
137
|
+
# Using different hash algorithms
|
|
138
|
+
checksum_md5 = get_checksum_from_file(data, digest_mod=hashlib.md5)
|
|
139
|
+
checksum_sha256 = get_checksum_from_file(data, digest_mod=hashlib.sha256)
|
|
140
|
+
|
|
141
|
+
# With real file objects
|
|
142
|
+
with open('/path/to/file.txt', 'rb') as f:
|
|
143
|
+
checksum = get_checksum_from_file(f)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Parameters:**
|
|
147
|
+
|
|
148
|
+
- `file` (IO[Any]): File-like object with read() method that supports reading in chunks
|
|
149
|
+
- `digest_mod` (Callable[[], Any], optional): Hash algorithm from hashlib. Defaults to `hashlib.sha1`
|
|
150
|
+
|
|
151
|
+
**Returns:**
|
|
152
|
+
|
|
153
|
+
- `str`: Hexadecimal digest of the file contents
|
|
154
|
+
|
|
155
|
+
**Key Features:**
|
|
156
|
+
|
|
157
|
+
- **Memory Efficient**: Reads files in 4KB chunks to handle large files
|
|
158
|
+
- **Automatic File Pointer Reset**: Resets to beginning if the file object supports seeking
|
|
159
|
+
- **Text/Binary Agnostic**: Handles both text (StringIO) and binary (BytesIO) file objects
|
|
160
|
+
- **No Django Dependency**: Works without Django while being compatible with Django File objects
|
|
161
|
+
- **Flexible Hash Algorithms**: Supports any hashlib algorithm (SHA1, SHA256, MD5, etc.)
|
|
162
|
+
|
|
163
|
+
## Download Functions
|
|
164
|
+
|
|
165
|
+
Utilities for downloading files from URLs with both synchronous and asynchronous support.
|
|
166
|
+
|
|
167
|
+
```python
|
|
168
|
+
from synapse_sdk.utils.file.download import download_file, adownload_file
|
|
169
|
+
|
|
170
|
+
# Synchronous download
|
|
171
|
+
local_path = download_file(url, destination)
|
|
172
|
+
|
|
173
|
+
# Asynchronous download
|
|
174
|
+
import asyncio
|
|
175
|
+
local_path = await adownload_file(url, destination)
|
|
176
|
+
|
|
177
|
+
# URL to path conversion for multiple files
|
|
178
|
+
from synapse_sdk.utils.file.download import files_url_to_path
|
|
179
|
+
paths = files_url_to_path(url_list, destination_directory)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Encoding Functions
|
|
183
|
+
|
|
184
|
+
Base64 encoding utilities for files.
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
from synapse_sdk.utils.file.encoding import convert_file_to_base64
|
|
188
|
+
|
|
189
|
+
# Convert file to base64
|
|
190
|
+
base64_data = convert_file_to_base64('/path/to/file.jpg')
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## I/O Functions
|
|
194
|
+
|
|
195
|
+
General I/O operations for structured data files.
|
|
196
|
+
|
|
197
|
+
```python
|
|
198
|
+
from synapse_sdk.utils.file.io import get_dict_from_file, get_temp_path
|
|
199
|
+
|
|
200
|
+
# Load dictionary from JSON or YAML file
|
|
201
|
+
config = get_dict_from_file('/path/to/config.json')
|
|
202
|
+
settings = get_dict_from_file('/path/to/settings.yaml')
|
|
203
|
+
|
|
204
|
+
# Get temporary file path
|
|
205
|
+
temp_path = get_temp_path()
|
|
206
|
+
temp_subpath = get_temp_path('subdir/file.tmp')
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Video Transcoding
|
|
210
|
+
|
|
211
|
+
Advanced video transcoding capabilities using FFmpeg for format conversion, compression, and optimization.
|
|
212
|
+
|
|
213
|
+
### Requirements
|
|
214
|
+
|
|
215
|
+
- **ffmpeg-python**: `pip install ffmpeg-python`
|
|
216
|
+
- **FFmpeg**: Must be installed on the system and available in PATH
|
|
217
|
+
|
|
218
|
+
### Supported Video Formats
|
|
219
|
+
|
|
220
|
+
The video module supports a wide range of input formats:
|
|
221
|
+
- **MP4** (.mp4, .m4v)
|
|
222
|
+
- **AVI** (.avi)
|
|
223
|
+
- **MOV** (.mov)
|
|
224
|
+
- **MKV** (.mkv)
|
|
225
|
+
- **WebM** (.webm)
|
|
226
|
+
- **FLV** (.flv)
|
|
227
|
+
- **WMV** (.wmv)
|
|
228
|
+
- **MPEG** (.mpeg, .mpg)
|
|
229
|
+
- **3GP** (.3gp)
|
|
230
|
+
- **OGV** (.ogv)
|
|
231
|
+
|
|
232
|
+
### Core Functions
|
|
233
|
+
|
|
234
|
+
#### validate_video_format
|
|
235
|
+
|
|
236
|
+
Check if a file has a supported video format:
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
from synapse_sdk.utils.file.video.transcode import validate_video_format
|
|
240
|
+
|
|
241
|
+
if validate_video_format('video.mp4'):
|
|
242
|
+
print("Supported format")
|
|
243
|
+
else:
|
|
244
|
+
print("Unsupported format")
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
#### get_video_info
|
|
248
|
+
|
|
249
|
+
Extract metadata from video files:
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
from synapse_sdk.utils.file.video.transcode import get_video_info
|
|
253
|
+
|
|
254
|
+
info = get_video_info('input.mp4')
|
|
255
|
+
print(f"Duration: {info['duration']} seconds")
|
|
256
|
+
print(f"Resolution: {info['width']}x{info['height']}")
|
|
257
|
+
print(f"Video Codec: {info['video_codec']}")
|
|
258
|
+
print(f"Audio Codec: {info['audio_codec']}")
|
|
259
|
+
print(f"FPS: {info['fps']}")
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
#### transcode_video
|
|
263
|
+
|
|
264
|
+
Main transcoding function with extensive configuration options:
|
|
265
|
+
|
|
266
|
+
```python
|
|
267
|
+
from synapse_sdk.utils.file.video.transcode import transcode_video, TranscodeConfig
|
|
268
|
+
from pathlib import Path
|
|
269
|
+
|
|
270
|
+
# Basic transcoding with default settings
|
|
271
|
+
output_path = transcode_video('input.avi', 'output.mp4')
|
|
272
|
+
|
|
273
|
+
# Custom configuration
|
|
274
|
+
config = TranscodeConfig(
|
|
275
|
+
vcodec='libx264', # Video codec
|
|
276
|
+
preset='fast', # Encoding speed vs quality
|
|
277
|
+
crf=20, # Quality (lower = better quality)
|
|
278
|
+
acodec='aac', # Audio codec
|
|
279
|
+
audio_bitrate='128k', # Audio bitrate
|
|
280
|
+
resolution='1920x1080', # Output resolution
|
|
281
|
+
fps=30, # Frame rate
|
|
282
|
+
start_time=10.0, # Start from 10 seconds
|
|
283
|
+
duration=60.0 # Only process 60 seconds
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
output_path = transcode_video('input.mkv', 'output.mp4', config)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
#### TranscodeConfig Options
|
|
290
|
+
|
|
291
|
+
```python
|
|
292
|
+
@dataclass
|
|
293
|
+
class TranscodeConfig:
|
|
294
|
+
vcodec: str = 'libx264' # Video codec (libx264, libx265, etc.)
|
|
295
|
+
preset: str = 'medium' # Encoding preset (fast, medium, slow)
|
|
296
|
+
crf: int = 28 # Quality factor (0-51, lower = better)
|
|
297
|
+
acodec: str = 'aac' # Audio codec (aac, opus, etc.)
|
|
298
|
+
audio_bitrate: str = '128k' # Audio bitrate
|
|
299
|
+
movflags: str = '+faststart' # MP4 optimization flags
|
|
300
|
+
resolution: Optional[str] = None # Output resolution (e.g., '1920x1080')
|
|
301
|
+
fps: Optional[int] = None # Output frame rate
|
|
302
|
+
start_time: Optional[float] = None # Start time in seconds
|
|
303
|
+
duration: Optional[float] = None # Duration to process in seconds
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
#### Progress Callback Support
|
|
307
|
+
|
|
308
|
+
Monitor transcoding progress with callback functions:
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
def progress_callback(progress_percent):
|
|
312
|
+
print(f"Progress: {progress_percent:.1f}%")
|
|
313
|
+
|
|
314
|
+
output_path = transcode_video(
|
|
315
|
+
'input.mp4',
|
|
316
|
+
'output.mp4',
|
|
317
|
+
progress_callback=progress_callback
|
|
318
|
+
)
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### optimize_for_web
|
|
322
|
+
|
|
323
|
+
Quick web optimization with predefined settings:
|
|
324
|
+
|
|
325
|
+
```python
|
|
326
|
+
from synapse_sdk.utils.file.video.transcode import optimize_for_web
|
|
327
|
+
|
|
328
|
+
# Optimized for web streaming with fast start
|
|
329
|
+
web_video = optimize_for_web('input.mov', 'web_output.mp4')
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
This function uses optimized settings:
|
|
333
|
+
- Fast encoding preset
|
|
334
|
+
- Web-friendly compression (CRF 23)
|
|
335
|
+
- Fast start flag for streaming
|
|
336
|
+
- Fragment keyframes for better web compatibility
|
|
337
|
+
|
|
338
|
+
### Error Handling
|
|
339
|
+
|
|
340
|
+
The video module provides specific exceptions:
|
|
341
|
+
|
|
342
|
+
```python
|
|
343
|
+
from synapse_sdk.utils.file.video.transcode import (
|
|
344
|
+
VideoTranscodeError,
|
|
345
|
+
UnsupportedFormatError,
|
|
346
|
+
FFmpegNotFoundError,
|
|
347
|
+
TranscodingFailedError
|
|
348
|
+
)
|
|
349
|
+
|
|
350
|
+
try:
|
|
351
|
+
transcode_video('input.xyz', 'output.mp4')
|
|
352
|
+
except UnsupportedFormatError:
|
|
353
|
+
print("Input format not supported")
|
|
354
|
+
except FFmpegNotFoundError:
|
|
355
|
+
print("FFmpeg not installed")
|
|
356
|
+
except TranscodingFailedError as e:
|
|
357
|
+
print(f"Transcoding failed: {e}")
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Advanced Usage Examples
|
|
361
|
+
|
|
362
|
+
**Batch Processing**:
|
|
363
|
+
|
|
364
|
+
```python
|
|
365
|
+
import os
|
|
366
|
+
from pathlib import Path
|
|
367
|
+
|
|
368
|
+
input_dir = Path('/path/to/videos')
|
|
369
|
+
output_dir = Path('/path/to/output')
|
|
370
|
+
|
|
371
|
+
for video_file in input_dir.glob('*'):
|
|
372
|
+
if validate_video_format(video_file):
|
|
373
|
+
output_file = output_dir / f"{video_file.stem}.mp4"
|
|
374
|
+
try:
|
|
375
|
+
transcode_video(video_file, output_file)
|
|
376
|
+
print(f"Processed: {video_file.name}")
|
|
377
|
+
except VideoTranscodeError as e:
|
|
378
|
+
print(f"Failed to process {video_file.name}: {e}")
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Quality Optimization**:
|
|
382
|
+
|
|
383
|
+
```python
|
|
384
|
+
# High quality for archival
|
|
385
|
+
archive_config = TranscodeConfig(
|
|
386
|
+
preset='slow',
|
|
387
|
+
crf=18,
|
|
388
|
+
audio_bitrate='256k'
|
|
389
|
+
)
|
|
390
|
+
|
|
391
|
+
# Small size for mobile
|
|
392
|
+
mobile_config = TranscodeConfig(
|
|
393
|
+
preset='fast',
|
|
394
|
+
crf=28,
|
|
395
|
+
resolution='1280x720',
|
|
396
|
+
audio_bitrate='96k'
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
# Apply different configs
|
|
400
|
+
archive_output = transcode_video(input_file, 'archive.mp4', archive_config)
|
|
401
|
+
mobile_output = transcode_video(input_file, 'mobile.mp4', mobile_config)
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
**Video Clipping**:
|
|
405
|
+
|
|
406
|
+
```python
|
|
407
|
+
# Extract 30-second clip starting from 1 minute
|
|
408
|
+
clip_config = TranscodeConfig(
|
|
409
|
+
start_time=60.0, # Start at 1 minute
|
|
410
|
+
duration=30.0, # Extract 30 seconds
|
|
411
|
+
crf=20 # High quality
|
|
412
|
+
)
|
|
413
|
+
|
|
414
|
+
clip = transcode_video('long_video.mp4', 'clip.mp4', clip_config)
|
|
415
|
+
```
|
|
@@ -373,6 +373,6 @@ production_limits = StreamLimits(
|
|
|
373
373
|
|
|
374
374
|
## See Also
|
|
375
375
|
|
|
376
|
-
- [RayClient](
|
|
376
|
+
- [RayClient](../../api/clients/ray.md) - Primary consumer of network utilities
|
|
377
377
|
- [File Utils](./file.md) - File operations and handling
|
|
378
378
|
- [Storage](./storage.md) - Storage providers
|
|
@@ -213,6 +213,7 @@ class Exporter(BaseExporter):
|
|
|
213
213
|
- **before_convert()**: Pre-process data before conversion
|
|
214
214
|
- **after_convert()**: Post-process data after conversion
|
|
215
215
|
- **process_file_saving()**: Custom file saving logic
|
|
216
|
+
- **additional_file_saving()**: Save additional files after processing all export items
|
|
216
217
|
|
|
217
218
|
### Helper Methods
|
|
218
219
|
|
|
@@ -225,6 +226,145 @@ class Exporter(BaseExporter):
|
|
|
225
226
|
- Logging via `self.run.log_message()` and other run methods
|
|
226
227
|
- Error handling and metrics collection via self.run methods
|
|
227
228
|
|
|
229
|
+
## Additional File Saving
|
|
230
|
+
|
|
231
|
+
The `additional_file_saving()` method is called after all export items have been processed and is designed for saving files that depend on the collective data from all processed items. This is useful for creating:
|
|
232
|
+
|
|
233
|
+
- Metadata files (e.g., dataset statistics, class mappings)
|
|
234
|
+
- Configuration files (e.g., dataset.yaml for YOLO, classes.txt)
|
|
235
|
+
- Summary files (e.g., export reports, processing logs)
|
|
236
|
+
- Index files (e.g., file lists, directory structures)
|
|
237
|
+
|
|
238
|
+
### Method Signature
|
|
239
|
+
|
|
240
|
+
```python
|
|
241
|
+
def additional_file_saving(self, unique_export_path):
|
|
242
|
+
"""Save additional files after processing all export items.
|
|
243
|
+
|
|
244
|
+
This method is called after the main export loop completes and is intended
|
|
245
|
+
for saving files that need to be created based on the collective data from
|
|
246
|
+
all processed export items (e.g., metadata files, configuration files,
|
|
247
|
+
summary files, etc.).
|
|
248
|
+
|
|
249
|
+
Args:
|
|
250
|
+
unique_export_path (str): The unique export directory path where
|
|
251
|
+
additional files should be saved.
|
|
252
|
+
"""
|
|
253
|
+
pass
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Example Usage
|
|
257
|
+
|
|
258
|
+
```python
|
|
259
|
+
class YOLOExporter(BaseExporter):
|
|
260
|
+
def __init__(self, run, export_items, path_root, **params):
|
|
261
|
+
super().__init__(run, export_items, path_root, **params)
|
|
262
|
+
self.class_names = set()
|
|
263
|
+
self.dataset_stats = {
|
|
264
|
+
'total_images': 0,
|
|
265
|
+
'total_annotations': 0,
|
|
266
|
+
'class_distribution': {}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
def convert_data(self, data):
|
|
270
|
+
# Track classes and stats during conversion
|
|
271
|
+
for annotation in data.get('annotations', []):
|
|
272
|
+
class_name = annotation['class_name']
|
|
273
|
+
self.class_names.add(class_name)
|
|
274
|
+
self.dataset_stats['class_distribution'][class_name] = \
|
|
275
|
+
self.dataset_stats['class_distribution'].get(class_name, 0) + 1
|
|
276
|
+
|
|
277
|
+
self.dataset_stats['total_images'] += 1
|
|
278
|
+
self.dataset_stats['total_annotations'] += len(data.get('annotations', []))
|
|
279
|
+
|
|
280
|
+
return data # ... rest of conversion logic
|
|
281
|
+
|
|
282
|
+
def additional_file_saving(self, unique_export_path):
|
|
283
|
+
"""Save YOLO configuration and metadata files."""
|
|
284
|
+
data_dir = Path(unique_export_path) / 'data'
|
|
285
|
+
data_dir.mkdir(exist_ok=True)
|
|
286
|
+
|
|
287
|
+
# 1. Save classes.txt file
|
|
288
|
+
classes_file = data_dir / 'classes.txt'
|
|
289
|
+
with classes_file.open('w') as f:
|
|
290
|
+
for class_name in sorted(self.class_names):
|
|
291
|
+
f.write(f"{class_name}\n")
|
|
292
|
+
self.run.log_message(f"Saved classes file: {classes_file}")
|
|
293
|
+
|
|
294
|
+
# 2. Save dataset.yaml file
|
|
295
|
+
dataset_config = {
|
|
296
|
+
'path': str(unique_export_path),
|
|
297
|
+
'train': 'images',
|
|
298
|
+
'val': 'images',
|
|
299
|
+
'names': {i: name for i, name in enumerate(sorted(self.class_names))}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
dataset_file = data_dir / 'dataset.yaml'
|
|
303
|
+
with dataset_file.open('w') as f:
|
|
304
|
+
yaml.dump(dataset_config, f, default_flow_style=False)
|
|
305
|
+
self.run.log_message(f"Saved dataset config: {dataset_file}")
|
|
306
|
+
|
|
307
|
+
# 3. Save export statistics
|
|
308
|
+
stats_file = data_dir / 'export_stats.json'
|
|
309
|
+
with stats_file.open('w') as f:
|
|
310
|
+
json.dump(self.dataset_stats, f, indent=2)
|
|
311
|
+
self.run.log_message(f"Saved export statistics: {stats_file}")
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Common Use Cases
|
|
315
|
+
|
|
316
|
+
#### 1. Dataset Configuration Files
|
|
317
|
+
```python
|
|
318
|
+
def additional_file_saving(self, unique_export_path):
|
|
319
|
+
# Create dataset configuration for training frameworks
|
|
320
|
+
config = {
|
|
321
|
+
'dataset_name': self.params.get('name'),
|
|
322
|
+
'created_at': datetime.now().isoformat(),
|
|
323
|
+
'total_samples': len(self.processed_items),
|
|
324
|
+
'classes': list(self.class_mapping.keys())
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
config_file = Path(unique_export_path) / 'dataset_config.json'
|
|
328
|
+
with config_file.open('w') as f:
|
|
329
|
+
json.dump(config, f, indent=2)
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
#### 2. Export Summary Reports
|
|
333
|
+
```python
|
|
334
|
+
def additional_file_saving(self, unique_export_path):
|
|
335
|
+
# Generate export summary
|
|
336
|
+
summary = {
|
|
337
|
+
'export_info': {
|
|
338
|
+
'plugin_name': self.__class__.__name__,
|
|
339
|
+
'export_time': datetime.now().isoformat(),
|
|
340
|
+
'export_path': str(unique_export_path)
|
|
341
|
+
},
|
|
342
|
+
'statistics': self.get_export_statistics(),
|
|
343
|
+
'errors': self.get_error_summary()
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
summary_file = Path(unique_export_path) / 'export_summary.json'
|
|
347
|
+
with summary_file.open('w') as f:
|
|
348
|
+
json.dump(summary, f, indent=2)
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
#### 3. Index and Manifest Files
|
|
352
|
+
```python
|
|
353
|
+
def additional_file_saving(self, unique_export_path):
|
|
354
|
+
# Create file index for processed items
|
|
355
|
+
file_index = []
|
|
356
|
+
for item in self.processed_items:
|
|
357
|
+
file_index.append({
|
|
358
|
+
'original_file': item['original_filename'],
|
|
359
|
+
'json_file': f"{item['stem']}.json",
|
|
360
|
+
'processed_at': item['timestamp']
|
|
361
|
+
})
|
|
362
|
+
|
|
363
|
+
index_file = Path(unique_export_path) / 'file_index.json'
|
|
364
|
+
with index_file.open('w') as f:
|
|
365
|
+
json.dump(file_index, f, indent=2)
|
|
366
|
+
```
|
|
367
|
+
|
|
228
368
|
## Key Features
|
|
229
369
|
|
|
230
370
|
- **Progress Tracking**: Built-in progress monitoring with `run.set_progress()`
|