synapse-sdk 1.0.0a47__tar.gz → 1.0.0a49__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.0a47 → synapse_sdk-1.0.0a49}/PKG-INFO +3 -1
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/pyproject.toml +3 -1
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/models.py +2 -2
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/actions/export.py +3 -8
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +63 -8
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +1 -1
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/PKG-INFO +3 -1
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/requires.txt +2 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/clients/test_backend_models.py +24 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/.gitignore +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/LICENSE +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/README.md +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/requirements.test.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/requirements.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/setup.cfg +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/create.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/dataclass.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/default.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/delete.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/list.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/read.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/update.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/alias/utils.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/plugin/create.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/plugin/publish.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/cli/plugin/run.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/annotation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/core.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/dataset.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/hitl.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/integration.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/validators/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/clients/validators/collections.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/loggers.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/base.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/enums.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/models.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/utils.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/types.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/dataset.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/file.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/http.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/network.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/providers/s3.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/registry.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/SOURCES.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk.egg-info/top_level.txt +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/clients/test_base_client.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/clients/test_collection_validators.py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/utils/__init__,py +0 -0
- {synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/tests/utils/test_debug.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: synapse-sdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0a49
|
|
4
4
|
Summary: synapse sdk
|
|
5
5
|
Author-email: datamaker <developer@datamaker.io>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,8 @@ Requires-Dist: fsspec[gcs,s3,sftp]
|
|
|
22
22
|
Provides-Extra: all
|
|
23
23
|
Requires-Dist: ray[all]; extra == "all"
|
|
24
24
|
Requires-Dist: python-nmap; extra == "all"
|
|
25
|
+
Requires-Dist: hyperopt; extra == "all"
|
|
26
|
+
Requires-Dist: bayesian-optimization==1.4.3; extra == "all"
|
|
25
27
|
Dynamic: license-file
|
|
26
28
|
|
|
27
29
|
This is the SDK to develop synapse plugins
|
|
@@ -66,8 +66,8 @@ class UpdateJob(BaseModel):
|
|
|
66
66
|
|
|
67
67
|
status: Optional[JobStatus] = None
|
|
68
68
|
progress_record: Optional[Dict] = None
|
|
69
|
-
console_logs: Optional[Dict] = None
|
|
70
|
-
result: Optional[Dict] = None
|
|
69
|
+
console_logs: Optional[Dict | list] = None
|
|
70
|
+
result: Optional[Dict | list] = None
|
|
71
71
|
|
|
72
72
|
def model_dump(self, **kwargs):
|
|
73
73
|
data = super().model_dump(**kwargs)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
from abc import ABC, abstractmethod
|
|
2
3
|
from datetime import datetime
|
|
3
4
|
from typing import Annotated, Any, Literal
|
|
@@ -16,18 +17,12 @@ from synapse_sdk.utils.pydantic.validators import non_blank
|
|
|
16
17
|
from synapse_sdk.utils.storage import get_pathlib
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
class DataFileInfo(BaseModel):
|
|
20
|
-
"""Schema for data_file_info."""
|
|
21
|
-
|
|
22
|
-
file_name: str
|
|
23
|
-
|
|
24
|
-
|
|
25
20
|
class ExportRun(Run):
|
|
26
21
|
class DataFileLog(BaseModel):
|
|
27
22
|
"""Data file log model."""
|
|
28
23
|
|
|
29
24
|
target_id: int
|
|
30
|
-
data_file_info:
|
|
25
|
+
data_file_info: str | None
|
|
31
26
|
status: ExportStatus
|
|
32
27
|
error: str | None = None
|
|
33
28
|
created: str
|
|
@@ -49,7 +44,7 @@ class ExportRun(Run):
|
|
|
49
44
|
log_type,
|
|
50
45
|
self.DataFileLog(
|
|
51
46
|
target_id=target_id,
|
|
52
|
-
data_file_info=data_file_info,
|
|
47
|
+
data_file_info=json.dumps(data_file_info),
|
|
53
48
|
status=status.value,
|
|
54
49
|
error=error,
|
|
55
50
|
created=now,
|
|
@@ -22,11 +22,18 @@ class TuneRun(TrainRun):
|
|
|
22
22
|
checkpoint_output = None
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
class SearchAlgo(BaseModel):
|
|
26
|
+
name: str
|
|
27
|
+
points_to_evaluate: Optional[dict] = None
|
|
28
|
+
|
|
29
|
+
|
|
25
30
|
class TuneConfig(BaseModel):
|
|
26
31
|
mode: Optional[str] = None
|
|
27
32
|
metric: Optional[str] = None
|
|
28
33
|
num_samples: int = 1
|
|
29
34
|
max_concurrent_trials: Optional[int] = None
|
|
35
|
+
search_alg: Optional[SearchAlgo] = None
|
|
36
|
+
scheduler: Optional[str] = None
|
|
30
37
|
|
|
31
38
|
|
|
32
39
|
class TuneParams(BaseModel):
|
|
@@ -170,7 +177,7 @@ class TuneAction(TrainAction):
|
|
|
170
177
|
entrypoint = _tune
|
|
171
178
|
|
|
172
179
|
trainable = tune.with_parameters(entrypoint, run=self.run, dataset=input_dataset, checkpoint=checkpoint)
|
|
173
|
-
tune_config = self.params['tune_config']
|
|
180
|
+
tune_config = self.convert_tune_search_algo(self.params['tune_config'])
|
|
174
181
|
|
|
175
182
|
hyperparameter = self.params['hyperparameter']
|
|
176
183
|
param_space = self.convert_tune_params(hyperparameter)
|
|
@@ -230,6 +237,42 @@ class TuneAction(TrainAction):
|
|
|
230
237
|
**params,
|
|
231
238
|
})
|
|
232
239
|
|
|
240
|
+
@staticmethod
|
|
241
|
+
def convert_tune_search_algo(tune_config):
|
|
242
|
+
"""
|
|
243
|
+
Convert YAML hyperparameter configuration to Ray Tune search algorithm and scheduler.
|
|
244
|
+
|
|
245
|
+
Args:
|
|
246
|
+
tune_config (dict): Hyperparameter configuration.
|
|
247
|
+
|
|
248
|
+
Returns:
|
|
249
|
+
dict: Ray Tune search algorithm and scheduler
|
|
250
|
+
"""
|
|
251
|
+
from ray import tune
|
|
252
|
+
|
|
253
|
+
if tune_config['search_alg'] is None:
|
|
254
|
+
return tune_config
|
|
255
|
+
|
|
256
|
+
search_alg = tune_config['search_alg']['name']
|
|
257
|
+
metric = tune_config['metric']
|
|
258
|
+
mode = tune_config['mode']
|
|
259
|
+
points_to_evaluate = tune_config['search_alg'].get('points_to_evaluate', None)
|
|
260
|
+
|
|
261
|
+
if search_alg == 'AxSearch':
|
|
262
|
+
tune_config['search_alg'] = tune.search.ax.AxSearch(metric=metric, mode=mode)
|
|
263
|
+
elif search_alg == 'BayesOptSearch':
|
|
264
|
+
tune_config['search_alg'] = tune.search.bayesopt.BayesOptSearch(metric=metric, mode=mode)
|
|
265
|
+
elif search_alg == 'HyperOptSearch':
|
|
266
|
+
tune_config['search_alg'] = tune.search.hyperopt.HyperOptSearch(metric=metric, mode=mode)
|
|
267
|
+
elif search_alg == 'OptunaSearch':
|
|
268
|
+
tune_config['search_alg'] = tune.search.optuna.OptunaSearch(metric=metric, mode=mode)
|
|
269
|
+
elif search_alg == 'BasicVariantGenerator':
|
|
270
|
+
tune_config['search_alg'] = tune.search.basic_variant.BasicVariantGenerator(
|
|
271
|
+
points_to_evaluate=points_to_evaluate
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
return tune_config
|
|
275
|
+
|
|
233
276
|
@staticmethod
|
|
234
277
|
def convert_tune_params(param_list):
|
|
235
278
|
"""
|
|
@@ -243,19 +286,31 @@ class TuneAction(TrainAction):
|
|
|
243
286
|
"""
|
|
244
287
|
from ray import tune
|
|
245
288
|
|
|
289
|
+
param_handlers = {
|
|
290
|
+
'uniform': lambda p: tune.uniform(p['min'], p['max']),
|
|
291
|
+
'quniform': lambda p: tune.quniform(p['min'], p['max']),
|
|
292
|
+
'loguniform': lambda p: tune.loguniform(p['min'], p['max'], p['base']),
|
|
293
|
+
'qloguniform': lambda p: tune.qloguniform(p['min'], p['max'], p['base']),
|
|
294
|
+
'randn': lambda p: tune.randn(p['mean'], p['sd']),
|
|
295
|
+
'qrandn': lambda p: tune.qrandn(p['mean'], p['sd']),
|
|
296
|
+
'randint': lambda p: tune.randint(p['min'], p['max']),
|
|
297
|
+
'qrandint': lambda p: tune.qrandint(p['min'], p['max']),
|
|
298
|
+
'lograndint': lambda p: tune.lograndint(p['min'], p['max'], p['base']),
|
|
299
|
+
'qlograndint': lambda p: tune.qlograndint(p['min'], p['max'], p['base']),
|
|
300
|
+
'choice': lambda p: tune.choice(p['options']),
|
|
301
|
+
'grid_search': lambda p: tune.grid_search(p['options']),
|
|
302
|
+
}
|
|
303
|
+
|
|
246
304
|
param_space = {}
|
|
247
305
|
|
|
248
306
|
for param in param_list:
|
|
249
307
|
name = param['name']
|
|
250
308
|
param_type = param['type']
|
|
251
309
|
|
|
252
|
-
if param_type
|
|
253
|
-
param_space[name] =
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
elif param_type == 'randint':
|
|
257
|
-
param_space[name] = tune.randint(param['min'], param['max'])
|
|
258
|
-
# Add more type handlers as needed
|
|
310
|
+
if param_type in param_handlers:
|
|
311
|
+
param_space[name] = param_handlers[param_type](param)
|
|
312
|
+
else:
|
|
313
|
+
raise ValueError(f'Unknown parameter type: {param_type}')
|
|
259
314
|
|
|
260
315
|
return param_space
|
|
261
316
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: synapse-sdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0a49
|
|
4
4
|
Summary: synapse sdk
|
|
5
5
|
Author-email: datamaker <developer@datamaker.io>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,8 @@ Requires-Dist: fsspec[gcs,s3,sftp]
|
|
|
22
22
|
Provides-Extra: all
|
|
23
23
|
Requires-Dist: ray[all]; extra == "all"
|
|
24
24
|
Requires-Dist: python-nmap; extra == "all"
|
|
25
|
+
Requires-Dist: hyperopt; extra == "all"
|
|
26
|
+
Requires-Dist: bayesian-optimization==1.4.3; extra == "all"
|
|
25
27
|
Dynamic: license-file
|
|
26
28
|
|
|
27
29
|
This is the SDK to develop synapse plugins
|
|
@@ -97,3 +97,27 @@ def test_update_job_model_validation_with_single_field_success():
|
|
|
97
97
|
assert update_job.progress_record is None
|
|
98
98
|
assert update_job.console_logs is None
|
|
99
99
|
assert update_job.result is None
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def test_update_job_model_validation_with_console_logs_as_list():
|
|
103
|
+
job_response = {
|
|
104
|
+
'status': 'running',
|
|
105
|
+
'console_logs': ['log line 1', 'log line 2', 'log line 3'],
|
|
106
|
+
}
|
|
107
|
+
update_job = UpdateJob(**job_response)
|
|
108
|
+
assert update_job.status == 'running'
|
|
109
|
+
assert update_job.console_logs == ['log line 1', 'log line 2', 'log line 3']
|
|
110
|
+
assert update_job.progress_record is None
|
|
111
|
+
assert update_job.result is None
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def test_update_job_model_validation_with_result_as_list():
|
|
115
|
+
job_response = {
|
|
116
|
+
'status': 'running',
|
|
117
|
+
'result': ['result item 1', 'result item 2', 'result item 3'],
|
|
118
|
+
}
|
|
119
|
+
update_job = UpdateJob(**job_response)
|
|
120
|
+
assert update_job.status == 'running'
|
|
121
|
+
assert update_job.result == ['result item 1', 'result item 2', 'result item 3']
|
|
122
|
+
assert update_job.progress_record is None
|
|
123
|
+
assert update_job.console_logs is None
|
|
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
|
|
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.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/export/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/neural_net/__init__.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
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/smart_tool/__init__.py
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.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/categories/upload/__init__.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
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/plugins/templates/hooks/pre_prompt.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
|
|
File without changes
|
{synapse_sdk-1.0.0a47 → synapse_sdk-1.0.0a49}/synapse_sdk/utils/storage/providers/__init__.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
|