synapse-sdk 1.0.0a58__tar.gz → 1.0.0a59__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.0a58 → synapse_sdk-1.0.0a59}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/annotation.py +8 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/data_collection.py +10 -1
- synapse_sdk-1.0.0a59/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +210 -0
- synapse_sdk-1.0.0a59/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +7 -0
- synapse_sdk-1.0.0a58/synapse_sdk/plugins/categories/upload/templates/plugin/task_pre_annotation.py → synapse_sdk-1.0.0a59/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +1 -7
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -4
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/SOURCES.txt +2 -2
- synapse_sdk-1.0.0a58/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -3
- synapse_sdk-1.0.0a58/synapse_sdk/plugins/categories/upload/actions/task_pre_annotation.py +0 -101
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/.gitignore +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/LICENSE +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/README.md +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/requirements.test.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/requirements.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/setup.cfg +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/create.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/dataclass.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/default.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/delete.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/list.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/read.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/update.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/alias/utils.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/plugin/create.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/plugin/publish.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/cli/plugin/run.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/core.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/hitl.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/integration.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/models.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/validators/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/validators/collections.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/loggers.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/base.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/enums.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/models.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/utils.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/types.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/dataset.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/file.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/http.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/network.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/providers/s3.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/storage/registry.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/requires.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk.egg-info/top_level.txt +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/clients/test_backend_models.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/clients/test_base_client.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/clients/test_collection_validators.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/loggers/__init__.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/loggers/test_base_logger.py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/utils/__init__,py +0 -0
- {synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/tests/utils/test_debug.py +0 -0
|
@@ -7,6 +7,14 @@ class AnnotationClientMixin(BaseClient):
|
|
|
7
7
|
path = f'projects/{pk}/'
|
|
8
8
|
return self._get(path)
|
|
9
9
|
|
|
10
|
+
def get_task(self, pk, params):
|
|
11
|
+
path = f'tasks/{pk}/'
|
|
12
|
+
return self._get(path, params=params)
|
|
13
|
+
|
|
14
|
+
def patch_task(self, pk, data):
|
|
15
|
+
path = f'tasks/{pk}/'
|
|
16
|
+
return self._patch(path, data=data)
|
|
17
|
+
|
|
10
18
|
def get_task_tag(self, pk):
|
|
11
19
|
path = f'task_tags/{pk}/'
|
|
12
20
|
return self._get(path)
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/clients/backend/data_collection.py
RENAMED
|
@@ -5,7 +5,7 @@ from typing import Dict, Optional
|
|
|
5
5
|
from tqdm import tqdm
|
|
6
6
|
|
|
7
7
|
from synapse_sdk.clients.base import BaseClient
|
|
8
|
-
from synapse_sdk.clients.utils import get_batched_list
|
|
8
|
+
from synapse_sdk.clients.utils import get_batched_list, get_default_url_conversion
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class DataCollectionClientMixin(BaseClient):
|
|
@@ -31,6 +31,10 @@ class DataCollectionClientMixin(BaseClient):
|
|
|
31
31
|
path = 'data_files/'
|
|
32
32
|
return self._post(path, files={'file': file_path})
|
|
33
33
|
|
|
34
|
+
def get_data_unit(self, data_unit_id: int, params=None):
|
|
35
|
+
path = f'data_units/{data_unit_id}/'
|
|
36
|
+
return self._get(path, params=params)
|
|
37
|
+
|
|
34
38
|
def create_data_units(self, data):
|
|
35
39
|
"""Create data units to synapse-backend.
|
|
36
40
|
|
|
@@ -40,6 +44,11 @@ class DataCollectionClientMixin(BaseClient):
|
|
|
40
44
|
path = 'data_units/'
|
|
41
45
|
return self._post(path, data=data)
|
|
42
46
|
|
|
47
|
+
def list_data_units(self, params=None, url_conversion=None, list_all=False):
|
|
48
|
+
path = 'data_units/'
|
|
49
|
+
url_conversion = get_default_url_conversion(url_conversion, files_fields=['files'])
|
|
50
|
+
return self._list(path, params=params, url_conversion=url_conversion, list_all=list_all)
|
|
51
|
+
|
|
43
52
|
def upload_data_collection(
|
|
44
53
|
self,
|
|
45
54
|
data_collection_id: int,
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
from enum import Enum
|
|
4
|
+
from typing import Annotated
|
|
5
|
+
|
|
6
|
+
import requests
|
|
7
|
+
from pydantic import AfterValidator, BaseModel, field_validator
|
|
8
|
+
from pydantic_core import PydanticCustomError
|
|
9
|
+
|
|
10
|
+
from synapse_sdk.clients.exceptions import ClientError
|
|
11
|
+
from synapse_sdk.plugins.categories.base import Action
|
|
12
|
+
from synapse_sdk.plugins.categories.decorators import register_action
|
|
13
|
+
from synapse_sdk.plugins.enums import PluginCategory, RunMethod
|
|
14
|
+
from synapse_sdk.plugins.models import Run
|
|
15
|
+
from synapse_sdk.utils.pydantic.validators import non_blank
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class AnnotationMethod(str, Enum):
|
|
19
|
+
FILE = 'file'
|
|
20
|
+
INFERENCE = 'inference'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class AnnotateTaskDataStatus(str, Enum):
|
|
24
|
+
SUCCESS = 'success'
|
|
25
|
+
FAILED = 'failed'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ToTaskRun(Run):
|
|
29
|
+
class AnnotateTaskDataLog(BaseModel):
|
|
30
|
+
"""Log model for annotate task data."""
|
|
31
|
+
|
|
32
|
+
task_info: str | None
|
|
33
|
+
status: AnnotateTaskDataStatus
|
|
34
|
+
created: str
|
|
35
|
+
|
|
36
|
+
class MetricsRecord(BaseModel):
|
|
37
|
+
"""Metrics record model."""
|
|
38
|
+
|
|
39
|
+
stand_by: int
|
|
40
|
+
failed: int
|
|
41
|
+
success: int
|
|
42
|
+
|
|
43
|
+
def log_annotate_task_data(self, task_info: dict, status: AnnotateTaskDataStatus):
|
|
44
|
+
"""Log annotate task data."""
|
|
45
|
+
now = datetime.now().isoformat()
|
|
46
|
+
self.log(
|
|
47
|
+
'annotate_task_data',
|
|
48
|
+
self.AnnotateTaskDataLog(task_info=json.dumps(task_info), status=status, created=now).model_dump(),
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
def log_metrics(self, record: MetricsRecord, category: str):
|
|
52
|
+
"""Log FileToTask metrics.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
record (MetricsRecord): The metrics record to log.
|
|
56
|
+
category (str): The category of the metrics.
|
|
57
|
+
"""
|
|
58
|
+
record = self.MetricsRecord.model_validate(record)
|
|
59
|
+
self.set_metrics(value=record.dict(), category=category)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class ToTaskParams(BaseModel):
|
|
63
|
+
"""ToTask action parameters.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
name (str): The name of the action.
|
|
67
|
+
description (str | None): The description of the action.
|
|
68
|
+
project (int): The project ID.
|
|
69
|
+
task_filter (dict): The filter of tasks.
|
|
70
|
+
method (AnnotationMethod): The method of annotation.
|
|
71
|
+
target_specification_name (str | None): The name of the target specification.
|
|
72
|
+
pre_processor (int | None): The pre processor ID.
|
|
73
|
+
pre_processor_params (dict): The params of the pre processor.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
name: Annotated[str, AfterValidator(non_blank)]
|
|
77
|
+
description: str | None = None
|
|
78
|
+
project: int
|
|
79
|
+
task_filter: dict
|
|
80
|
+
method: AnnotationMethod | None = None
|
|
81
|
+
target_specification_name: str | None = None
|
|
82
|
+
pre_processor: int | None = None
|
|
83
|
+
pre_processor_params: dict
|
|
84
|
+
|
|
85
|
+
@field_validator('project', mode='before')
|
|
86
|
+
@classmethod
|
|
87
|
+
def check_project_exists(cls, value: str, info) -> str:
|
|
88
|
+
"""Validate synapse-backend project exists."""
|
|
89
|
+
if not value:
|
|
90
|
+
return value
|
|
91
|
+
|
|
92
|
+
action = info.context['action']
|
|
93
|
+
client = action.client
|
|
94
|
+
try:
|
|
95
|
+
client.get_project(value)
|
|
96
|
+
except ClientError:
|
|
97
|
+
raise PydanticCustomError('client_error', 'Error occurred while checking project exists.')
|
|
98
|
+
return value
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
@register_action
|
|
102
|
+
class ToTaskAction(Action):
|
|
103
|
+
"""ToTask action class.
|
|
104
|
+
|
|
105
|
+
* Annotate data to tasks.
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
name = 'to_task'
|
|
109
|
+
category = PluginCategory.PRE_ANNOTATION
|
|
110
|
+
method = RunMethod.JOB
|
|
111
|
+
run_class = ToTaskRun
|
|
112
|
+
progress_categories = {
|
|
113
|
+
'annotate_task_data': {
|
|
114
|
+
'proportion': 100,
|
|
115
|
+
},
|
|
116
|
+
}
|
|
117
|
+
metrics_categories = {'annotate_task_data'}
|
|
118
|
+
|
|
119
|
+
def start(self):
|
|
120
|
+
"""Start file_to_task action.
|
|
121
|
+
|
|
122
|
+
* Generate tasks.
|
|
123
|
+
* Annotate data to tasks.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
# entrypoint = self.entrypoint(self.run)
|
|
127
|
+
client = self.run.client
|
|
128
|
+
# project_id = self.params['project']
|
|
129
|
+
# project = client.get_project(project_id)
|
|
130
|
+
# data_collection_id = project['dataset']
|
|
131
|
+
# data_collection = client.get_dataset(data_collection_id)
|
|
132
|
+
|
|
133
|
+
# Generate tasks if provided project is empty.
|
|
134
|
+
task_ids_query_params = {
|
|
135
|
+
'project': self.params['project'],
|
|
136
|
+
'fields': 'id',
|
|
137
|
+
}
|
|
138
|
+
if self.params.get('task_filter'):
|
|
139
|
+
task_ids_query_params.update(self.params['task_filter'])
|
|
140
|
+
task_ids_generator, task_ids_count = client.list_tasks(params=task_ids_query_params, list_all=True)
|
|
141
|
+
task_ids = [item['id'] for item in task_ids_generator]
|
|
142
|
+
|
|
143
|
+
# If no tasks found, break the job.
|
|
144
|
+
if not task_ids_count:
|
|
145
|
+
self.run.log_message('Tasks to annotate not found.')
|
|
146
|
+
self.run.end_log()
|
|
147
|
+
|
|
148
|
+
# Annotate data to tasks.
|
|
149
|
+
task_data_annotation_type = self.params['task_data_annotation_type']
|
|
150
|
+
if task_data_annotation_type == AnnotationMethod.FILE:
|
|
151
|
+
self._handle_annotate_data_from_files(task_ids)
|
|
152
|
+
elif task_data_annotation_type == AnnotationMethod.INFERENCE:
|
|
153
|
+
self._handle_annotate_data_with_inference(task_ids)
|
|
154
|
+
|
|
155
|
+
return {}
|
|
156
|
+
|
|
157
|
+
def _handle_annotate_data_from_files(self, task_ids: list[int]):
|
|
158
|
+
"""Handle annotate data from files to tasks.
|
|
159
|
+
|
|
160
|
+
Args:
|
|
161
|
+
task_ids (list[int]): List of task IDs to annotate data to.
|
|
162
|
+
"""
|
|
163
|
+
client = self.run.client
|
|
164
|
+
if not (target_task_data_specification_code := self.params.get('target_task_data_specification_code')):
|
|
165
|
+
self.run.log_message('Target task data specification code not found.')
|
|
166
|
+
self.run.end_log()
|
|
167
|
+
task_params = {
|
|
168
|
+
'fields': 'id,data,data_unit',
|
|
169
|
+
'expand': 'data_unit',
|
|
170
|
+
}
|
|
171
|
+
for task_id in task_ids:
|
|
172
|
+
task = client.get_task(task_id, params=task_params)
|
|
173
|
+
data_file = task['data_unit']['files'].get(target_task_data_specification_code)
|
|
174
|
+
if not data_file:
|
|
175
|
+
self.run.log_message(f'File specification not found for task {task_id}')
|
|
176
|
+
self.run.log_annotate_task_data(
|
|
177
|
+
{'task_id': task_id, 'error': 'File specification not found'}, AnnotateTaskDataStatus.FAILED
|
|
178
|
+
)
|
|
179
|
+
continue
|
|
180
|
+
url = data_file.get('url')
|
|
181
|
+
if not url:
|
|
182
|
+
self.run.log_message(f'URL not found for task {task_id}')
|
|
183
|
+
self.run.log_annotate_task_data(
|
|
184
|
+
{'task_id': task_id, 'error': 'URL not found'}, AnnotateTaskDataStatus.FAILED
|
|
185
|
+
)
|
|
186
|
+
continue
|
|
187
|
+
|
|
188
|
+
try:
|
|
189
|
+
response = requests.get(url)
|
|
190
|
+
response.raise_for_status() # Raise an exception for 4XX/5XX responses
|
|
191
|
+
data = json.loads(response.content)
|
|
192
|
+
client.patch_task(task_id, data={'data': data})
|
|
193
|
+
|
|
194
|
+
# Log success
|
|
195
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'url': url}, AnnotateTaskDataStatus.SUCCESS)
|
|
196
|
+
except Exception as e:
|
|
197
|
+
self.run.log_message(f'Failed to get content from URL for task {task_id}: {str(e)}')
|
|
198
|
+
self.run.log_annotate_task_data(
|
|
199
|
+
{'task_id': task_id, 'url': url, 'error': str(e)}, AnnotateTaskDataStatus.FAILED
|
|
200
|
+
)
|
|
201
|
+
continue
|
|
202
|
+
|
|
203
|
+
def _handle_annotate_data_with_inference(self, task_ids: list[int]):
|
|
204
|
+
"""Handle annotate data with inference to tasks.
|
|
205
|
+
|
|
206
|
+
Args:
|
|
207
|
+
task_ids (list[int]): List of task IDs to annotate data to.
|
|
208
|
+
"""
|
|
209
|
+
self.run.log_message('Pre annotation with inference is not supported.')
|
|
210
|
+
self.run.end_log()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class AnnotationToTask:
|
|
2
2
|
def __init__(self, run, *args, **kwargs):
|
|
3
3
|
"""Initialize the plugin task pre annotation action class.
|
|
4
4
|
|
|
@@ -6,9 +6,3 @@ class TaskPreAnnotation:
|
|
|
6
6
|
run: Plugin run object.
|
|
7
7
|
"""
|
|
8
8
|
self.run = run
|
|
9
|
-
|
|
10
|
-
def handle_annotate_data_from_files(self):
|
|
11
|
-
pass
|
|
12
|
-
|
|
13
|
-
def handle_annotate_data_with_inference(self):
|
|
14
|
-
pass
|
|
@@ -7,7 +7,3 @@ actions:
|
|
|
7
7
|
supported_data_type: image # A primary data type of synapse backend collection. (e.g. 'image', 'text', 'video', 'pcd', 'audio')
|
|
8
8
|
ui_schema: |
|
|
9
9
|
Dumped FormKit Schema for upload plugin custom options
|
|
10
|
-
task_pre_annotation:
|
|
11
|
-
entrypoint: plugin.upload.TaskPreAnnotation
|
|
12
|
-
ui_schema: |
|
|
13
|
-
Dumped FormKit Schema for upload plugin custom options
|
|
@@ -106,9 +106,11 @@ synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.
|
|
|
106
106
|
synapse_sdk/plugins/categories/pre_annotation/__init__.py
|
|
107
107
|
synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py
|
|
108
108
|
synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py
|
|
109
|
+
synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py
|
|
109
110
|
synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml
|
|
110
111
|
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py
|
|
111
112
|
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py
|
|
113
|
+
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py
|
|
112
114
|
synapse_sdk/plugins/categories/smart_tool/__init__.py
|
|
113
115
|
synapse_sdk/plugins/categories/smart_tool/actions/__init__.py
|
|
114
116
|
synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py
|
|
@@ -117,11 +119,9 @@ synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py
|
|
|
117
119
|
synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py
|
|
118
120
|
synapse_sdk/plugins/categories/upload/__init__.py
|
|
119
121
|
synapse_sdk/plugins/categories/upload/actions/__init__.py
|
|
120
|
-
synapse_sdk/plugins/categories/upload/actions/task_pre_annotation.py
|
|
121
122
|
synapse_sdk/plugins/categories/upload/actions/upload.py
|
|
122
123
|
synapse_sdk/plugins/categories/upload/templates/config.yaml
|
|
123
124
|
synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py
|
|
124
|
-
synapse_sdk/plugins/categories/upload/templates/plugin/task_pre_annotation.py
|
|
125
125
|
synapse_sdk/plugins/categories/upload/templates/plugin/upload.py
|
|
126
126
|
synapse_sdk/plugins/templates/cookiecutter.json
|
|
127
127
|
synapse_sdk/plugins/templates/hooks/post_gen_project.py
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
from typing import Annotated
|
|
3
|
-
|
|
4
|
-
from pydantic import AfterValidator, BaseModel, field_validator
|
|
5
|
-
from pydantic_core import PydanticCustomError
|
|
6
|
-
|
|
7
|
-
from synapse_sdk.clients.exceptions import ClientError
|
|
8
|
-
from synapse_sdk.plugins.categories.base import Action
|
|
9
|
-
from synapse_sdk.plugins.categories.decorators import register_action
|
|
10
|
-
from synapse_sdk.plugins.enums import PluginCategory, RunMethod
|
|
11
|
-
from synapse_sdk.plugins.models import Run
|
|
12
|
-
from synapse_sdk.utils.pydantic.validators import non_blank
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class TaskDataAnnotationType(str, Enum):
|
|
16
|
-
FILE = 'file'
|
|
17
|
-
INFERENCE = 'inference'
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class TaskPreAnnotationRun(Run):
|
|
21
|
-
pass
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class TaskPreAnnotationParams(BaseModel):
|
|
25
|
-
"""TaskPreAnnotation action parameters.
|
|
26
|
-
|
|
27
|
-
Args:
|
|
28
|
-
name (str): The name of the action.
|
|
29
|
-
description (str | None): The description of the action.
|
|
30
|
-
project (int): The project ID.
|
|
31
|
-
data_collection (int): The data collection ID.
|
|
32
|
-
task_data_annotation_type (TaskDataAnnotationType): The type of task data annotation.
|
|
33
|
-
"""
|
|
34
|
-
|
|
35
|
-
name: Annotated[str, AfterValidator(non_blank)]
|
|
36
|
-
description: str | None
|
|
37
|
-
project: int
|
|
38
|
-
data_collection: int
|
|
39
|
-
task_data_annotation_type: TaskDataAnnotationType
|
|
40
|
-
|
|
41
|
-
@field_validator('data_collection', mode='before')
|
|
42
|
-
@classmethod
|
|
43
|
-
def check_data_collection_exists(cls, value: str, info) -> str:
|
|
44
|
-
"""Validate synapse-backend collection exists."""
|
|
45
|
-
action = info.context['action']
|
|
46
|
-
client = action.client
|
|
47
|
-
try:
|
|
48
|
-
client.get_data_collection(value)
|
|
49
|
-
except ClientError:
|
|
50
|
-
raise PydanticCustomError('client_error', 'Error occurred while checking data collection exists.')
|
|
51
|
-
return value
|
|
52
|
-
|
|
53
|
-
@field_validator('project', mode='before')
|
|
54
|
-
@classmethod
|
|
55
|
-
def check_project_exists(cls, value: str, info) -> str:
|
|
56
|
-
"""Validate synapse-backend project exists."""
|
|
57
|
-
if not value:
|
|
58
|
-
return value
|
|
59
|
-
|
|
60
|
-
action = info.context['action']
|
|
61
|
-
client = action.client
|
|
62
|
-
try:
|
|
63
|
-
client.get_project(value)
|
|
64
|
-
except ClientError:
|
|
65
|
-
raise PydanticCustomError('client_error', 'Error occurred while checking project exists.')
|
|
66
|
-
return value
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
@register_action
|
|
70
|
-
class TaskPreAnnotationAction(Action):
|
|
71
|
-
"""TaskPreAnnotation action class.
|
|
72
|
-
|
|
73
|
-
* Annotate data to tasks.
|
|
74
|
-
"""
|
|
75
|
-
|
|
76
|
-
name = 'task_pre_annotation'
|
|
77
|
-
category = PluginCategory.UPLOAD
|
|
78
|
-
method = RunMethod.JOB
|
|
79
|
-
run_class = TaskPreAnnotationRun
|
|
80
|
-
progress_categories = {
|
|
81
|
-
'generate_tasks': {
|
|
82
|
-
'proportion': 10,
|
|
83
|
-
},
|
|
84
|
-
'annotate_task_data': {
|
|
85
|
-
'proportion': 90,
|
|
86
|
-
},
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
def start(self):
|
|
90
|
-
"""Start task_pre_annotation action.
|
|
91
|
-
|
|
92
|
-
* Generate tasks.
|
|
93
|
-
* Annotate data to tasks.
|
|
94
|
-
"""
|
|
95
|
-
task_pre_annotation = self.get_task_pre_annotation()
|
|
96
|
-
task_pre_annotation.handle_annotate_data_from_files()
|
|
97
|
-
return {}
|
|
98
|
-
|
|
99
|
-
def get_task_pre_annotation(self):
|
|
100
|
-
"""Get task pre annotation entrypoint."""
|
|
101
|
-
return self.entrypoint()
|
|
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.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/categories/export/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/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
|
|
File without changes
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/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.0a58 → synapse_sdk-1.0.0a59}/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
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/synapse_sdk/plugins/templates/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a58 → synapse_sdk-1.0.0a59}/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.0a58 → synapse_sdk-1.0.0a59}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|