synapse-sdk 1.0.0a13__tar.gz → 1.0.0a15__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.

Files changed (121) hide show
  1. {synapse_sdk-1.0.0a13/synapse_sdk.egg-info → synapse_sdk-1.0.0a15}/PKG-INFO +1 -1
  2. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/pyproject.toml +4 -1
  3. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/backend/__init__.py +6 -2
  4. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/backend/dataset.py +1 -1
  5. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/backend/integration.py +3 -3
  6. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/backend/ml.py +1 -1
  7. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/base.py +2 -2
  8. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/cli/publish.py +2 -1
  9. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/models.py +8 -10
  10. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/utils.py +42 -0
  11. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15/synapse_sdk.egg-info}/PKG-INFO +1 -1
  12. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/.github/workflows/lint.yml +0 -0
  13. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/.github/workflows/pypi-publish.yml +0 -0
  14. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/.gitignore +0 -0
  15. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/.pre-commit-config.yaml +0 -0
  16. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/LICENSE +0 -0
  17. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/README.md +0 -0
  18. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/locale/en/LC_MESSAGES/messages.mo +0 -0
  19. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/locale/en/LC_MESSAGES/messages.po +0 -0
  20. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  21. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/locale/ko/LC_MESSAGES/messages.po +0 -0
  22. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/requirements.txt +0 -0
  23. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/setup.cfg +0 -0
  24. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/__init__.py +0 -0
  25. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/cli/__init__.py +0 -0
  26. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/cli/create_plugin.py +0 -0
  27. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/__init__.py +0 -0
  28. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/agent/__init__.py +0 -0
  29. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/agent/core.py +0 -0
  30. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/agent/ray.py +0 -0
  31. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/agent/service.py +0 -0
  32. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/backend/annotation.py +0 -0
  33. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/base.py +0 -0
  34. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/exceptions.py +0 -0
  35. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/ray/__init__.py +0 -0
  36. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/ray/core.py +0 -0
  37. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/ray/serve.py +0 -0
  38. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/clients/utils.py +0 -0
  39. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/i18n.py +0 -0
  40. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/loggers.py +0 -0
  41. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/__init__.py +0 -0
  42. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/__init__.py +0 -0
  43. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  44. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  45. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  46. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  47. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  48. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  49. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/decorators.py +0 -0
  50. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  51. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  52. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  53. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/import/__init__.py +0 -0
  54. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/import/actions/__init__.py +0 -0
  55. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/import/actions/import.py +0 -0
  56. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  57. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  58. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  59. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  60. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  61. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  62. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  63. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  64. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  65. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  66. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  67. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  68. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  69. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  70. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  71. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  72. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  73. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  74. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  75. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  76. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  77. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  78. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  79. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/registry.py +0 -0
  80. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  81. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  82. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  83. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  84. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  85. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  86. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/categories/templates.py +0 -0
  87. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/cli/__init__.py +0 -0
  88. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/cli/run.py +0 -0
  89. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/enums.py +0 -0
  90. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/exceptions.py +0 -0
  91. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  92. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  93. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  94. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -0
  95. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -0
  96. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  97. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  98. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  99. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  100. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -0
  101. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  102. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  103. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  104. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/plugins/upload.py +0 -0
  105. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/shared/__init__.py +0 -0
  106. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/shared/enums.py +0 -0
  107. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/__init__.py +0 -0
  108. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/debug.py +0 -0
  109. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/file.py +0 -0
  110. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/module_loading.py +0 -0
  111. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  112. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/pydantic/config.py +0 -0
  113. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/pydantic/errors.py +0 -0
  114. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/pydantic/validators.py +0 -0
  115. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/storage.py +0 -0
  116. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk/utils/string.py +0 -0
  117. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk.egg-info/SOURCES.txt +0 -0
  118. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  119. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk.egg-info/entry_points.txt +0 -0
  120. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk.egg-info/requires.txt +0 -0
  121. {synapse_sdk-1.0.0a13 → synapse_sdk-1.0.0a15}/synapse_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a13
3
+ Version: 1.0.0a15
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -33,11 +33,14 @@ all = [
33
33
  synapse = "synapse_sdk.cli:cli"
34
34
 
35
35
  [tool.setuptools]
36
- packages = ["synapse_sdk"]
36
+ include-package-data = true
37
37
 
38
38
  [tool.setuptools.package-data]
39
39
  "synapse_sdk" = ["../locale/**/*"]
40
40
 
41
+ [tool.setuptools.packages.find]
42
+ include = ["synapse_sdk*"]
43
+
41
44
  [tool.setuptools_scm]
42
45
 
43
46
  [tool.ruff]
@@ -8,16 +8,20 @@ class BackendClient(AnnotationClientMixin, DatasetClientMixin, IntegrationClient
8
8
  name = 'Backend'
9
9
  token = None
10
10
  tenant = None
11
+ agent_token = None
11
12
 
12
- def __init__(self, base_url, token=None, tenant=None):
13
+ def __init__(self, base_url, token=None, tenant=None, agent_token=None):
13
14
  super().__init__(base_url)
14
15
  self.token = token
15
16
  self.tenant = tenant
17
+ self.agent_token = agent_token
16
18
 
17
19
  def _get_headers(self):
18
20
  headers = {}
19
21
  if self.token:
20
- headers = {'Authorization': f'Token {self.token}'}
22
+ headers['Authorization'] = f'Token {self.token}'
21
23
  if self.tenant:
22
24
  headers['SYNAPSE-Tenant'] = f'Token {self.tenant}'
25
+ if self.agent_token:
26
+ headers['SYNAPSE-Agent'] = f'Token {self.agent_token}'
23
27
  return headers
@@ -9,7 +9,7 @@ from synapse_sdk.clients.utils import get_batched_list
9
9
  class DatasetClientMixin(BaseClient):
10
10
  def list_dataset(self):
11
11
  path = 'datasets/'
12
- return self._get(path)
12
+ return self._list(path)
13
13
 
14
14
  def create_data_file(self, file_path):
15
15
  path = 'data_files/'
@@ -37,7 +37,7 @@ class IntegrationClientMixin(BaseClient):
37
37
 
38
38
  def list_jobs(self, params=None):
39
39
  path = 'jobs/'
40
- return self._get(path, params=params)
40
+ return self._list(path, params=params)
41
41
 
42
42
  def update_job(self, pk, data):
43
43
  path = f'jobs/{pk}/'
@@ -66,6 +66,6 @@ class IntegrationClientMixin(BaseClient):
66
66
  path = 'serve_applications/'
67
67
  return self._post(path, data=data)
68
68
 
69
- def list_serve_applications(self, params=None):
69
+ def list_serve_applications(self, params=None, list_all=False):
70
70
  path = 'serve_applications/'
71
- return self._get(path, params=params)
71
+ return self._list(path, params=params, list_all=list_all)
@@ -5,7 +5,7 @@ from synapse_sdk.clients.utils import get_default_url_conversion
5
5
  class MLClientMixin(BaseClient):
6
6
  def list_models(self, params=None):
7
7
  path = 'models/'
8
- return self._get(path, params=params)
8
+ return self._list(path, params=params)
9
9
 
10
10
  def get_model(self, pk, params=None, url_conversion=None):
11
11
  path = f'models/{pk}/'
@@ -36,7 +36,7 @@ class Action:
36
36
  envs = None
37
37
  run = None
38
38
 
39
- default_envs = [
39
+ REQUIRED_ENVS = [
40
40
  'RAY_ADDRESS',
41
41
  'RAY_DASHBOARD_URL',
42
42
  'RAY_SERVE_ADDRESS',
@@ -112,7 +112,7 @@ class Action:
112
112
  return self.run_class(self.job_id, context)
113
113
 
114
114
  def get_default_envs(self):
115
- return {env: os.environ[env] for env in self.default_envs if env in os.environ}
115
+ return {env: os.environ[env] for env in self.REQUIRED_ENVS if env in os.environ}
116
116
 
117
117
  def get_runtime_env(self):
118
118
  runtime_env = {
@@ -26,7 +26,8 @@ def publish(ctx, host, user_token, tenant, debug_modules):
26
26
 
27
27
  data = {'plugin': plugin_release.plugin, 'file': str(archive_path), 'debug': debug}
28
28
  if debug:
29
- data['debug_meta'] = json.dumps({'modules': debug_modules.split(',')})
29
+ if debug_modules:
30
+ data['debug_meta'] = json.dumps({'modules': debug_modules.split(',')})
30
31
 
31
32
  client = BackendClient(host, user_token, tenant=tenant)
32
33
  client.create_plugin_release(data)
@@ -86,28 +86,26 @@ class Run:
86
86
  logger = None
87
87
  job_id = None
88
88
  context = None
89
+ client = None
89
90
 
90
91
  def __init__(self, job_id, context):
91
92
  self.job_id = job_id
92
93
  self.context = context
94
+ self.client = BackendClient(
95
+ self.context['envs']['SYNAPSE_PLUGIN_RUN_HOST'],
96
+ self.context['envs']['SYNAPSE_PLUGIN_RUN_USER_TOKEN'],
97
+ self.context['envs']['SYNAPSE_PLUGIN_RUN_TENANT'],
98
+ )
93
99
  self.set_logger()
94
100
 
95
101
  def set_logger(self):
96
102
  kwargs = {'progress_categories': self.context['progress_categories']}
103
+
97
104
  if self.job_id:
98
- client = BackendClient(
99
- self.context['envs']['SYNAPSE_PLUGIN_RUN_HOST'],
100
- self.context['envs']['SYNAPSE_PLUGIN_RUN_USER_TOKEN'],
101
- self.context['envs']['SYNAPSE_PLUGIN_RUN_TENANT'],
102
- )
103
- self.logger = BackendLogger(client, self.job_id, **kwargs)
105
+ self.logger = BackendLogger(self.client, self.job_id, **kwargs)
104
106
  else:
105
107
  self.logger = ConsoleLogger(**kwargs)
106
108
 
107
- @property
108
- def client(self):
109
- return getattr(self.logger, 'client', None)
110
-
111
109
  def set_progress(self, current, total, category=''):
112
110
  self.logger.set_progress(current, total, category)
113
111
 
@@ -1,8 +1,10 @@
1
1
  import json
2
2
  from pathlib import Path
3
3
 
4
+ from synapse_sdk.i18n import gettext as _
4
5
  from synapse_sdk.plugins.categories.registry import _REGISTERED_ACTIONS, register_actions
5
6
  from synapse_sdk.plugins.enums import PluginCategory
7
+ from synapse_sdk.plugins.exceptions import ActionError
6
8
  from synapse_sdk.utils.file import get_dict_from_file
7
9
 
8
10
 
@@ -48,3 +50,43 @@ def read_plugin_config(plugin_path=None):
48
50
  else:
49
51
  config_path = config_file_name
50
52
  return get_dict_from_file(config_path)
53
+
54
+
55
+ def run_plugin(action, params, plugin_config=None, plugin_path=None, modules=None, envs=None, debug=False, **kwargs):
56
+ from synapse_sdk.plugins.models import PluginRelease
57
+
58
+ if not envs:
59
+ envs = {}
60
+
61
+ if debug:
62
+ if not plugin_path:
63
+ raise ActionError({'plugin_path': _('디버그 모드에서는 plugin_path는 필수입니다.')})
64
+
65
+ if plugin_path.startswith('http'):
66
+ if not plugin_config:
67
+ raise ActionError({'config': _('"plugin_path"가 url인 경우에는 "config"가 필수입니다.')})
68
+ plugin_release = PluginRelease(config=plugin_config)
69
+ else:
70
+ plugin_release = PluginRelease(plugin_path=plugin_path)
71
+ plugin_config = plugin_release.config
72
+
73
+ if action not in plugin_release.actions:
74
+ raise ActionError({'action': _('해당 액션은 존재하지 않습니다.')})
75
+
76
+ envs['SYNAPSE_DEBUG_PLUGIN_PATH'] = plugin_path
77
+ if modules:
78
+ envs['SYNAPSE_DEBUG_MODULES'] = ','.join(modules)
79
+ else:
80
+ if plugin_config is None:
81
+ raise ActionError({'config': _('플러그인 설정은 필수입니다.')})
82
+
83
+ action = get_action(
84
+ action,
85
+ params,
86
+ config=plugin_config,
87
+ envs=envs,
88
+ debug=debug,
89
+ **kwargs,
90
+ )
91
+
92
+ return action.run_action()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a13
3
+ Version: 1.0.0a15
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
File without changes
File without changes
File without changes