synapse-sdk 1.0.0a35__py3-none-any.whl ā 2025.11.7__py3-none-any.whl
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/__init__.py +24 -0
- synapse_sdk/cli/__init__.py +308 -5
- synapse_sdk/cli/alias/utils.py +1 -1
- synapse_sdk/cli/code_server.py +687 -0
- synapse_sdk/cli/config.py +440 -0
- synapse_sdk/cli/devtools.py +90 -0
- synapse_sdk/cli/plugin/publish.py +23 -15
- synapse_sdk/clients/agent/__init__.py +9 -3
- synapse_sdk/clients/agent/container.py +133 -0
- synapse_sdk/clients/agent/core.py +19 -0
- synapse_sdk/clients/agent/ray.py +298 -9
- synapse_sdk/clients/backend/__init__.py +28 -12
- synapse_sdk/clients/backend/annotation.py +9 -1
- synapse_sdk/clients/backend/core.py +31 -4
- synapse_sdk/clients/backend/data_collection.py +186 -0
- synapse_sdk/clients/backend/hitl.py +1 -1
- synapse_sdk/clients/backend/integration.py +4 -3
- synapse_sdk/clients/backend/ml.py +1 -1
- synapse_sdk/clients/backend/models.py +35 -1
- synapse_sdk/clients/base.py +309 -36
- synapse_sdk/clients/ray/serve.py +2 -0
- synapse_sdk/devtools/__init__.py +0 -0
- synapse_sdk/devtools/config.py +94 -0
- synapse_sdk/devtools/docs/.gitignore +20 -0
- synapse_sdk/devtools/docs/README.md +41 -0
- synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +12 -0
- synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +44 -0
- synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
- synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +29 -0
- synapse_sdk/devtools/docs/blog/authors.yml +25 -0
- synapse_sdk/devtools/docs/blog/tags.yml +19 -0
- synapse_sdk/devtools/docs/docs/api/clients/agent.md +43 -0
- synapse_sdk/devtools/docs/docs/api/clients/annotation-mixin.md +378 -0
- synapse_sdk/devtools/docs/docs/api/clients/backend.md +420 -0
- synapse_sdk/devtools/docs/docs/api/clients/base.md +257 -0
- synapse_sdk/devtools/docs/docs/api/clients/core-mixin.md +477 -0
- synapse_sdk/devtools/docs/docs/api/clients/data-collection-mixin.md +422 -0
- synapse_sdk/devtools/docs/docs/api/clients/hitl-mixin.md +554 -0
- synapse_sdk/devtools/docs/docs/api/clients/index.md +391 -0
- synapse_sdk/devtools/docs/docs/api/clients/integration-mixin.md +571 -0
- synapse_sdk/devtools/docs/docs/api/clients/ml-mixin.md +578 -0
- synapse_sdk/devtools/docs/docs/api/clients/ray.md +342 -0
- synapse_sdk/devtools/docs/docs/api/index.md +52 -0
- synapse_sdk/devtools/docs/docs/api/plugins/categories.md +43 -0
- synapse_sdk/devtools/docs/docs/api/plugins/models.md +114 -0
- synapse_sdk/devtools/docs/docs/api/plugins/utils.md +328 -0
- synapse_sdk/devtools/docs/docs/categories.md +0 -0
- synapse_sdk/devtools/docs/docs/cli-usage.md +280 -0
- synapse_sdk/devtools/docs/docs/concepts/index.md +38 -0
- synapse_sdk/devtools/docs/docs/configuration.md +83 -0
- synapse_sdk/devtools/docs/docs/contributing.md +306 -0
- synapse_sdk/devtools/docs/docs/examples/index.md +29 -0
- synapse_sdk/devtools/docs/docs/faq.md +179 -0
- synapse_sdk/devtools/docs/docs/features/converters/index.md +455 -0
- synapse_sdk/devtools/docs/docs/features/index.md +24 -0
- synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
- synapse_sdk/devtools/docs/docs/features/utils/network.md +378 -0
- synapse_sdk/devtools/docs/docs/features/utils/storage.md +57 -0
- synapse_sdk/devtools/docs/docs/features/utils/types.md +51 -0
- synapse_sdk/devtools/docs/docs/installation.md +94 -0
- synapse_sdk/devtools/docs/docs/introduction.md +47 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/neural-net-plugins/train-action-overview.md +814 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
- synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +1092 -0
- synapse_sdk/devtools/docs/docs/plugins/plugins.md +852 -0
- synapse_sdk/devtools/docs/docs/quickstart.md +78 -0
- synapse_sdk/devtools/docs/docs/troubleshooting.md +519 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +8 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +23 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +57 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +43 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +7 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +88 -0
- synapse_sdk/devtools/docs/docusaurus.config.ts +148 -0
- synapse_sdk/devtools/docs/i18n/ko/code.json +325 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +43 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/annotation-mixin.md +289 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +420 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +257 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/core-mixin.md +417 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/data-collection-mixin.md +356 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/hitl-mixin.md +192 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/index.md +391 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/integration-mixin.md +479 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ml-mixin.md +284 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +342 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +52 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/plugins/models.md +114 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +280 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +38 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +83 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +306 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +29 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +179 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +30 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md +378 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md +60 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md +51 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +94 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +47 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/neural-net-plugins/train-action-overview.md +815 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +1092 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +117 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +78 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +519 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +34 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +42 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +18 -0
- synapse_sdk/devtools/docs/package-lock.json +18784 -0
- synapse_sdk/devtools/docs/package.json +48 -0
- synapse_sdk/devtools/docs/sidebars.ts +122 -0
- synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +71 -0
- synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +11 -0
- synapse_sdk/devtools/docs/src/css/custom.css +30 -0
- synapse_sdk/devtools/docs/src/pages/index.module.css +23 -0
- synapse_sdk/devtools/docs/src/pages/index.tsx +21 -0
- synapse_sdk/devtools/docs/src/pages/markdown-page.md +7 -0
- synapse_sdk/devtools/docs/static/.nojekyll +0 -0
- synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
- synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
- synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
- synapse_sdk/devtools/docs/static/img/logo.png +0 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +170 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +40 -0
- synapse_sdk/devtools/docs/tsconfig.json +8 -0
- synapse_sdk/devtools/server.py +41 -0
- synapse_sdk/devtools/streamlit_app/__init__.py +5 -0
- synapse_sdk/devtools/streamlit_app/app.py +128 -0
- synapse_sdk/devtools/streamlit_app/services/__init__.py +11 -0
- synapse_sdk/devtools/streamlit_app/services/job_service.py +233 -0
- synapse_sdk/devtools/streamlit_app/services/plugin_service.py +236 -0
- synapse_sdk/devtools/streamlit_app/services/serve_service.py +95 -0
- synapse_sdk/devtools/streamlit_app/ui/__init__.py +15 -0
- synapse_sdk/devtools/streamlit_app/ui/config_tab.py +76 -0
- synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +66 -0
- synapse_sdk/devtools/streamlit_app/ui/http_tab.py +125 -0
- synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +573 -0
- synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +346 -0
- synapse_sdk/devtools/streamlit_app/ui/status_bar.py +118 -0
- synapse_sdk/devtools/streamlit_app/utils/__init__.py +40 -0
- synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +197 -0
- synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +38 -0
- synapse_sdk/devtools/streamlit_app/utils/styles.py +241 -0
- synapse_sdk/devtools/streamlit_app/utils/ui_components.py +289 -0
- synapse_sdk/devtools/streamlit_app.py +10 -0
- synapse_sdk/loggers.py +65 -7
- synapse_sdk/plugins/README.md +1340 -0
- synapse_sdk/plugins/categories/base.py +73 -11
- synapse_sdk/plugins/categories/data_validation/actions/validation.py +72 -0
- synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +33 -5
- synapse_sdk/plugins/categories/export/actions/__init__.py +3 -0
- synapse_sdk/plugins/categories/export/actions/export/__init__.py +28 -0
- synapse_sdk/plugins/categories/export/actions/export/action.py +165 -0
- synapse_sdk/plugins/categories/export/actions/export/enums.py +113 -0
- synapse_sdk/plugins/categories/export/actions/export/exceptions.py +53 -0
- synapse_sdk/plugins/categories/export/actions/export/models.py +74 -0
- synapse_sdk/plugins/categories/export/actions/export/run.py +195 -0
- synapse_sdk/plugins/categories/export/actions/{export.py ā export/utils.py} +47 -82
- synapse_sdk/plugins/categories/export/templates/config.yaml +19 -1
- synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +390 -0
- synapse_sdk/plugins/categories/export/templates/plugin/export.py +153 -129
- synapse_sdk/plugins/categories/neural_net/actions/deployment.py +9 -62
- synapse_sdk/plugins/categories/neural_net/actions/train.py +1062 -32
- synapse_sdk/plugins/categories/neural_net/actions/tune.py +534 -0
- synapse_sdk/plugins/categories/neural_net/templates/config.yaml +27 -5
- synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +26 -10
- synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +4 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/__init__.py +3 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/action.py +10 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/__init__.py +28 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/action.py +145 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/enums.py +269 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/exceptions.py +14 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/factory.py +76 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/models.py +97 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/orchestrator.py +250 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/run.py +64 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/__init__.py +17 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/annotation.py +287 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/base.py +170 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/extraction.py +83 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/metrics.py +87 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/preprocessor.py +127 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/validation.py +143 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +966 -0
- synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +19 -0
- synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +40 -0
- synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +19 -0
- synapse_sdk/plugins/categories/upload/actions/upload/action.py +232 -0
- synapse_sdk/plugins/categories/upload/actions/upload/context.py +185 -0
- synapse_sdk/plugins/categories/upload/actions/upload/enums.py +471 -0
- synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
- synapse_sdk/plugins/categories/upload/actions/upload/factory.py +138 -0
- synapse_sdk/plugins/categories/upload/actions/upload/models.py +203 -0
- synapse_sdk/plugins/categories/upload/actions/upload/orchestrator.py +183 -0
- synapse_sdk/plugins/categories/upload/actions/upload/registry.py +113 -0
- synapse_sdk/plugins/categories/upload/actions/upload/run.py +179 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py +107 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py +62 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py +63 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +84 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +82 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +235 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +203 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +97 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py +71 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py +82 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py +39 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py +29 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +258 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +281 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py +174 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py +16 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py +84 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +60 -0
- synapse_sdk/plugins/categories/upload/actions/upload/utils.py +250 -0
- synapse_sdk/plugins/categories/upload/templates/README.md +470 -0
- synapse_sdk/plugins/categories/upload/templates/config.yaml +29 -2
- synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +294 -0
- synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +88 -30
- synapse_sdk/plugins/models.py +122 -16
- synapse_sdk/plugins/templates/plugin-config-schema.json +406 -0
- synapse_sdk/plugins/templates/schema.json +491 -0
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +1 -1
- synapse_sdk/plugins/utils/__init__.py +46 -0
- synapse_sdk/plugins/utils/actions.py +119 -0
- synapse_sdk/plugins/utils/config.py +203 -0
- synapse_sdk/plugins/{utils.py ā utils/legacy.py} +26 -46
- synapse_sdk/plugins/utils/ray_gcs.py +66 -0
- synapse_sdk/plugins/utils/registry.py +58 -0
- synapse_sdk/shared/__init__.py +25 -0
- synapse_sdk/shared/enums.py +93 -0
- synapse_sdk/utils/converters/__init__.py +240 -0
- synapse_sdk/utils/converters/coco/__init__.py +0 -0
- synapse_sdk/utils/converters/coco/from_dm.py +322 -0
- synapse_sdk/utils/converters/coco/to_dm.py +215 -0
- synapse_sdk/utils/converters/dm/__init__.py +56 -0
- synapse_sdk/utils/converters/dm/from_v1.py +627 -0
- synapse_sdk/utils/converters/dm/to_v1.py +367 -0
- synapse_sdk/utils/converters/pascal/__init__.py +0 -0
- synapse_sdk/utils/converters/pascal/from_dm.py +244 -0
- synapse_sdk/utils/converters/pascal/to_dm.py +214 -0
- synapse_sdk/utils/converters/yolo/__init__.py +0 -0
- synapse_sdk/utils/converters/yolo/from_dm.py +384 -0
- synapse_sdk/utils/converters/yolo/to_dm.py +267 -0
- synapse_sdk/utils/dataset.py +46 -0
- synapse_sdk/utils/encryption.py +158 -0
- synapse_sdk/utils/file/__init__.py +39 -0
- synapse_sdk/utils/file/archive.py +32 -0
- synapse_sdk/utils/file/checksum.py +56 -0
- synapse_sdk/utils/file/chunking.py +31 -0
- synapse_sdk/utils/file/download.py +385 -0
- synapse_sdk/utils/file/encoding.py +40 -0
- synapse_sdk/utils/file/io.py +22 -0
- synapse_sdk/utils/file/video/__init__.py +29 -0
- synapse_sdk/utils/file/video/transcode.py +307 -0
- synapse_sdk/utils/{file.py ā file.py.backup} +84 -2
- synapse_sdk/utils/http.py +138 -0
- synapse_sdk/utils/network.py +293 -0
- synapse_sdk/utils/storage/__init__.py +36 -2
- synapse_sdk/utils/storage/providers/__init__.py +141 -0
- synapse_sdk/utils/storage/providers/file_system.py +134 -0
- synapse_sdk/utils/storage/providers/http.py +190 -0
- synapse_sdk/utils/storage/providers/s3.py +54 -6
- synapse_sdk/utils/storage/providers/sftp.py +31 -0
- synapse_sdk/utils/storage/registry.py +6 -0
- synapse_sdk-2025.11.7.dist-info/METADATA +122 -0
- synapse_sdk-2025.11.7.dist-info/RECORD +386 -0
- {synapse_sdk-1.0.0a35.dist-info ā synapse_sdk-2025.11.7.dist-info}/WHEEL +1 -1
- synapse_sdk/clients/backend/dataset.py +0 -102
- synapse_sdk/plugins/categories/upload/actions/upload.py +0 -293
- synapse_sdk-1.0.0a35.dist-info/METADATA +0 -47
- synapse_sdk-1.0.0a35.dist-info/RECORD +0 -137
- {synapse_sdk-1.0.0a35.dist-info ā synapse_sdk-2025.11.7.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a35.dist-info ā synapse_sdk-2025.11.7.dist-info}/licenses/LICENSE +0 -0
- {synapse_sdk-1.0.0a35.dist-info ā synapse_sdk-2025.11.7.dist-info}/top_level.txt +0 -0
synapse_sdk/__init__.py
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Export / Import Guidelines
|
|
3
|
+
--------------------------
|
|
4
|
+
|
|
5
|
+
1. Do NOT import the top-level package directly.
|
|
6
|
+
- All imports must start from at least two levels below the root package.
|
|
7
|
+
(e.g., `project.module.submodule` is allowed,
|
|
8
|
+
`project` ėė `project.module` ėØģ¼ importė źøģ§)
|
|
9
|
+
|
|
10
|
+
2. Wildcard import (`from x import *`) is strictly prohibited.
|
|
11
|
+
- ėŖØė ģøė¶ ė
øģ¶(export)ģ ėŖ
ģģ ģø ģ“ė¦ źø°ė°ģ¼ė” ź“리ķ“ģ¼ ķė¤.
|
|
12
|
+
- `__all__` 리ģ¤ķøė„¼ ķµķ“ ź³µź°ķ API넼 ėŖ
ķķ ģ ģķ ź².
|
|
13
|
+
|
|
14
|
+
3. Public API 넼 구ģ±ķ ė:
|
|
15
|
+
- ķģ ėŖØėģģ exportķ ķėŖ©ė§ `__all__`ģ ģ ģøķė¤.
|
|
16
|
+
- ė“ė¶ źµ¬ķģ© ķØģ/ķ“ėģ¤ė `_` prefix 넼 ģ¬ģ©ķź±°ė `__all__`ģ ķ¬ķØķģ§ ģėė¤.
|
|
17
|
+
|
|
18
|
+
4. ėŖØė ź° ģ씓ģ±ģ ģµėØ ź²½ė”ė§ ķģ©ķė¤.
|
|
19
|
+
- ė¶ķģķ ģģ/ķķ ķØķ¤ģ§ import ź²½ė”ė źøģ§ķģ¬ ģķ ģ씓ģ±(circular dependency)ģ ė°©ģ§ķė¤.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
from synapse_sdk.shared import worker_process_setup_hook
|
|
23
|
+
|
|
24
|
+
__all__ = ['worker_process_setup_hook']
|
synapse_sdk/cli/__init__.py
CHANGED
|
@@ -1,13 +1,316 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
1
3
|
import click
|
|
4
|
+
import inquirer
|
|
5
|
+
import requests
|
|
2
6
|
|
|
3
|
-
from .
|
|
7
|
+
from .code_server import code_server
|
|
8
|
+
from .config import config
|
|
9
|
+
from .devtools import devtools
|
|
4
10
|
from .plugin import plugin
|
|
5
11
|
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
def clear_screen():
|
|
14
|
+
"""Clear the terminal screen"""
|
|
15
|
+
os.system('cls' if os.name == 'nt' else 'clear')
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def check_backend_status():
|
|
19
|
+
"""Check backend connection status and token validity"""
|
|
20
|
+
from synapse_sdk.devtools.config import get_backend_config
|
|
21
|
+
|
|
22
|
+
backend_config = get_backend_config()
|
|
23
|
+
if not backend_config:
|
|
24
|
+
return 'not_configured', 'No backend configured'
|
|
25
|
+
|
|
26
|
+
try:
|
|
27
|
+
# Try an authenticated endpoint to verify token validity
|
|
28
|
+
# Use /users/me/ which requires authentication
|
|
29
|
+
response = requests.get(
|
|
30
|
+
f'{backend_config["host"]}/users/me/',
|
|
31
|
+
headers={'Synapse-Access-Token': f'Token {backend_config["token"]}'},
|
|
32
|
+
timeout=5,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
if response.status_code == 200:
|
|
36
|
+
return 'healthy', f'Connected to {backend_config["host"]}'
|
|
37
|
+
elif response.status_code == 401:
|
|
38
|
+
return 'auth_error', 'Invalid token (401)'
|
|
39
|
+
elif response.status_code == 403:
|
|
40
|
+
return 'forbidden', 'Access forbidden (403)'
|
|
41
|
+
elif response.status_code == 404:
|
|
42
|
+
# If /users/me/ doesn't exist, try /health as fallback
|
|
43
|
+
try:
|
|
44
|
+
health_response = requests.get(
|
|
45
|
+
f'{backend_config["host"]}/health',
|
|
46
|
+
headers={'Synapse-Access-Token': f'Token {backend_config["token"]}'},
|
|
47
|
+
timeout=3,
|
|
48
|
+
)
|
|
49
|
+
if health_response.status_code == 200:
|
|
50
|
+
return 'healthy', f'Connected to {backend_config["host"]}'
|
|
51
|
+
elif health_response.status_code == 401:
|
|
52
|
+
return 'auth_error', 'Invalid token (401)'
|
|
53
|
+
elif health_response.status_code == 403:
|
|
54
|
+
return 'forbidden', 'Access forbidden (403)'
|
|
55
|
+
else:
|
|
56
|
+
return 'error', f'HTTP {health_response.status_code}'
|
|
57
|
+
except: # noqa: E722
|
|
58
|
+
return 'error', 'Endpoint not found (404)'
|
|
59
|
+
else:
|
|
60
|
+
return 'error', f'HTTP {response.status_code}'
|
|
61
|
+
|
|
62
|
+
except requests.exceptions.Timeout:
|
|
63
|
+
return 'timeout', 'Connection timeout (>5s)'
|
|
64
|
+
except requests.exceptions.ConnectionError:
|
|
65
|
+
return 'connection_error', 'Connection failed'
|
|
66
|
+
except Exception as e:
|
|
67
|
+
return 'error', f'Connection error: {str(e)}'
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def check_agent_status():
|
|
71
|
+
"""Check agent configuration status"""
|
|
72
|
+
from synapse_sdk.devtools.config import load_devtools_config
|
|
73
|
+
|
|
74
|
+
config = load_devtools_config()
|
|
75
|
+
agent_config = config.get('agent', {})
|
|
76
|
+
|
|
77
|
+
if not agent_config.get('id'):
|
|
78
|
+
return 'not_configured', 'No agent selected'
|
|
79
|
+
|
|
80
|
+
return 'configured', f'{agent_config.get("name", "")} (ID: {agent_config["id"]})'
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def display_connection_status():
|
|
84
|
+
"""Display connection status for backend and agent"""
|
|
85
|
+
click.echo(click.style('Connection Status:', fg='white', bold=True))
|
|
86
|
+
|
|
87
|
+
# Check backend status (async with timeout)
|
|
88
|
+
backend_status, backend_msg = check_backend_status()
|
|
89
|
+
|
|
90
|
+
# Backend status with specific handling for auth errors
|
|
91
|
+
if backend_status == 'healthy':
|
|
92
|
+
click.echo(f'š¢ Backend: {click.style(backend_msg, fg="green")}')
|
|
93
|
+
elif backend_status == 'not_configured':
|
|
94
|
+
click.echo(f'š“ Backend: {click.style(backend_msg, fg="yellow")}')
|
|
95
|
+
elif backend_status in ['auth_error', 'forbidden']:
|
|
96
|
+
click.echo(f'š“ Backend: {click.style(backend_msg, fg="red", bold=True)}')
|
|
97
|
+
else:
|
|
98
|
+
click.echo(f'š“ Backend: {click.style(backend_msg, fg="red")}')
|
|
99
|
+
|
|
100
|
+
# Agent status (config check only, no network call)
|
|
101
|
+
agent_status, agent_msg = check_agent_status()
|
|
102
|
+
if agent_status == 'configured':
|
|
103
|
+
click.echo(f'š¢ Agent: {click.style(agent_msg, fg="green")}')
|
|
104
|
+
else:
|
|
105
|
+
click.echo(f'š“ Agent: {click.style(agent_msg, fg="yellow")}')
|
|
106
|
+
|
|
107
|
+
click.echo() # Empty line for spacing
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def run_devtools(build=True):
|
|
111
|
+
"""Run devtools with default settings"""
|
|
112
|
+
# Import the devtools command and run it
|
|
113
|
+
from .devtools import devtools
|
|
114
|
+
|
|
115
|
+
# Use default settings
|
|
116
|
+
ctx = click.Context(devtools)
|
|
117
|
+
ctx.invoke(devtools, host=None, port=None, debug=False)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
# build_frontend function removed - no longer needed with Streamlit
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def run_config():
|
|
124
|
+
"""Run the configuration menu"""
|
|
125
|
+
from .config import interactive_config
|
|
126
|
+
|
|
127
|
+
interactive_config()
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def run_plugin_management():
|
|
131
|
+
"""Run interactive plugin management"""
|
|
132
|
+
while True:
|
|
133
|
+
clear_screen()
|
|
134
|
+
click.echo(click.style('š Plugin Management', fg='cyan', bold=True))
|
|
135
|
+
click.echo('Manage your Synapse plugins\n')
|
|
136
|
+
|
|
137
|
+
questions = [
|
|
138
|
+
inquirer.List(
|
|
139
|
+
'action',
|
|
140
|
+
message='What would you like to do?',
|
|
141
|
+
choices=[
|
|
142
|
+
('Create new plugin', 'create'),
|
|
143
|
+
('Run plugin locally', 'run'),
|
|
144
|
+
('Publish plugin', 'publish'),
|
|
145
|
+
('ā Back to main menu', 'back'),
|
|
146
|
+
],
|
|
147
|
+
)
|
|
148
|
+
]
|
|
149
|
+
|
|
150
|
+
answers = inquirer.prompt(questions)
|
|
151
|
+
if not answers or answers['action'] == 'back':
|
|
152
|
+
clear_screen()
|
|
153
|
+
break
|
|
154
|
+
|
|
155
|
+
if answers['action'] == 'create':
|
|
156
|
+
click.echo('\nCreating new plugin...')
|
|
157
|
+
from .plugin.create import create
|
|
158
|
+
|
|
159
|
+
ctx = click.Context(create)
|
|
160
|
+
ctx.invoke(create)
|
|
161
|
+
click.echo('\nPress Enter to continue...')
|
|
162
|
+
input()
|
|
163
|
+
|
|
164
|
+
elif answers['action'] == 'run':
|
|
165
|
+
# Get plugin action and parameters
|
|
166
|
+
run_questions = [
|
|
167
|
+
inquirer.Text('action', message='Plugin action to run'),
|
|
168
|
+
inquirer.Text('params', message='Parameters (JSON format)', default='{}'),
|
|
169
|
+
inquirer.List(
|
|
170
|
+
'run_by',
|
|
171
|
+
message='Run by',
|
|
172
|
+
choices=[
|
|
173
|
+
('Script (local)', 'script'),
|
|
174
|
+
('Agent', 'agent'),
|
|
175
|
+
('Backend', 'backend'),
|
|
176
|
+
],
|
|
177
|
+
default='script',
|
|
178
|
+
),
|
|
179
|
+
]
|
|
180
|
+
|
|
181
|
+
run_answers = inquirer.prompt(run_questions)
|
|
182
|
+
if run_answers:
|
|
183
|
+
click.echo('\nRunning plugin...')
|
|
184
|
+
from .plugin.run import run
|
|
185
|
+
|
|
186
|
+
ctx = click.Context(run)
|
|
187
|
+
ctx.obj = {'DEBUG': False}
|
|
188
|
+
|
|
189
|
+
try:
|
|
190
|
+
if run_answers['run_by'] == 'script':
|
|
191
|
+
ctx.invoke(
|
|
192
|
+
run,
|
|
193
|
+
action=run_answers['action'],
|
|
194
|
+
params=run_answers['params'],
|
|
195
|
+
job_id=None,
|
|
196
|
+
direct=False,
|
|
197
|
+
run_by='script',
|
|
198
|
+
agent_host=None,
|
|
199
|
+
agent_token=None,
|
|
200
|
+
host=None,
|
|
201
|
+
agent=None,
|
|
202
|
+
user_token=None,
|
|
203
|
+
tenant=None,
|
|
204
|
+
)
|
|
205
|
+
else:
|
|
206
|
+
click.echo(click.style('\nNote: For agent/backend runs, use the command line:', fg='yellow'))
|
|
207
|
+
cmd = (
|
|
208
|
+
f"synapse plugin run {run_answers['action']} '{run_answers['params']}' "
|
|
209
|
+
f'--run-by {run_answers["run_by"]}'
|
|
210
|
+
)
|
|
211
|
+
click.echo(cmd)
|
|
212
|
+
except Exception as e:
|
|
213
|
+
click.echo(click.style(f'\nError: {str(e)}', fg='red'))
|
|
214
|
+
|
|
215
|
+
click.echo('\nPress Enter to continue...')
|
|
216
|
+
input()
|
|
217
|
+
|
|
218
|
+
elif answers['action'] == 'publish':
|
|
219
|
+
# Get backend configuration
|
|
220
|
+
from synapse_sdk.devtools.config import get_backend_config
|
|
221
|
+
|
|
222
|
+
backend_config = get_backend_config()
|
|
223
|
+
|
|
224
|
+
if not backend_config:
|
|
225
|
+
click.echo(click.style('\nā No backend configured. Please configure backend first.', fg='yellow'))
|
|
226
|
+
click.echo('\nPress Enter to continue...')
|
|
227
|
+
input()
|
|
228
|
+
continue
|
|
229
|
+
|
|
230
|
+
publish_questions = [
|
|
231
|
+
inquirer.Confirm('debug', message='Publish in debug mode?', default=True),
|
|
232
|
+
inquirer.Confirm('confirm', message=f'Publish plugin to {backend_config["host"]}?', default=True),
|
|
233
|
+
]
|
|
234
|
+
|
|
235
|
+
publish_answers = inquirer.prompt(publish_questions)
|
|
236
|
+
if publish_answers and publish_answers['confirm']:
|
|
237
|
+
click.echo('\nPublishing plugin...')
|
|
238
|
+
from .plugin.publish import _publish
|
|
239
|
+
|
|
240
|
+
debug_mode = publish_answers.get('debug', True)
|
|
241
|
+
try:
|
|
242
|
+
_publish(backend_config['host'], backend_config['token'], debug=debug_mode)
|
|
243
|
+
except Exception as e:
|
|
244
|
+
click.echo(click.style(f'\nError: {str(e)}', fg='red'))
|
|
245
|
+
click.echo('\nPress Enter to continue...')
|
|
246
|
+
input()
|
|
247
|
+
else:
|
|
248
|
+
click.echo('\nPress Enter to continue...')
|
|
249
|
+
input()
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
@click.group(invoke_without_command=True)
|
|
253
|
+
@click.option('--dev-tools', is_flag=True, help='Start devtools immediately')
|
|
254
|
+
@click.pass_context
|
|
255
|
+
def cli(ctx, dev_tools):
|
|
256
|
+
"""Synapse SDK - Interactive CLI"""
|
|
257
|
+
|
|
258
|
+
# Handle --dev-tools flag
|
|
259
|
+
if dev_tools:
|
|
260
|
+
run_devtools()
|
|
261
|
+
return
|
|
262
|
+
|
|
263
|
+
if ctx.invoked_subcommand is None:
|
|
264
|
+
while True:
|
|
265
|
+
clear_screen() # Always clear screen at start of main menu loop
|
|
266
|
+
click.echo(click.style('š Synapse SDK', fg='cyan', bold=True))
|
|
267
|
+
click.echo()
|
|
268
|
+
|
|
269
|
+
try:
|
|
270
|
+
questions = [
|
|
271
|
+
inquirer.List(
|
|
272
|
+
'choice',
|
|
273
|
+
message='Select an option:',
|
|
274
|
+
choices=[
|
|
275
|
+
('š Run Dev Tools', 'devtools'),
|
|
276
|
+
('š» Open Code-Server IDE', 'code_server'),
|
|
277
|
+
('āļø Configuration', 'config'),
|
|
278
|
+
('š Plugin Management', 'plugin'),
|
|
279
|
+
('šŖ Exit', 'exit'),
|
|
280
|
+
],
|
|
281
|
+
)
|
|
282
|
+
]
|
|
283
|
+
|
|
284
|
+
answers = inquirer.prompt(questions)
|
|
285
|
+
if not answers or answers['choice'] == 'exit':
|
|
286
|
+
clear_screen()
|
|
287
|
+
click.echo(click.style('š Goodbye!', fg='green'))
|
|
288
|
+
break
|
|
289
|
+
|
|
290
|
+
if answers['choice'] == 'devtools':
|
|
291
|
+
run_devtools()
|
|
292
|
+
break # Exit after devtools finishes
|
|
293
|
+
elif answers['choice'] == 'code_server':
|
|
294
|
+
from .code_server import code_server
|
|
295
|
+
|
|
296
|
+
ctx.invoke(code_server)
|
|
297
|
+
click.echo('\nPress Enter to return to main menu...')
|
|
298
|
+
input()
|
|
299
|
+
# Continue to main menu loop
|
|
300
|
+
elif answers['choice'] == 'config':
|
|
301
|
+
run_config()
|
|
302
|
+
# Config menu returned, continue to main menu loop
|
|
303
|
+
elif answers['choice'] == 'plugin':
|
|
304
|
+
run_plugin_management()
|
|
305
|
+
# Don't break - continue to main menu loop
|
|
306
|
+
|
|
307
|
+
except (KeyboardInterrupt, EOFError):
|
|
308
|
+
clear_screen()
|
|
309
|
+
click.echo(click.style('š Goodbye!', fg='yellow'))
|
|
310
|
+
break
|
|
10
311
|
|
|
11
312
|
|
|
12
313
|
cli.add_command(plugin)
|
|
13
|
-
cli.add_command(
|
|
314
|
+
cli.add_command(config)
|
|
315
|
+
cli.add_command(devtools)
|
|
316
|
+
cli.add_command(code_server)
|
synapse_sdk/cli/alias/utils.py
CHANGED