synapse-sdk 1.0.0a63__py3-none-any.whl → 1.0.0a65__py3-none-any.whl
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/clients/backend/__init__.py +20 -1
- synapse_sdk/devtools/server.py +1 -1
- synapse_sdk/plugins/categories/base.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload.py +6 -14
- synapse_sdk/plugins/models.py +13 -5
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/METADATA +1 -1
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/RECORD +11 -11
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/WHEEL +0 -0
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/licenses/LICENSE +0 -0
- {synapse_sdk-1.0.0a63.dist-info → synapse_sdk-1.0.0a65.dist-info}/top_level.txt +0 -0
|
@@ -14,19 +14,38 @@ class BackendClient(
|
|
|
14
14
|
MLClientMixin,
|
|
15
15
|
HITLClientMixin,
|
|
16
16
|
):
|
|
17
|
+
"""BackendClient is a client for the synapse backend API.
|
|
18
|
+
|
|
19
|
+
* Access token overrides authorization token and tenant token.
|
|
20
|
+
|
|
21
|
+
Attrs:
|
|
22
|
+
access_token (str): The synapse access token for the synapse backend API.
|
|
23
|
+
authorization_token (str): The authorization token for the synapse backend API.
|
|
24
|
+
tenant_token (str): The tenant token for the synapse backend API.
|
|
25
|
+
agent_token (str): The agent token for the backend API.
|
|
26
|
+
"""
|
|
27
|
+
|
|
17
28
|
name = 'Backend'
|
|
18
29
|
access_token = None
|
|
30
|
+
authorization_token = None
|
|
31
|
+
tenant_token = None
|
|
19
32
|
agent_token = None
|
|
20
33
|
|
|
21
|
-
def __init__(self, base_url, access_token=None, agent_token=None, **kwargs):
|
|
34
|
+
def __init__(self, base_url, access_token=None, token=None, tenant=None, agent_token=None, **kwargs):
|
|
22
35
|
super().__init__(base_url)
|
|
23
36
|
self.access_token = access_token
|
|
37
|
+
self.authorization_token = token
|
|
38
|
+
self.tenant_token = tenant
|
|
24
39
|
self.agent_token = agent_token
|
|
25
40
|
|
|
26
41
|
def _get_headers(self):
|
|
27
42
|
headers = {}
|
|
28
43
|
if self.access_token:
|
|
29
44
|
headers['Synapse-Access-Token'] = f'Token {self.access_token}'
|
|
45
|
+
if self.authorization_token:
|
|
46
|
+
headers['Authorization'] = f'Token {self.authorization_token}'
|
|
47
|
+
if self.tenant_token:
|
|
48
|
+
headers['Synapse-Tenant'] = f'Token {self.tenant_token}'
|
|
30
49
|
if self.agent_token:
|
|
31
50
|
headers['SYNAPSE-Agent'] = f'Token {self.agent_token}'
|
|
32
51
|
return headers
|
synapse_sdk/devtools/server.py
CHANGED
|
@@ -69,7 +69,7 @@ class DevtoolsServer:
|
|
|
69
69
|
def _init_backend_client(self) -> Optional[BackendClient]:
|
|
70
70
|
config = get_backend_config()
|
|
71
71
|
if config:
|
|
72
|
-
return BackendClient(config['host'],
|
|
72
|
+
return BackendClient(config['host'], access_token=config['token'])
|
|
73
73
|
return None
|
|
74
74
|
|
|
75
75
|
def _init_agent_client(self) -> Optional[AgentClient]:
|
|
@@ -194,13 +194,13 @@ class UploadAction(Action):
|
|
|
194
194
|
run_class = UploadRun
|
|
195
195
|
progress_categories = {
|
|
196
196
|
'analyze_collection': {
|
|
197
|
-
'proportion':
|
|
197
|
+
'proportion': 10,
|
|
198
198
|
},
|
|
199
199
|
'upload_data_files': {
|
|
200
|
-
'proportion':
|
|
200
|
+
'proportion': 50,
|
|
201
201
|
},
|
|
202
202
|
'generate_data_units': {
|
|
203
|
-
'proportion':
|
|
203
|
+
'proportion': 40,
|
|
204
204
|
},
|
|
205
205
|
}
|
|
206
206
|
metrics_categories = {'data_file', 'data_unit'}
|
|
@@ -372,7 +372,6 @@ class UploadAction(Action):
|
|
|
372
372
|
List: List of dictionaries containing organized files.
|
|
373
373
|
"""
|
|
374
374
|
organized_files = []
|
|
375
|
-
self.run.log_message(f'Looking for files in {directory}...')
|
|
376
375
|
|
|
377
376
|
# Check for type-based directory structure (e.g., image_1/, pcd_1/)
|
|
378
377
|
type_dirs = {}
|
|
@@ -396,7 +395,7 @@ class UploadAction(Action):
|
|
|
396
395
|
if extensions:
|
|
397
396
|
common_ext = max(extensions.items(), key=lambda x: x[1])[0]
|
|
398
397
|
type_extensions[spec_name] = common_ext
|
|
399
|
-
self.run.log_message(f'Found type directory: {spec_name} (
|
|
398
|
+
self.run.log_message(f'Found type directory: {spec_name} (extension: {common_ext})')
|
|
400
399
|
|
|
401
400
|
# If type-based directories don't exist, exit early
|
|
402
401
|
if not type_dirs:
|
|
@@ -432,19 +431,13 @@ class UploadAction(Action):
|
|
|
432
431
|
)
|
|
433
432
|
|
|
434
433
|
if not dataset_files:
|
|
435
|
-
self.run.log_message('No
|
|
434
|
+
self.run.log_message('No files found.', context=Context.WARNING.value)
|
|
436
435
|
return organized_files
|
|
437
436
|
|
|
438
|
-
self.run.log_message(f'Found {len(dataset_files)}
|
|
437
|
+
self.run.log_message(f'Found {len(dataset_files)} files by ID')
|
|
439
438
|
|
|
440
439
|
# Second pass: organize valid datasets
|
|
441
440
|
for file_name, files_dict in sorted(dataset_files.items()):
|
|
442
|
-
self.run.log_message(f'Processing file name: {file_name}')
|
|
443
|
-
|
|
444
|
-
# Add file spec details for logging
|
|
445
|
-
for spec_name, file_path in files_dict.items():
|
|
446
|
-
self.run.log_message(f"Mapped '{spec_name}' to: {file_path.name}")
|
|
447
|
-
|
|
448
441
|
# Check if all required files are present
|
|
449
442
|
required_specs = [spec['name'] for spec in file_specification if spec.get('is_required', False)]
|
|
450
443
|
if all(req in files_dict for req in required_specs):
|
|
@@ -456,7 +449,6 @@ class UploadAction(Action):
|
|
|
456
449
|
|
|
457
450
|
# Add the organized dataset
|
|
458
451
|
organized_files.append({'files': files_dict, 'meta': meta_data})
|
|
459
|
-
self.run.log_message(f'Successfully organized dataset for ID {file_name}')
|
|
460
452
|
else:
|
|
461
453
|
# Missing required files warning
|
|
462
454
|
missing = [req for req in required_specs if req not in files_dict]
|
synapse_sdk/plugins/models.py
CHANGED
|
@@ -3,6 +3,7 @@ from functools import cached_property
|
|
|
3
3
|
from typing import Any, Dict
|
|
4
4
|
|
|
5
5
|
from synapse_sdk.clients.backend import BackendClient
|
|
6
|
+
from synapse_sdk.devtools.config import get_backend_config
|
|
6
7
|
from synapse_sdk.loggers import BackendLogger, ConsoleLogger
|
|
7
8
|
from synapse_sdk.plugins.utils import read_plugin_config
|
|
8
9
|
from synapse_sdk.shared.enums import Context
|
|
@@ -112,11 +113,18 @@ class Run:
|
|
|
112
113
|
def __init__(self, job_id, context):
|
|
113
114
|
self.job_id = job_id
|
|
114
115
|
self.context = context
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
config = get_backend_config()
|
|
117
|
+
if config:
|
|
118
|
+
self.client = BackendClient(
|
|
119
|
+
config['host'],
|
|
120
|
+
access_token=config['token'],
|
|
121
|
+
)
|
|
122
|
+
else:
|
|
123
|
+
self.client = BackendClient(
|
|
124
|
+
self.context['envs']['SYNAPSE_PLUGIN_RUN_HOST'],
|
|
125
|
+
token=self.context['envs'].get('SYNAPSE_PLUGIN_RUN_USER_TOKEN'),
|
|
126
|
+
tenant=self.context['envs'].get('SYNAPSE_PLUGIN_RUN_TENANT'),
|
|
127
|
+
)
|
|
120
128
|
self.set_logger()
|
|
121
129
|
|
|
122
130
|
def set_logger(self):
|
|
@@ -30,7 +30,7 @@ synapse_sdk/clients/agent/__init__.py,sha256=FqYbtzMJdzRfuU2SA-Yxdc0JKmVP1wxH6Ol
|
|
|
30
30
|
synapse_sdk/clients/agent/core.py,sha256=x2jgORTjT7pJY67SLuc-5lMG6CD5OWpy8UgGeTf7IhA,270
|
|
31
31
|
synapse_sdk/clients/agent/ray.py,sha256=1EDl-bMN2CvKl07-qMidSWNOGpvIvzcWl7jDBCza65o,3248
|
|
32
32
|
synapse_sdk/clients/agent/service.py,sha256=s7KuPK_DB1nr2VHrigttV1WyFonaGHNrPvU8loRxHcE,478
|
|
33
|
-
synapse_sdk/clients/backend/__init__.py,sha256=
|
|
33
|
+
synapse_sdk/clients/backend/__init__.py,sha256=ZIOtyumZUw2u1k71rf5CjMCqhR1RwRTKJaZ19sCuTuE,1947
|
|
34
34
|
synapse_sdk/clients/backend/annotation.py,sha256=dX7os4zFxI3oyh8SzqB83eTW_mR07Hp2bhCHwe64AkE,1356
|
|
35
35
|
synapse_sdk/clients/backend/core.py,sha256=5XAOdo6JZ0drfk-FMPJ96SeTd9oja-VnTwzGXdvK7Bg,1027
|
|
36
36
|
synapse_sdk/clients/backend/data_collection.py,sha256=uI-_ByLh-Xez4VIIVRBO8FCNUpDcxhBcLxCVFb_aG7o,4104
|
|
@@ -46,7 +46,7 @@ synapse_sdk/clients/validators/collections.py,sha256=LtnwvutsScubOUcZ2reGHLCzseX
|
|
|
46
46
|
synapse_sdk/devtools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
47
|
synapse_sdk/devtools/config.py,sha256=ODAfnXD4TBZQM2dxL7pcHlx6JfkZo15Kwf1MEenbics,2509
|
|
48
48
|
synapse_sdk/devtools/models.py,sha256=6tdpNblSvE5VQ97J0NZreFkD0jK8v6JuJK4ap0DX2w8,1112
|
|
49
|
-
synapse_sdk/devtools/server.py,sha256=
|
|
49
|
+
synapse_sdk/devtools/server.py,sha256=WDeVYl5wuh2FneRMeIZ7BuZDrpA30wpFmykKCRtpNaw,34421
|
|
50
50
|
synapse_sdk/devtools/utils.py,sha256=-f3ZxnRpYg6suNQIL-m4n1DhvLdQEbS4e9Mk9tQ8crE,1706
|
|
51
51
|
synapse_sdk/devtools/docs/.gitignore,sha256=fCv2uiY7oUmiiFhHqfcYbg169Y-q4-AfLmmnRl98_sw,233
|
|
52
52
|
synapse_sdk/devtools/docs/README.md,sha256=yBzWf0K1ef4oymFXDaHo0nYWEgMQJqsOyrkNhIOPQrY,774
|
|
@@ -108,11 +108,11 @@ synapse_sdk/devtools/web/src/views/PluginView.jsx,sha256=_-V8elSiEtsvKECeROtQopS
|
|
|
108
108
|
synapse_sdk/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
109
|
synapse_sdk/plugins/enums.py,sha256=ibixwqA3sCNSriG1jAtL54JQc_Zwo3MufwYUqGhVncc,523
|
|
110
110
|
synapse_sdk/plugins/exceptions.py,sha256=Qs7qODp_RRLO9y2otU2T4ryj5LFwIZODvSIXkAh91u0,691
|
|
111
|
-
synapse_sdk/plugins/models.py,sha256=
|
|
111
|
+
synapse_sdk/plugins/models.py,sha256=dte0Thx4O8KS5WKrtERbtOmyZ85MG_TFqE6FUCplkjk,4645
|
|
112
112
|
synapse_sdk/plugins/upload.py,sha256=VJOotYMayylOH0lNoAGeGHRkLdhP7jnC_A0rFQMvQpQ,3228
|
|
113
113
|
synapse_sdk/plugins/utils.py,sha256=4_K6jIl0WrsXOEhFp94faMOriSsddOhIiaXcawYYUUA,3300
|
|
114
114
|
synapse_sdk/plugins/categories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
-
synapse_sdk/plugins/categories/base.py,sha256=
|
|
115
|
+
synapse_sdk/plugins/categories/base.py,sha256=ZBgRh3tTdSnqBrzjux8oi1_3PidHMmpmLClPXiTmU3Q,10690
|
|
116
116
|
synapse_sdk/plugins/categories/decorators.py,sha256=Gw6T-UHwpCKrSt596X-g2sZbY_Z1zbbogowClj7Pr5Q,518
|
|
117
117
|
synapse_sdk/plugins/categories/registry.py,sha256=KdQR8SUlLT-3kgYzDNWawS1uJnAhrcw2j4zFaTpilRs,636
|
|
118
118
|
synapse_sdk/plugins/categories/templates.py,sha256=FF5FerhkZMeW1YcKLY5cylC0SkWSYdJODA_Qcm4OGYQ,887
|
|
@@ -166,7 +166,7 @@ synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py,sha256=47
|
|
|
166
166
|
synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py,sha256=eevNg0nOcYFR4z_L_R-sCvVOYoLWSAH1jwDkAf3YCjY,320
|
|
167
167
|
synapse_sdk/plugins/categories/upload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
168
|
synapse_sdk/plugins/categories/upload/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
169
|
-
synapse_sdk/plugins/categories/upload/actions/upload.py,sha256=
|
|
169
|
+
synapse_sdk/plugins/categories/upload/actions/upload.py,sha256=YozR4WHDnoFQBth9hZoOYLLrMVtjrA9EFwLwQKqUK-M,18516
|
|
170
170
|
synapse_sdk/plugins/categories/upload/templates/config.yaml,sha256=kwHNWHFYbzDi1mEh40KozatPZbZGH44dlP0t0J7ejJw,483
|
|
171
171
|
synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
172
|
synapse_sdk/plugins/categories/upload/templates/plugin/upload.py,sha256=IZU4sdSMSLKPCtlNqF7DP2howTdYR6hr74HCUZsGdPk,1559
|
|
@@ -205,9 +205,9 @@ synapse_sdk/utils/storage/providers/__init__.py,sha256=x7RGwZryT2FpVxS7fGWryRVpq
|
|
|
205
205
|
synapse_sdk/utils/storage/providers/gcp.py,sha256=i2BQCu1Kej1If9SuNr2_lEyTcr5M_ncGITZrL0u5wEA,363
|
|
206
206
|
synapse_sdk/utils/storage/providers/s3.py,sha256=W94rQvhGRXti3R4mYP7gmU5pcyCQpGFIBLvxxqLVdRM,2231
|
|
207
207
|
synapse_sdk/utils/storage/providers/sftp.py,sha256=_8s9hf0JXIO21gvm-JVS00FbLsbtvly4c-ETLRax68A,1426
|
|
208
|
-
synapse_sdk-1.0.
|
|
209
|
-
synapse_sdk-1.0.
|
|
210
|
-
synapse_sdk-1.0.
|
|
211
|
-
synapse_sdk-1.0.
|
|
212
|
-
synapse_sdk-1.0.
|
|
213
|
-
synapse_sdk-1.0.
|
|
208
|
+
synapse_sdk-1.0.0a65.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
|
|
209
|
+
synapse_sdk-1.0.0a65.dist-info/METADATA,sha256=tZri6hM4wsmNTYDKgWGfrmgxYa1LKGUz1f-ad8Xzwoo,1130
|
|
210
|
+
synapse_sdk-1.0.0a65.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
211
|
+
synapse_sdk-1.0.0a65.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
|
|
212
|
+
synapse_sdk-1.0.0a65.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
|
|
213
|
+
synapse_sdk-1.0.0a65.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|