synapse-sdk 1.0.0a78__tar.gz → 1.0.0a79__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.0a78 → synapse_sdk-1.0.0a79}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/__init__.py +32 -3
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/yolo/from_dm.py +85 -3
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/yolo/to_dm.py +69 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.claude/commands/compare-branch.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.claude/commands/review-pr.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.coverage +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.github/workflows/test.yml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.gitignore +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.mcp.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/AGENT.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/CLAUDE.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/GEMINI.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/LICENSE +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/Makefile +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/P1_rules.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/P2_rules.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/P3_rules.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/P4_rules.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/README.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/clients/agent.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/clients/backend.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/clients/base.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/plugins/categories.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/plugins/models.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/plugins/utils.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/utils/file.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/utils/storage.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/api/utils/types.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/categories.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/concepts/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/configuration.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/contributing.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/examples/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/faq.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/features/converters/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/features/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/features/plugins/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/code.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/installation.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/introduction.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/quickstart.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/troubleshooting.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/_category_.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/congratulations.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/create-a-blog-post.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/create-a-document.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/create-a-page.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/deploy-your-site.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-basics/markdown-features.mdx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/_category_.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/img/localeDropdown.png +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/manage-docs-versions.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/translate-your-site.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/pytest-ci.ini +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/pytest.ini +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/requirements.test.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/requirements.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/setup.cfg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/create.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/dataclass.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/default.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/delete.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/list.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/read.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/update.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/alias/utils.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/config.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/devtools.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/plugin/create.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/plugin/publish.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/cli/plugin/run.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/annotation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/core.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/data_collection.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/hitl.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/integration.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/models.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/validators/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/validators/collections.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/config.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/.gitignore +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/README.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/package-lock.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/package.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/sidebars.ts +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/models.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/server.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/utils.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/.gitignore +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/README.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/dist/index.html +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/index.html +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/jsconfig.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/package-lock.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/package.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/pnpm-lock.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/App.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/App.module.css +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/assets/favicon.ico +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/Breadcrumbs.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/Layout.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/LogViewer.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/MessageViewer.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/NavigationSidebar.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/ServerStatusBar.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/components/icons.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/index.css +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/index.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/logo.svg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/router.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/utils/api.js +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/views/ApplicationDetailView.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/views/ApplicationsView.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/views/HomeView.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/views/JobDetailView.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/src/views/PluginView.jsx +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/web/vite.config.js +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/loggers.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/base.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/enums.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/models.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/schema.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/utils/actions.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/utils/config.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/utils/legacy.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/plugins/utils/registry.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/types.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/coco/from_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/dm/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/dm/from_v1.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/dm/to_v1.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/pascal/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/pascal/from_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/pascal/to_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/converters/yolo/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/dataset.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/file.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/http.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/network.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/providers/http.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/providers/s3.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/storage/registry.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/SOURCES.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/requires.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk.egg-info/top_level.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/README.md +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/clients/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/clients/test_backend_models.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/clients/test_base_client.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/clients/test_collection_validators.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/loggers/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/loggers/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/loggers/test_base_logger.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/plugins/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/plugins/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/plugins/utils/test_actions.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/plugins/utils/test_config.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/plugins/utils/test_registry.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/test_cli.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/test_cli_integration.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/__init__,py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/__init__.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/coco.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/annotations.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data8.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data9.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/annotations.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data4.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data5.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data6.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/annotations.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/new_dm_data7.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/annotations.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data1.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data2.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data3.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_1.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_2.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_3.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_1.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_2.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_3.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_4.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_5.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_6.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_7.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_4.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_5.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_6.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_7.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_8.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_9.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_8.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_9.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_1.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_2.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_3.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_1.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_2.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_3.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/ver1/json/25669.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/dm/ver2/json/25669.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9139.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9140.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9141.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9139.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9140.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9141.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9136.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9137.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9138.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9136.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9137.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9138.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9125.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9126.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9127.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9125.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9126.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9127.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9122.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9123.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9124.xml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9122.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9123.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9124.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/dataset.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13744.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13745.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13746.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13744.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13745.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13746.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/images/13782.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/labels/13782.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13761.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13764.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13761.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13764.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/classes.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/dataset.yaml +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25332.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25334.jpg +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25332.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25334.txt +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/pcd/dm/ver1/json/23791.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/pcd/dm/ver2/json/23791.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/prompt/dm/ver1/json/18662.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/prompt/dm/ver2/json/18662.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/text/dm/ver1/json/23811.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/text/dm/ver2/json/23811.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/video/dm/ver1/json/23831.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/data_types/video/dm/ver2/json/23831.json +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/dm_schema.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/pascal.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/fixtures/yolo.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_coco_from_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_coco_to_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_dm_v1_to_v2.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_dm_v2_to_v1.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_pascal_from_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_pascal_to_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_yolo_from_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/converters/test_yolo_to_dm.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/storage/conftest.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/storage/test_provider_selection.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/tests/utils/test_debug.py +0 -0
- {synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/uv.lock +0 -0
|
@@ -2,16 +2,25 @@ import json
|
|
|
2
2
|
import os
|
|
3
3
|
import shutil
|
|
4
4
|
import uuid
|
|
5
|
+
from typing import IO
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class BaseConverter:
|
|
8
9
|
"""Base class for shared logic between converters."""
|
|
9
10
|
|
|
10
|
-
def __init__(
|
|
11
|
+
def __init__(
|
|
12
|
+
self, root_dir: str = None, is_categorized_dataset: bool = False, is_single_conversion: bool = False
|
|
13
|
+
) -> None:
|
|
11
14
|
self.root_dir: str = root_dir
|
|
12
15
|
self.is_categorized_dataset: bool = is_categorized_dataset
|
|
16
|
+
self.is_single_conversion: bool = is_single_conversion
|
|
13
17
|
self.converted_data = None
|
|
14
18
|
|
|
19
|
+
# Set directories if single_conversion is False.
|
|
20
|
+
if not is_single_conversion:
|
|
21
|
+
if not root_dir:
|
|
22
|
+
raise ValueError('root_dir must be specified for conversion')
|
|
23
|
+
|
|
15
24
|
@staticmethod
|
|
16
25
|
def ensure_dir(path: str) -> None:
|
|
17
26
|
"""Ensure that the directory exists, creating it if necessary."""
|
|
@@ -55,6 +64,24 @@ class BaseConverter:
|
|
|
55
64
|
|
|
56
65
|
return splits
|
|
57
66
|
|
|
67
|
+
def convert_single_file(self, data, original_file: IO, **kwargs):
|
|
68
|
+
"""Convert a single data object and corresponding original file.
|
|
69
|
+
|
|
70
|
+
This method should be implemented by subclasses for single file conversion.
|
|
71
|
+
Only available when is_single_conversion=True.
|
|
72
|
+
|
|
73
|
+
Args:
|
|
74
|
+
data: The data object to convert (dict for JSON data, etc.)
|
|
75
|
+
original_file_path: File object for the corresponding original file
|
|
76
|
+
**kwargs: Additional parameters specific to each converter
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
Converted data in the target format
|
|
80
|
+
"""
|
|
81
|
+
if not self.is_single_conversion:
|
|
82
|
+
raise RuntimeError('convert_single_file is only available when is_single_conversion=True')
|
|
83
|
+
raise NotImplementedError('Subclasses must implement convert_single_file method')
|
|
84
|
+
|
|
58
85
|
def _set_directories(self, split=None):
|
|
59
86
|
"""Set `self.json_dir` and `self.original_file_dir` based on the dataset split."""
|
|
60
87
|
if split:
|
|
@@ -106,8 +133,10 @@ class FromDMConverter(BaseConverter):
|
|
|
106
133
|
converter.save_to_folder('/my/target/output') # Writes files/folders to output location
|
|
107
134
|
"""
|
|
108
135
|
|
|
109
|
-
def __init__(
|
|
110
|
-
|
|
136
|
+
def __init__(
|
|
137
|
+
self, root_dir: str = None, is_categorized_dataset: bool = False, is_single_conversion: bool = False
|
|
138
|
+
) -> None:
|
|
139
|
+
super().__init__(root_dir, is_categorized_dataset, is_single_conversion)
|
|
111
140
|
self.version: str = '1.0'
|
|
112
141
|
|
|
113
142
|
def convert(self):
|
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
import os
|
|
3
3
|
import shutil
|
|
4
4
|
from glob import glob
|
|
5
|
-
from typing import Any, Dict, List, Optional, Union
|
|
5
|
+
from typing import IO, Any, Dict, List, Optional, Union
|
|
6
6
|
|
|
7
7
|
from PIL import Image
|
|
8
8
|
|
|
@@ -14,8 +14,8 @@ class FromDMToYOLOConverter(FromDMConverter):
|
|
|
14
14
|
|
|
15
15
|
IMG_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.bmp']
|
|
16
16
|
|
|
17
|
-
def __init__(self, root_dir: str, is_categorized_dataset: bool = False):
|
|
18
|
-
super().__init__(root_dir, is_categorized_dataset)
|
|
17
|
+
def __init__(self, root_dir: str = None, is_categorized_dataset: bool = False, is_single_conversion: bool = False):
|
|
18
|
+
super().__init__(root_dir, is_categorized_dataset, is_single_conversion)
|
|
19
19
|
self.class_names: List[str] = []
|
|
20
20
|
self.class_map: Dict[str, int] = {}
|
|
21
21
|
self.dataset_yaml_content: str = ''
|
|
@@ -300,3 +300,85 @@ class FromDMToYOLOConverter(FromDMConverter):
|
|
|
300
300
|
for c in self.class_names:
|
|
301
301
|
f.write(f'{c}\n')
|
|
302
302
|
print(f'YOLO data exported to {output_dir}')
|
|
303
|
+
|
|
304
|
+
def convert_single_file(
|
|
305
|
+
self, data: Dict[str, Any], original_file: IO, class_names: Optional[List[str]] = None
|
|
306
|
+
) -> Dict[str, Any]:
|
|
307
|
+
"""Convert a single DM data dict and corresponding image file object to YOLO format.
|
|
308
|
+
|
|
309
|
+
Args:
|
|
310
|
+
data: DM format data dictionary (JSON content)
|
|
311
|
+
original_file: File object for the corresponding original image
|
|
312
|
+
class_names: Optional list of class names. If not provided, classes will be extracted from data.
|
|
313
|
+
|
|
314
|
+
Returns:
|
|
315
|
+
Dictionary containing YOLO format data for the single file
|
|
316
|
+
"""
|
|
317
|
+
if not self.is_single_conversion:
|
|
318
|
+
raise RuntimeError('convert_single_file is only available when is_single_conversion=True')
|
|
319
|
+
|
|
320
|
+
if class_names is None:
|
|
321
|
+
classes = set()
|
|
322
|
+
for img_ann in data['images']:
|
|
323
|
+
for k in ['bounding_box', 'polygon', 'keypoint']:
|
|
324
|
+
if k in img_ann:
|
|
325
|
+
for ann in img_ann[k]:
|
|
326
|
+
classes.add(ann['classification'])
|
|
327
|
+
class_names = sorted(list(classes))
|
|
328
|
+
|
|
329
|
+
class_map = {name: idx for idx, name in enumerate(class_names)}
|
|
330
|
+
# You need to update get_image_size to accept a file object
|
|
331
|
+
width, height = self.get_image_size(original_file)
|
|
332
|
+
|
|
333
|
+
img_ann = data['images'][0]
|
|
334
|
+
label_lines = []
|
|
335
|
+
|
|
336
|
+
# bbox
|
|
337
|
+
if 'bounding_box' in img_ann:
|
|
338
|
+
for box in img_ann['bounding_box']:
|
|
339
|
+
if box['classification'] not in class_map:
|
|
340
|
+
continue
|
|
341
|
+
cidx = class_map[box['classification']]
|
|
342
|
+
x, y, w, h = box['data']
|
|
343
|
+
cx = x + w / 2
|
|
344
|
+
cy = y + h / 2
|
|
345
|
+
cx /= width
|
|
346
|
+
cy /= height
|
|
347
|
+
w /= width
|
|
348
|
+
h /= height
|
|
349
|
+
label_lines.append(f'{cidx} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}')
|
|
350
|
+
|
|
351
|
+
# polygon
|
|
352
|
+
if 'polygon' in img_ann:
|
|
353
|
+
for poly in img_ann['polygon']:
|
|
354
|
+
if poly['classification'] not in class_map:
|
|
355
|
+
continue
|
|
356
|
+
cidx = class_map[poly['classification']]
|
|
357
|
+
poly_str = self.polygon_to_yolo_string(poly['data'], width, height)
|
|
358
|
+
if poly_str:
|
|
359
|
+
label_lines.append(f'{cidx} {poly_str}')
|
|
360
|
+
|
|
361
|
+
# keypoint
|
|
362
|
+
if 'keypoint' in img_ann:
|
|
363
|
+
for kp in img_ann['keypoint']:
|
|
364
|
+
if kp['classification'] not in class_map:
|
|
365
|
+
continue
|
|
366
|
+
cidx = class_map[kp['classification']]
|
|
367
|
+
if 'bounding_box' in kp:
|
|
368
|
+
x, y, w, h = kp['bounding_box']
|
|
369
|
+
cx = x + w / 2
|
|
370
|
+
cy = y + h / 2
|
|
371
|
+
cx /= width
|
|
372
|
+
cy /= height
|
|
373
|
+
w /= width
|
|
374
|
+
h /= height
|
|
375
|
+
else:
|
|
376
|
+
cx, cy, w, h = 0.5, 0.5, 1.0, 1.0
|
|
377
|
+
kp_str = self.keypoints_to_yolo_string(kp['data'], width, height)
|
|
378
|
+
label_lines.append(f'{cidx} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f} {kp_str}')
|
|
379
|
+
|
|
380
|
+
return {
|
|
381
|
+
'label_lines': label_lines,
|
|
382
|
+
'class_names': class_names,
|
|
383
|
+
'class_map': class_map,
|
|
384
|
+
}
|
|
@@ -12,6 +12,9 @@ class YOLOToDMConverter(ToDMConverter):
|
|
|
12
12
|
|
|
13
13
|
IMG_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.bmp']
|
|
14
14
|
|
|
15
|
+
def __init__(self, root_dir: str = None, is_categorized_dataset: bool = False, is_single_conversion: bool = False):
|
|
16
|
+
super().__init__(root_dir, is_categorized_dataset, is_single_conversion)
|
|
17
|
+
|
|
15
18
|
def convert(self):
|
|
16
19
|
"""Convert YOLO dataset to DM format."""
|
|
17
20
|
if self.is_categorized_dataset:
|
|
@@ -183,3 +186,69 @@ class YOLOToDMConverter(ToDMConverter):
|
|
|
183
186
|
dm_json = {'images': [dm_img]}
|
|
184
187
|
result[os.path.basename(img_path)] = (dm_json, img_path)
|
|
185
188
|
return result
|
|
189
|
+
|
|
190
|
+
def convert_single_file(self, data: List[str], original_file_path: str, class_names: List[str]) -> Dict[str, Any]:
|
|
191
|
+
"""Convert a single YOLO label data and corresponding image to DM format.
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
data: List of YOLO label lines (strings from .txt file content)
|
|
195
|
+
original_file_path: Path to the corresponding original file
|
|
196
|
+
class_names: List of class names corresponding to indices in the label data
|
|
197
|
+
|
|
198
|
+
Returns:
|
|
199
|
+
Dictionary containing DM format data for the single file
|
|
200
|
+
"""
|
|
201
|
+
if not self.is_single_conversion:
|
|
202
|
+
raise RuntimeError('convert_single_file is only available when is_single_conversion=True')
|
|
203
|
+
|
|
204
|
+
if not os.path.exists(original_file_path):
|
|
205
|
+
raise FileNotFoundError(f'Original file not found: {original_file_path}')
|
|
206
|
+
|
|
207
|
+
img_size = self._get_image_size(original_file_path)
|
|
208
|
+
|
|
209
|
+
# data is already a list of label lines
|
|
210
|
+
label_lines = [line.strip() for line in data if line.strip()]
|
|
211
|
+
|
|
212
|
+
# Prepare DM annotation structure
|
|
213
|
+
dm_img = {
|
|
214
|
+
'bounding_box': [],
|
|
215
|
+
'polygon': [],
|
|
216
|
+
'keypoint': [],
|
|
217
|
+
'relation': [],
|
|
218
|
+
'group': [],
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
for line in label_lines:
|
|
222
|
+
ann = self._parse_yolo_line(line, class_names, img_size)
|
|
223
|
+
if ann is None:
|
|
224
|
+
continue
|
|
225
|
+
|
|
226
|
+
if ann['type'] == 'bounding_box':
|
|
227
|
+
dm_img['bounding_box'].append({
|
|
228
|
+
'id': self._generate_unique_id(),
|
|
229
|
+
'classification': ann['classification'],
|
|
230
|
+
'attrs': [],
|
|
231
|
+
'data': ann['data'],
|
|
232
|
+
})
|
|
233
|
+
elif ann['type'] == 'polygon':
|
|
234
|
+
dm_img['polygon'].append({
|
|
235
|
+
'id': self._generate_unique_id(),
|
|
236
|
+
'classification': ann['classification'],
|
|
237
|
+
'attrs': [],
|
|
238
|
+
'data': ann['data'],
|
|
239
|
+
})
|
|
240
|
+
elif ann['type'] == 'keypoint':
|
|
241
|
+
dm_img['keypoint'].append({
|
|
242
|
+
'id': self._generate_unique_id(),
|
|
243
|
+
'classification': ann['classification'],
|
|
244
|
+
'attrs': [],
|
|
245
|
+
'data': ann['data'],
|
|
246
|
+
'bounding_box': ann['bounding_box'],
|
|
247
|
+
})
|
|
248
|
+
|
|
249
|
+
dm_json = {'images': [dm_img]}
|
|
250
|
+
return {
|
|
251
|
+
'dm_json': dm_json,
|
|
252
|
+
'image_path': original_file_path,
|
|
253
|
+
'image_name': os.path.basename(original_file_path),
|
|
254
|
+
}
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-theme-classic/footer.json
RENAMED
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/i18n/ko/docusaurus-theme-classic/navbar.json
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/docs/tutorial-extras/img/docsVersionDropdown.png
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/clients/backend/data_collection.py
RENAMED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/docusaurus.config.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/pages/index.module.css
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/src/pages/markdown-page.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/docusaurus.png
RENAMED
|
File without changes
|
{synapse_sdk-1.0.0a78 → synapse_sdk-1.0.0a79}/synapse_sdk/devtools/docs/static/img/favicon.ico
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|