synapse-sdk 1.0.0a22__tar.gz → 1.0.0a24__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 (124) hide show
  1. {synapse_sdk-1.0.0a22/synapse_sdk.egg-info → synapse_sdk-1.0.0a24}/PKG-INFO +2 -1
  2. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/pyproject.toml +1 -0
  3. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/requirements.txt +1 -0
  4. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +10 -2
  5. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +13 -1
  6. synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/neural_net/base/inference.py +37 -0
  7. synapse_sdk-1.0.0a24/synapse_sdk/utils/pydantic/__init__.py +0 -0
  8. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24/synapse_sdk.egg-info}/PKG-INFO +2 -1
  9. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk.egg-info/SOURCES.txt +2 -0
  10. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk.egg-info/requires.txt +1 -0
  11. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/.github/workflows/lint.yml +0 -0
  12. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/.github/workflows/pypi-publish.yml +0 -0
  13. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/.gitignore +0 -0
  14. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/.pre-commit-config.yaml +0 -0
  15. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/LICENSE +0 -0
  16. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/README.md +0 -0
  17. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/locale/en/LC_MESSAGES/messages.mo +0 -0
  18. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/locale/en/LC_MESSAGES/messages.po +0 -0
  19. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  20. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/locale/ko/LC_MESSAGES/messages.po +0 -0
  21. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/setup.cfg +0 -0
  22. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/__init__.py +0 -0
  23. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/cli/__init__.py +0 -0
  24. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/cli/create_plugin.py +0 -0
  25. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/__init__.py +0 -0
  26. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/agent/__init__.py +0 -0
  27. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/agent/core.py +0 -0
  28. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/agent/ray.py +0 -0
  29. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/agent/service.py +0 -0
  30. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/__init__.py +0 -0
  31. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/annotation.py +0 -0
  32. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/core.py +0 -0
  33. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/dataset.py +0 -0
  34. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/integration.py +0 -0
  35. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/backend/ml.py +0 -0
  36. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/base.py +0 -0
  37. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/exceptions.py +0 -0
  38. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/ray/__init__.py +0 -0
  39. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/ray/core.py +0 -0
  40. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/ray/serve.py +0 -0
  41. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/clients/utils.py +0 -0
  42. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/i18n.py +0 -0
  43. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/loggers.py +0 -0
  44. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/__init__.py +0 -0
  45. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/__init__.py +0 -0
  46. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/base.py +0 -0
  47. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  48. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  49. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  50. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  51. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  52. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  53. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/decorators.py +0 -0
  54. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  55. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  56. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  57. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/import/__init__.py +0 -0
  58. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/import/actions/__init__.py +0 -0
  59. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/import/actions/import.py +0 -0
  60. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  61. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  62. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  63. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  64. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/neural_net/templates/plugin → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/neural_net/base}/__init__.py +0 -0
  65. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  66. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/post_annotation → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/neural_net/templates/plugin}/__init__.py +0 -0
  67. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  68. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  69. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  70. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/post_annotation/actions → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/post_annotation}/__init__.py +0 -0
  71. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/post_annotation/templates/plugin → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/post_annotation/actions}/__init__.py +0 -0
  72. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  73. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  74. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/pre_annotation → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/post_annotation/templates/plugin}/__init__.py +0 -0
  75. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  76. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/pre_annotation/actions → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/pre_annotation}/__init__.py +0 -0
  77. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/pre_annotation/templates/plugin → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/pre_annotation/actions}/__init__.py +0 -0
  78. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  79. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  80. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/smart_tool → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/pre_annotation/templates/plugin}/__init__.py +0 -0
  81. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  82. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/registry.py +0 -0
  83. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/smart_tool/actions → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/smart_tool}/__init__.py +0 -0
  84. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/categories/smart_tool/templates/plugin → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/smart_tool/actions}/__init__.py +0 -0
  85. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  86. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  87. {synapse_sdk-1.0.0a22/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin → synapse_sdk-1.0.0a24/synapse_sdk/plugins/categories/smart_tool/templates}/plugin/__init__.py +0 -0
  88. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  89. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/categories/templates.py +0 -0
  90. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/cli/__init__.py +0 -0
  91. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/cli/publish.py +0 -0
  92. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/cli/run.py +0 -0
  93. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/enums.py +0 -0
  94. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/exceptions.py +0 -0
  95. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/models.py +0 -0
  96. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  97. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  98. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  99. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -0
  100. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -0
  101. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  102. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  103. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  104. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  105. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -0
  106. {synapse_sdk-1.0.0a22/synapse_sdk/shared → synapse_sdk-1.0.0a24/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin}/__init__.py +0 -0
  107. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  108. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  109. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/upload.py +0 -0
  110. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/plugins/utils.py +0 -0
  111. {synapse_sdk-1.0.0a22/synapse_sdk/utils → synapse_sdk-1.0.0a24/synapse_sdk/shared}/__init__.py +0 -0
  112. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/shared/enums.py +0 -0
  113. {synapse_sdk-1.0.0a22/synapse_sdk/utils/pydantic → synapse_sdk-1.0.0a24/synapse_sdk/utils}/__init__.py +0 -0
  114. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/debug.py +0 -0
  115. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/file.py +0 -0
  116. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/module_loading.py +0 -0
  117. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/pydantic/config.py +0 -0
  118. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/pydantic/errors.py +0 -0
  119. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/pydantic/validators.py +0 -0
  120. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/storage.py +0 -0
  121. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk/utils/string.py +0 -0
  122. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  123. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/synapse_sdk.egg-info/entry_points.txt +0 -0
  124. {synapse_sdk-1.0.0a22 → synapse_sdk-1.0.0a24}/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.0a22
3
+ Version: 1.0.0a24
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -16,6 +16,7 @@ Requires-Dist: tqdm
16
16
  Requires-Dist: python-dotenv
17
17
  Requires-Dist: pyyaml
18
18
  Requires-Dist: pydantic
19
+ Requires-Dist: pyjwt
19
20
  Provides-Extra: all
20
21
  Requires-Dist: ray[all]; extra == "all"
21
22
 
@@ -21,6 +21,7 @@ dependencies = [
21
21
  "python-dotenv",
22
22
  "pyyaml",
23
23
  "pydantic",
24
+ "pyjwt"
24
25
  ]
25
26
  dynamic = ["version"]
26
27
 
@@ -5,5 +5,6 @@ requests
5
5
  tqdm
6
6
  pyyaml
7
7
  pydantic
8
+ pyjwt
8
9
  python-dotenv
9
10
  ray[all]>=2.38.0
@@ -21,11 +21,19 @@ class DeploymentAction(Action):
21
21
  def start(self):
22
22
  from ray import serve
23
23
 
24
+ from synapse_sdk.plugins.categories.neural_net.base.inference import app
25
+
24
26
  self.ray_init()
25
- deployment = serve.deployment(ray_actor_options=self.get_actor_options())(self.entrypoint)
27
+
28
+ deployment = serve.deployment(ray_actor_options=self.get_actor_options())(serve.ingress(app)(self.entrypoint))
26
29
  serve.delete(self.plugin_release.code)
30
+
27
31
  # TODO add run object
28
- serve.run(deployment.bind(), name=self.plugin_release.code, route_prefix=f'/{self.plugin_release.checksum}')
32
+ serve.run(
33
+ deployment.bind(self.envs['SYNAPSE_PLUGIN_RUN_HOST']),
34
+ name=self.plugin_release.code,
35
+ route_prefix=f'/{self.plugin_release.checksum}',
36
+ )
29
37
 
30
38
  # 백엔드에 ServeApplication 추가
31
39
  serve_application = self.create_serve_application()
@@ -1,3 +1,5 @@
1
+ import jwt
2
+
1
3
  from synapse_sdk.plugins.categories.base import Action
2
4
  from synapse_sdk.plugins.categories.decorators import register_action
3
5
  from synapse_sdk.plugins.enums import PluginCategory, RunMethod
@@ -11,8 +13,18 @@ class InferenceAction(Action):
11
13
 
12
14
  def __init__(self, *args, **kwargs):
13
15
  super().__init__(*args, **kwargs)
14
- headers = {'serve_multiplexed_model_id': str(self.params.pop('model'))}
16
+ headers = {'serve_multiplexed_model_id': self.get_serve_multiplexed_model_id()}
15
17
  if 'headers' in self.params:
16
18
  self.params['headers'].update(headers)
17
19
  else:
18
20
  self.params['headers'] = headers
21
+
22
+ def get_serve_multiplexed_model_id(self):
23
+ return jwt.encode(
24
+ {
25
+ 'model': str(self.params.pop('model')),
26
+ 'token': self.envs['SYNAPSE_PLUGIN_RUN_USER_TOKEN'],
27
+ 'tenant': self.envs['SYNAPSE_PLUGIN_RUN_TENANT'],
28
+ },
29
+ self.envs['SYNAPSE_PLUGIN_RUN_HOST'],
30
+ )
@@ -0,0 +1,37 @@
1
+ import tempfile
2
+
3
+ import jwt
4
+ from synapse_sdk.clients.backend import BackendClient
5
+ from fastapi import FastAPI
6
+ from ray import serve
7
+
8
+ from synapse_sdk.utils.file import unarchive
9
+
10
+ app = FastAPI()
11
+
12
+
13
+ class BaseInference:
14
+ backend_url = None
15
+ client = None
16
+
17
+ def __init__(self, backend_url):
18
+ self.backend_url = backend_url
19
+
20
+ @serve.multiplexed()
21
+ async def _load_model(self, model_id: str):
22
+ model_info = jwt.decode(model_id, self.backend_url, algorithms='HS256')
23
+ client = BackendClient(self.backend_url, token=model_info['token'], tenant=model_info['tenant'])
24
+ model = client.get_model(model_info['model'])
25
+ with tempfile.TemporaryDirectory() as temp_path:
26
+ unarchive(model['file'], temp_path)
27
+ model['path'] = temp_path
28
+ return await self._get_model(model)
29
+
30
+ async def get_model(self):
31
+ return await self._load_model(serve.get_multiplexed_model_id())
32
+
33
+ async def _get_model(self, model):
34
+ raise NotImplementedError
35
+
36
+ async def infer(self, *args, **kwargs):
37
+ raise NotImplementedError
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a22
3
+ Version: 1.0.0a24
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -16,6 +16,7 @@ Requires-Dist: tqdm
16
16
  Requires-Dist: python-dotenv
17
17
  Requires-Dist: pyyaml
18
18
  Requires-Dist: pydantic
19
+ Requires-Dist: pyjwt
19
20
  Provides-Extra: all
20
21
  Requires-Dist: ray[all]; extra == "all"
21
22
 
@@ -69,6 +69,8 @@ synapse_sdk/plugins/categories/neural_net/actions/deployment.py
69
69
  synapse_sdk/plugins/categories/neural_net/actions/inference.py
70
70
  synapse_sdk/plugins/categories/neural_net/actions/test.py
71
71
  synapse_sdk/plugins/categories/neural_net/actions/train.py
72
+ synapse_sdk/plugins/categories/neural_net/base/__init__.py
73
+ synapse_sdk/plugins/categories/neural_net/base/inference.py
72
74
  synapse_sdk/plugins/categories/neural_net/templates/config.yaml
73
75
  synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py
74
76
  synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py
@@ -6,6 +6,7 @@ tqdm
6
6
  python-dotenv
7
7
  pyyaml
8
8
  pydantic
9
+ pyjwt
9
10
 
10
11
  [all]
11
12
  ray[all]
File without changes
File without changes
File without changes