synapse-sdk 1.0.0a28__tar.gz → 1.0.0a29__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.0a28/synapse_sdk.egg-info → synapse_sdk-1.0.0a29}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/integration.py +8 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/loggers.py +9 -2
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/actions/train.py +5 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/models.py +2 -2
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/file.py +35 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29/synapse_sdk.egg-info}/PKG-INFO +1 -1
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/.github/workflows/lint.yml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/.github/workflows/pypi-publish.yml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/.gitignore +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/LICENSE +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/README.md +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/locale/en/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/locale/en/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/locale/ko/LC_MESSAGES/messages.mo +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/locale/ko/LC_MESSAGES/messages.po +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/requirements.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/setup.cfg +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/create.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/dataclass.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/default.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/delete.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/list.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/read.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/update.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/alias/utils.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/plugin/create.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/plugin/publish.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/cli/plugin/run.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/agent/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/agent/core.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/agent/ray.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/agent/service.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/annotation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/core.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/dataset.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/backend/ml.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/base.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/exceptions.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/ray/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/ray/core.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/ray/serve.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/clients/utils.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/i18n.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/base.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/decorators.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/import/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/import/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/import/actions/import.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/registry.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/templates.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/enums.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/exceptions.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/upload.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/utils.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/shared/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/shared/enums.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/types.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/debug.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/module_loading.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/network.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/pydantic/__init__.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/pydantic/config.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/pydantic/errors.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/pydantic/validators.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/storage.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/utils/string.py +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk.egg-info/SOURCES.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk.egg-info/dependency_links.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk.egg-info/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk.egg-info/requires.txt +0 -0
- {synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from synapse_sdk.clients.base import BaseClient
|
|
2
|
+
from synapse_sdk.utils.file import convert_file_to_base64
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class IntegrationClientMixin(BaseClient):
|
|
@@ -60,6 +61,13 @@ class IntegrationClientMixin(BaseClient):
|
|
|
60
61
|
|
|
61
62
|
def create_logs(self, data):
|
|
62
63
|
path = 'logs/'
|
|
64
|
+
if not isinstance(data, list):
|
|
65
|
+
data = [data]
|
|
66
|
+
|
|
67
|
+
for item in data:
|
|
68
|
+
if 'file' in item:
|
|
69
|
+
item['file'] = convert_file_to_base64(item['file'])
|
|
70
|
+
|
|
63
71
|
return self._post(path, data=data)
|
|
64
72
|
|
|
65
73
|
def create_serve_application(self, data):
|
|
@@ -68,13 +68,16 @@ class BaseLogger:
|
|
|
68
68
|
|
|
69
69
|
return progress
|
|
70
70
|
|
|
71
|
+
def log(self, action, data, file=None):
|
|
72
|
+
raise NotImplementedError
|
|
73
|
+
|
|
71
74
|
|
|
72
75
|
class ConsoleLogger(BaseLogger):
|
|
73
76
|
def set_progress(self, current, total, category=None):
|
|
74
77
|
super().set_progress(current, total, category=category)
|
|
75
78
|
print(self.get_current_progress())
|
|
76
79
|
|
|
77
|
-
def log(self, action, data):
|
|
80
|
+
def log(self, action, data, file=None):
|
|
78
81
|
print(action, data)
|
|
79
82
|
|
|
80
83
|
|
|
@@ -99,7 +102,7 @@ class BackendLogger(BaseLogger):
|
|
|
99
102
|
except ClientError:
|
|
100
103
|
pass
|
|
101
104
|
|
|
102
|
-
def log(self, event, data):
|
|
105
|
+
def log(self, event, data, file=None):
|
|
103
106
|
print(event, data)
|
|
104
107
|
|
|
105
108
|
log = {
|
|
@@ -108,7 +111,11 @@ class BackendLogger(BaseLogger):
|
|
|
108
111
|
'datetime': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'),
|
|
109
112
|
'job': self.job_id,
|
|
110
113
|
}
|
|
114
|
+
if file:
|
|
115
|
+
log['file'] = file
|
|
116
|
+
|
|
111
117
|
self.logs_queue.append(log)
|
|
118
|
+
|
|
112
119
|
try:
|
|
113
120
|
self.client.create_logs(self.logs_queue)
|
|
114
121
|
self.logs_queue.clear()
|
|
@@ -18,8 +18,13 @@ from synapse_sdk.utils.pydantic.validators import non_blank
|
|
|
18
18
|
|
|
19
19
|
class TrainRun(Run):
|
|
20
20
|
def log_metric(self, category, key, value, **metrics):
|
|
21
|
+
# TODO validate input via plugin config
|
|
21
22
|
self.log('metric', {'category': category, 'key': key, 'value': value, 'metrics': metrics})
|
|
22
23
|
|
|
24
|
+
def log_visualization(self, category, group, image, **meta):
|
|
25
|
+
# TODO validate input via plugin config
|
|
26
|
+
self.log('visualization', {'category': category, 'group': group, **meta}, file=image)
|
|
27
|
+
|
|
23
28
|
|
|
24
29
|
class Hyperparameter(BaseModel):
|
|
25
30
|
batch_size: int
|
|
@@ -113,8 +113,8 @@ class Run:
|
|
|
113
113
|
def set_progress(self, current, total, category=''):
|
|
114
114
|
self.logger.set_progress(current, total, category)
|
|
115
115
|
|
|
116
|
-
def log(self, event, data):
|
|
117
|
-
self.logger.log(event, data)
|
|
116
|
+
def log(self, event, data, file=None):
|
|
117
|
+
self.logger.log(event, data, file=file)
|
|
118
118
|
|
|
119
119
|
def log_message(self, message, context=Context.INFO.value):
|
|
120
120
|
self.logger.log('message', {'context': context, 'content': message})
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import base64
|
|
2
3
|
import hashlib
|
|
3
4
|
import json
|
|
5
|
+
import mimetypes
|
|
4
6
|
import operator
|
|
5
7
|
import zipfile
|
|
6
8
|
from functools import reduce
|
|
@@ -182,3 +184,36 @@ def get_temp_path(sub_path=None):
|
|
|
182
184
|
if sub_path:
|
|
183
185
|
path = path / sub_path
|
|
184
186
|
return path
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def convert_file_to_base64(file_path):
|
|
190
|
+
"""
|
|
191
|
+
Convert a file to base64 using pathlib.
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
file_path (str): Path to the file to convert
|
|
195
|
+
|
|
196
|
+
Returns:
|
|
197
|
+
str: Base64 encoded string of the file contents
|
|
198
|
+
"""
|
|
199
|
+
# Convert string path to Path object
|
|
200
|
+
path = Path(file_path)
|
|
201
|
+
|
|
202
|
+
try:
|
|
203
|
+
# Read binary content of the file
|
|
204
|
+
binary_content = path.read_bytes()
|
|
205
|
+
|
|
206
|
+
# Convert to base64
|
|
207
|
+
base64_encoded = base64.b64encode(binary_content).decode('utf-8')
|
|
208
|
+
|
|
209
|
+
# Get the MIME type of the file
|
|
210
|
+
mime_type, _ = mimetypes.guess_type(path)
|
|
211
|
+
assert mime_type is not None, 'MIME type cannot be guessed'
|
|
212
|
+
|
|
213
|
+
# Convert bytes to string for readable output
|
|
214
|
+
return f'data:{mime_type};base64,{base64_encoded}'
|
|
215
|
+
|
|
216
|
+
except FileNotFoundError:
|
|
217
|
+
raise FileNotFoundError(f'File not found: {file_path}')
|
|
218
|
+
except Exception as e:
|
|
219
|
+
raise Exception(f'Error converting file to base64: {str(e)}')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/export/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/categories/import/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/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
|
{synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/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.0a28 → synapse_sdk-1.0.0a29}/synapse_sdk/plugins/templates/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
{synapse_sdk-1.0.0a28 → synapse_sdk-1.0.0a29}/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
|