synapse-sdk 1.0.0a19__tar.gz → 1.0.0a21__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.0a19/synapse_sdk.egg-info → synapse_sdk-1.0.0a21}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/base.py +7 -5
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +3 -2
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/cli/publish.py +1 -2
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/cli/run.py +12 -5
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/models.py +2 -2
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/utils.py +30 -7
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/file.py +1 -1
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21/synapse_sdk.egg-info}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/.gitignore +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/LICENSE +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/README.md +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/requirements.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/setup.cfg +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/cli/create_plugin.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/backend/annotation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/backend/dataset.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/backend/integration.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/loggers.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/import/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/import/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/import/actions/import.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/storage.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk.egg-info/SOURCES.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk.egg-info/requires.txt +0 -0
- {synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk.egg-info/top_level.txt +0 -0
|
@@ -30,6 +30,7 @@ class Action:
|
|
|
30
30
|
plugin_config = None
|
|
31
31
|
plugin_release = None
|
|
32
32
|
config = None
|
|
33
|
+
requirements = None
|
|
33
34
|
job_id = None
|
|
34
35
|
direct = None
|
|
35
36
|
debug = None
|
|
@@ -48,11 +49,12 @@ class Action:
|
|
|
48
49
|
'SYNAPSE_PLUGIN_RUN_TENANT',
|
|
49
50
|
]
|
|
50
51
|
|
|
51
|
-
def __init__(self, params, plugin_config, envs=None, job_id=None, direct=False, debug=False):
|
|
52
|
+
def __init__(self, params, plugin_config, requirements=None, envs=None, job_id=None, direct=False, debug=False):
|
|
52
53
|
self.params = params
|
|
53
54
|
self.plugin_config = plugin_config
|
|
54
55
|
self.plugin_release = PluginRelease(config=plugin_config)
|
|
55
56
|
self.config = self.plugin_release.get_action_config(self.name)
|
|
57
|
+
self.requirements = requirements
|
|
56
58
|
self.job_id = job_id
|
|
57
59
|
self.direct = direct
|
|
58
60
|
self.debug = debug
|
|
@@ -117,10 +119,10 @@ class Action:
|
|
|
117
119
|
return {env: os.environ[env] for env in self.REQUIRED_ENVS if env in os.environ}
|
|
118
120
|
|
|
119
121
|
def get_runtime_env(self):
|
|
120
|
-
runtime_env = {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
runtime_env = {'pip': [], 'working_dir': self.plugin_url}
|
|
123
|
+
|
|
124
|
+
if self.requirements:
|
|
125
|
+
runtime_env['pip'] += self.requirements
|
|
124
126
|
|
|
125
127
|
if self.debug:
|
|
126
128
|
runtime_env['pip'] += self.debug_modules
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
annotation_category: image
|
|
2
|
+
annotation_type: polygon
|
|
1
3
|
smart_tool: interactive_segmentation
|
|
2
4
|
actions:
|
|
3
5
|
auto_label:
|
|
4
|
-
category: interactive_segmentation
|
|
5
6
|
entrypoint: plugin.auto_label.MyAutoLabel
|
|
6
7
|
model:
|
|
7
|
-
|
|
8
|
+
neural_net__plugin__code: sam2
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import json
|
|
2
1
|
from pathlib import Path
|
|
3
2
|
|
|
4
3
|
import click
|
|
@@ -27,7 +26,7 @@ def publish(ctx, host, user_token, tenant, debug_modules):
|
|
|
27
26
|
data = {'plugin': plugin_release.plugin, 'file': str(archive_path), 'debug': debug}
|
|
28
27
|
if debug:
|
|
29
28
|
modules = debug_modules.split(',') if debug_modules else []
|
|
30
|
-
data['
|
|
29
|
+
data['meta'] = {'modules': modules}
|
|
31
30
|
|
|
32
31
|
client = BackendClient(host, user_token, tenant=tenant)
|
|
33
32
|
client.create_plugin_release(data)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import os
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
|
|
3
4
|
import click
|
|
4
5
|
|
|
5
6
|
from synapse_sdk.clients.agent import AgentClient
|
|
6
7
|
from synapse_sdk.clients.backend import BackendClient
|
|
7
8
|
from synapse_sdk.plugins.models import PluginRelease
|
|
8
|
-
from synapse_sdk.plugins.utils import
|
|
9
|
+
from synapse_sdk.plugins.utils import read_requirements, run_plugin
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
@click.command()
|
|
@@ -33,8 +34,8 @@ def run(ctx, action, params, job_id, direct, run_by, agent_host, agent_token, ho
|
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
def run_by_script(action, params, job_id, direct, debug):
|
|
36
|
-
|
|
37
|
-
result = action
|
|
37
|
+
requirements = read_requirements('./requirements.txt')
|
|
38
|
+
result = run_plugin(action, params, requirements=requirements, debug=debug, job_id=job_id, direct=direct)
|
|
38
39
|
|
|
39
40
|
if debug:
|
|
40
41
|
click.echo(result)
|
|
@@ -43,17 +44,23 @@ def run_by_script(action, params, job_id, direct, debug):
|
|
|
43
44
|
def run_by_agent(action, params, job_id, agent_host, agent_token, user_token, tenant, debug):
|
|
44
45
|
client = AgentClient(agent_host, agent_token, user_token, tenant)
|
|
45
46
|
data = {'action': action, 'params': params}
|
|
47
|
+
plugin_path = os.getcwd()
|
|
48
|
+
requirements = read_requirements(Path(plugin_path) / 'requirements.txt')
|
|
49
|
+
if requirements:
|
|
50
|
+
data = {'requirements': requirements}
|
|
51
|
+
|
|
46
52
|
if job_id:
|
|
47
53
|
data['job_id'] = job_id
|
|
54
|
+
|
|
48
55
|
if debug:
|
|
49
56
|
data.update({
|
|
50
|
-
'plugin_path':
|
|
57
|
+
'plugin_path': plugin_path,
|
|
51
58
|
'modules': os.getenv('SYNAPSE_DEBUG_MODULES', '').split(','),
|
|
52
59
|
})
|
|
53
60
|
result = client.run_debug_plugin_release(data=data)
|
|
54
61
|
else:
|
|
55
62
|
plugin_release = PluginRelease()
|
|
56
|
-
result = client.run_plugin_release(
|
|
63
|
+
result = client.run_plugin_release(plugin_release.code, data=data)
|
|
57
64
|
|
|
58
65
|
click.echo(result)
|
|
59
66
|
|
|
@@ -93,8 +93,8 @@ class Run:
|
|
|
93
93
|
self.context = context
|
|
94
94
|
self.client = BackendClient(
|
|
95
95
|
self.context['envs']['SYNAPSE_PLUGIN_RUN_HOST'],
|
|
96
|
-
self.context['envs']
|
|
97
|
-
self.context['envs']
|
|
96
|
+
token=self.context['envs'].get('SYNAPSE_PLUGIN_RUN_USER_TOKEN'),
|
|
97
|
+
tenant=self.context['envs'].get('SYNAPSE_PLUGIN_RUN_TENANT'),
|
|
98
98
|
)
|
|
99
99
|
self.set_logger()
|
|
100
100
|
|
|
@@ -52,17 +52,37 @@ def read_plugin_config(plugin_path=None):
|
|
|
52
52
|
return get_dict_from_file(config_path)
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
def
|
|
55
|
+
def read_requirements(file_path):
|
|
56
|
+
file_path = Path(file_path)
|
|
57
|
+
if not file_path.exists():
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
requirements = []
|
|
61
|
+
for line in file_path.read_text().splitlines():
|
|
62
|
+
stripped_line = line.strip()
|
|
63
|
+
if stripped_line and not stripped_line.startswith('#'):
|
|
64
|
+
requirements.append(stripped_line)
|
|
65
|
+
return requirements
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def run_plugin(
|
|
69
|
+
action,
|
|
70
|
+
params,
|
|
71
|
+
plugin_config=None,
|
|
72
|
+
plugin_path=None,
|
|
73
|
+
modules=None,
|
|
74
|
+
requirements=None,
|
|
75
|
+
envs=None,
|
|
76
|
+
debug=False,
|
|
77
|
+
**kwargs,
|
|
78
|
+
):
|
|
56
79
|
from synapse_sdk.plugins.models import PluginRelease
|
|
57
80
|
|
|
58
81
|
if not envs:
|
|
59
82
|
envs = {}
|
|
60
83
|
|
|
61
84
|
if debug:
|
|
62
|
-
if
|
|
63
|
-
raise ActionError({'plugin_path': _('디버그 모드에서는 plugin_path는 필수입니다.')})
|
|
64
|
-
|
|
65
|
-
if plugin_path.startswith('http'):
|
|
85
|
+
if plugin_path and plugin_path.startswith('http'):
|
|
66
86
|
if not plugin_config:
|
|
67
87
|
raise ActionError({'config': _('"plugin_path"가 url인 경우에는 "config"가 필수입니다.')})
|
|
68
88
|
plugin_release = PluginRelease(config=plugin_config)
|
|
@@ -73,9 +93,12 @@ def run_plugin(action, params, plugin_config=None, plugin_path=None, modules=Non
|
|
|
73
93
|
if action not in plugin_release.actions:
|
|
74
94
|
raise ActionError({'action': _('해당 액션은 존재하지 않습니다.')})
|
|
75
95
|
|
|
76
|
-
|
|
96
|
+
if plugin_path:
|
|
97
|
+
envs['SYNAPSE_DEBUG_PLUGIN_PATH'] = plugin_path
|
|
98
|
+
|
|
77
99
|
if modules:
|
|
78
100
|
envs['SYNAPSE_DEBUG_MODULES'] = ','.join(modules)
|
|
101
|
+
|
|
79
102
|
else:
|
|
80
103
|
if plugin_config is None:
|
|
81
104
|
raise ActionError({'config': _('플러그인 설정은 필수입니다.')})
|
|
@@ -84,9 +107,9 @@ def run_plugin(action, params, plugin_config=None, plugin_path=None, modules=Non
|
|
|
84
107
|
action,
|
|
85
108
|
params,
|
|
86
109
|
config=plugin_config,
|
|
110
|
+
requirements=requirements,
|
|
87
111
|
envs=envs,
|
|
88
112
|
debug=debug,
|
|
89
113
|
**kwargs,
|
|
90
114
|
)
|
|
91
|
-
|
|
92
115
|
return action.run_action()
|
|
@@ -31,7 +31,7 @@ def download_file(url, path_download, name=None, coerce=None):
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
def files_url_to_path(files, coerce=None, file_field=None):
|
|
34
|
-
path_download =
|
|
34
|
+
path_download = get_temp_path('media')
|
|
35
35
|
path_download.mkdir(parents=True, exist_ok=True)
|
|
36
36
|
if file_field:
|
|
37
37
|
files[file_field] = download_file(files[file_field], path_download, coerce=coerce)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/export/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/categories/import/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/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
|
{synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/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
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/synapse_sdk/plugins/templates/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a19 → synapse_sdk-1.0.0a21}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|