synapse-sdk 1.0.0a70__py3-none-any.whl → 1.0.0a71__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/loggers.py +1 -1
- synapse_sdk/plugins/categories/export/actions/export.py +12 -1
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +185 -9
- synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +16 -0
- synapse_sdk/plugins/categories/upload/actions/upload.py +12 -1
- synapse_sdk/plugins/models.py +4 -1
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/METADATA +1 -1
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/RECORD +12 -12
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/WHEEL +0 -0
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/licenses/LICENSE +0 -0
- {synapse_sdk-1.0.0a70.dist-info → synapse_sdk-1.0.0a71.dist-info}/top_level.txt +0 -0
synapse_sdk/loggers.py
CHANGED
|
@@ -110,7 +110,7 @@ class BaseLogger:
|
|
|
110
110
|
if 'categories' not in self.metrics_record:
|
|
111
111
|
self.metrics_record['categories'] = {}
|
|
112
112
|
|
|
113
|
-
self.metrics_record['categories']
|
|
113
|
+
self.metrics_record['categories'].setdefault(category, {}).update(value)
|
|
114
114
|
|
|
115
115
|
def log(self, action, data, file=None):
|
|
116
116
|
raise NotImplementedError
|
|
@@ -280,7 +280,18 @@ class ExportAction(Action):
|
|
|
280
280
|
'proportion': 100,
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
metrics_categories = {
|
|
283
|
+
metrics_categories = {
|
|
284
|
+
'data_file': {
|
|
285
|
+
'stand_by': 0,
|
|
286
|
+
'failed': 0,
|
|
287
|
+
'success': 0,
|
|
288
|
+
},
|
|
289
|
+
'original_file': {
|
|
290
|
+
'stand_by': 0,
|
|
291
|
+
'failed': 0,
|
|
292
|
+
'success': 0,
|
|
293
|
+
},
|
|
294
|
+
}
|
|
284
295
|
|
|
285
296
|
def get_filtered_results(self, filters, handler):
|
|
286
297
|
"""Get filtered target results."""
|
|
@@ -142,7 +142,13 @@ class ToTaskAction(Action):
|
|
|
142
142
|
'proportion': 100,
|
|
143
143
|
},
|
|
144
144
|
}
|
|
145
|
-
metrics_categories = {
|
|
145
|
+
metrics_categories = {
|
|
146
|
+
'annotate_task_data': {
|
|
147
|
+
'stand_by': 0,
|
|
148
|
+
'failed': 0,
|
|
149
|
+
'success': 0,
|
|
150
|
+
}
|
|
151
|
+
}
|
|
146
152
|
|
|
147
153
|
def start(self):
|
|
148
154
|
"""Start to_task action.
|
|
@@ -256,7 +262,9 @@ class ToTaskAction(Action):
|
|
|
256
262
|
# Process each task
|
|
257
263
|
for task_id in task_ids:
|
|
258
264
|
try:
|
|
259
|
-
result = self._process_single_task(
|
|
265
|
+
result = self._process_single_task(
|
|
266
|
+
client, task_id, task_params, target_specification_name, AnnotationMethod.FILE
|
|
267
|
+
)
|
|
260
268
|
if result['success']:
|
|
261
269
|
success_count += 1
|
|
262
270
|
else:
|
|
@@ -279,7 +287,12 @@ class ToTaskAction(Action):
|
|
|
279
287
|
self.run.log_message(f'Annotation completed. Success: {success_count}, Failed: {failed_count}')
|
|
280
288
|
|
|
281
289
|
def _process_single_task(
|
|
282
|
-
self,
|
|
290
|
+
self,
|
|
291
|
+
client: BackendClient,
|
|
292
|
+
task_id: int,
|
|
293
|
+
task_params: Dict[str, Any],
|
|
294
|
+
target_specification_name: Optional[str],
|
|
295
|
+
method: AnnotationMethod,
|
|
283
296
|
) -> Dict[str, Any]:
|
|
284
297
|
"""Process a single task for annotation.
|
|
285
298
|
|
|
@@ -287,7 +300,8 @@ class ToTaskAction(Action):
|
|
|
287
300
|
client (BackendClient): The backend client instance.
|
|
288
301
|
task_id (int): The task ID to process.
|
|
289
302
|
task_params (Dict[str, Any]): Parameters for getting task data.
|
|
290
|
-
target_specification_name (str): The name of the target specification.
|
|
303
|
+
target_specification_name (Optional[str]): The name of the target specification.
|
|
304
|
+
method (AnnotationMethod): The annotation method to use.
|
|
291
305
|
|
|
292
306
|
Returns:
|
|
293
307
|
Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
|
|
@@ -308,6 +322,41 @@ class ToTaskAction(Action):
|
|
|
308
322
|
|
|
309
323
|
task: Dict[str, Any] = task_response
|
|
310
324
|
|
|
325
|
+
if method == AnnotationMethod.FILE:
|
|
326
|
+
if not target_specification_name:
|
|
327
|
+
error_msg = 'Target specification name is required for file annotation method'
|
|
328
|
+
self.run.log_message(f'{error_msg} for task {task_id}')
|
|
329
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
|
|
330
|
+
return {'success': False, 'error': error_msg}
|
|
331
|
+
return self._process_single_task_with_file(client, task_id, task, target_specification_name)
|
|
332
|
+
elif method == AnnotationMethod.INFERENCE:
|
|
333
|
+
return self._process_single_task_with_inference(client, task_id, task)
|
|
334
|
+
else:
|
|
335
|
+
error_msg = f'Unsupported annotation method: {method}'
|
|
336
|
+
self.run.log_message(f'{error_msg} for task {task_id}')
|
|
337
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
|
|
338
|
+
return {'success': False, 'error': error_msg}
|
|
339
|
+
|
|
340
|
+
def _process_single_task_with_file(
|
|
341
|
+
self, client: BackendClient, task_id: int, task: Dict[str, Any], target_specification_name: str
|
|
342
|
+
) -> Dict[str, Any]:
|
|
343
|
+
"""Process a single task for file-based annotation.
|
|
344
|
+
|
|
345
|
+
Args:
|
|
346
|
+
client (BackendClient): The backend client instance.
|
|
347
|
+
task_id (int): The task ID to process.
|
|
348
|
+
task (Dict[str, Any]): The task data.
|
|
349
|
+
target_specification_name (str): The name of the target specification.
|
|
350
|
+
|
|
351
|
+
Returns:
|
|
352
|
+
Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
|
|
353
|
+
"""
|
|
354
|
+
if not self.run:
|
|
355
|
+
raise ValueError('Run instance not properly initialized')
|
|
356
|
+
|
|
357
|
+
# Type assertion to help the linter
|
|
358
|
+
assert isinstance(self.run, ToTaskRun)
|
|
359
|
+
|
|
311
360
|
# Extract data file information
|
|
312
361
|
data_unit = task.get('data_unit', {})
|
|
313
362
|
files = data_unit.get('files', {})
|
|
@@ -332,8 +381,12 @@ class ToTaskAction(Action):
|
|
|
332
381
|
response.raise_for_status()
|
|
333
382
|
data = json.loads(response.content)
|
|
334
383
|
|
|
384
|
+
# Convert data to task object
|
|
385
|
+
annotation_to_task = self.entrypoint(self.run)
|
|
386
|
+
converted_data = annotation_to_task.convert_data_from_file(data)
|
|
387
|
+
|
|
335
388
|
# Submit annotation data
|
|
336
|
-
client.annotate_task_data(task_id, data={'action': 'submit', 'data':
|
|
389
|
+
client.annotate_task_data(task_id, data={'action': 'submit', 'data': converted_data})
|
|
337
390
|
|
|
338
391
|
# Log success
|
|
339
392
|
self.run.log_annotate_task_data({'task_id': task_id, 'url': url}, AnnotateTaskDataStatus.SUCCESS)
|
|
@@ -350,6 +403,84 @@ class ToTaskAction(Action):
|
|
|
350
403
|
self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
|
|
351
404
|
return {'success': False, 'error': error_msg}
|
|
352
405
|
|
|
406
|
+
def _process_single_task_with_inference(
|
|
407
|
+
self, client: BackendClient, task_id: int, task: Dict[str, Any]
|
|
408
|
+
) -> Dict[str, Any]:
|
|
409
|
+
"""Process a single task for inference-based annotation.
|
|
410
|
+
|
|
411
|
+
Args:
|
|
412
|
+
client (BackendClient): The backend client instance.
|
|
413
|
+
task_id (int): The task ID to process.
|
|
414
|
+
task (Dict[str, Any]): The task data.
|
|
415
|
+
|
|
416
|
+
Returns:
|
|
417
|
+
Dict[str, Any]: Result dictionary with 'success' boolean and optional 'error' message.
|
|
418
|
+
"""
|
|
419
|
+
if not self.run or not self.params:
|
|
420
|
+
raise ValueError('Run instance or parameters not properly initialized')
|
|
421
|
+
|
|
422
|
+
# Type assertion to help the linter
|
|
423
|
+
assert isinstance(self.run, ToTaskRun)
|
|
424
|
+
|
|
425
|
+
try:
|
|
426
|
+
# Get pre-processor information
|
|
427
|
+
pre_processor_id = self.params.get('pre_processor')
|
|
428
|
+
|
|
429
|
+
if not pre_processor_id:
|
|
430
|
+
error_msg = 'Pre-processor ID is required for inference annotation method'
|
|
431
|
+
self.run.log_message(f'{error_msg} for task {task_id}')
|
|
432
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
|
|
433
|
+
return {'success': False, 'error': error_msg}
|
|
434
|
+
|
|
435
|
+
# Call inference pre processor if specified.
|
|
436
|
+
pre_processor = client.get_plugin_release(pre_processor_id)
|
|
437
|
+
pre_processor_code = pre_processor['config']['code']
|
|
438
|
+
pre_processor_version = pre_processor['version']
|
|
439
|
+
|
|
440
|
+
# Extract task data for inference
|
|
441
|
+
data_unit = task.get('data_unit', {})
|
|
442
|
+
files = data_unit.get('files', {})
|
|
443
|
+
|
|
444
|
+
# Find primary image URL from files
|
|
445
|
+
primary_file_url = ''
|
|
446
|
+
for file_info in files.values():
|
|
447
|
+
if file_info.get('is_primary') and file_info.get('url'):
|
|
448
|
+
primary_file_url = file_info['url']
|
|
449
|
+
break
|
|
450
|
+
|
|
451
|
+
pre_processor_params = self.params.get('pre_processor_params', {})
|
|
452
|
+
pre_processor_params['image_path'] = primary_file_url
|
|
453
|
+
inference_payload = {
|
|
454
|
+
'agent': 1,
|
|
455
|
+
'action': 'inference',
|
|
456
|
+
'version': pre_processor_version,
|
|
457
|
+
'params': {
|
|
458
|
+
'model': self.params.get('model'),
|
|
459
|
+
'method': 'post',
|
|
460
|
+
'json': pre_processor_params,
|
|
461
|
+
},
|
|
462
|
+
}
|
|
463
|
+
inference_data = client.run_plugin(pre_processor_code, inference_payload)
|
|
464
|
+
|
|
465
|
+
# Convert data to task object
|
|
466
|
+
annotation_to_task = self.entrypoint(self.run)
|
|
467
|
+
converted_result = annotation_to_task.convert_data_from_inference(inference_data)
|
|
468
|
+
|
|
469
|
+
# Submit inference annotation data
|
|
470
|
+
client.annotate_task_data(task_id, data={'action': 'submit', 'data': converted_result})
|
|
471
|
+
|
|
472
|
+
# Log success
|
|
473
|
+
self.run.log_annotate_task_data(
|
|
474
|
+
{'task_id': task_id, 'pre_processor_id': pre_processor_id}, AnnotateTaskDataStatus.SUCCESS
|
|
475
|
+
)
|
|
476
|
+
return {'success': True}
|
|
477
|
+
|
|
478
|
+
except Exception as e:
|
|
479
|
+
error_msg = f'Failed to process inference for task {task_id}: {str(e)}'
|
|
480
|
+
self.run.log_message(error_msg)
|
|
481
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'error': error_msg}, AnnotateTaskDataStatus.FAILED)
|
|
482
|
+
return {'success': False, 'error': error_msg}
|
|
483
|
+
|
|
353
484
|
def _update_metrics(self, total_tasks: int, success_count: int, failed_count: int):
|
|
354
485
|
"""Update metrics for task annotation progress.
|
|
355
486
|
|
|
@@ -375,8 +506,53 @@ class ToTaskAction(Action):
|
|
|
375
506
|
Args:
|
|
376
507
|
task_ids (List[int]): List of task IDs to annotate data to.
|
|
377
508
|
"""
|
|
378
|
-
if not self.run:
|
|
379
|
-
raise ValueError('Run instance not properly initialized')
|
|
509
|
+
if not self.run or not self.params:
|
|
510
|
+
raise ValueError('Run instance or parameters not properly initialized')
|
|
380
511
|
|
|
381
|
-
self.
|
|
382
|
-
|
|
512
|
+
if not self.params.get('model'):
|
|
513
|
+
raise ValueError('Model is required for inference annotation method')
|
|
514
|
+
|
|
515
|
+
# Type assertion to help the linter
|
|
516
|
+
assert isinstance(self.run, ToTaskRun)
|
|
517
|
+
assert isinstance(self.run.client, BackendClient)
|
|
518
|
+
|
|
519
|
+
client: BackendClient = self.run.client
|
|
520
|
+
task_params = {
|
|
521
|
+
'fields': 'id,data,data_unit',
|
|
522
|
+
'expand': 'data_unit',
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
total_tasks = len(task_ids)
|
|
526
|
+
success_count = 0
|
|
527
|
+
failed_count = 0
|
|
528
|
+
current_progress = 0
|
|
529
|
+
|
|
530
|
+
# Initialize metrics and progress
|
|
531
|
+
self._update_metrics(total_tasks, success_count, failed_count)
|
|
532
|
+
self.run.set_progress(0, total_tasks, category='annotate_task_data')
|
|
533
|
+
self.run.log_message('Annotating data to tasks using inference...')
|
|
534
|
+
|
|
535
|
+
# Process each task
|
|
536
|
+
for task_id in task_ids:
|
|
537
|
+
try:
|
|
538
|
+
result = self._process_single_task(client, task_id, task_params, None, AnnotationMethod.INFERENCE)
|
|
539
|
+
if result['success']:
|
|
540
|
+
success_count += 1
|
|
541
|
+
else:
|
|
542
|
+
failed_count += 1
|
|
543
|
+
|
|
544
|
+
current_progress += 1
|
|
545
|
+
self._update_metrics(total_tasks, success_count, failed_count)
|
|
546
|
+
self.run.set_progress(current_progress, total_tasks, category='annotate_task_data')
|
|
547
|
+
|
|
548
|
+
except Exception as e:
|
|
549
|
+
self.run.log_message(f'Failed to process task {task_id}: {str(e)}')
|
|
550
|
+
self.run.log_annotate_task_data({'task_id': task_id, 'error': str(e)}, AnnotateTaskDataStatus.FAILED)
|
|
551
|
+
failed_count += 1
|
|
552
|
+
current_progress += 1
|
|
553
|
+
self._update_metrics(total_tasks, success_count, failed_count)
|
|
554
|
+
self.run.set_progress(current_progress, total_tasks, category='annotate_task_data')
|
|
555
|
+
|
|
556
|
+
# Finalize progress
|
|
557
|
+
self.run.set_progress(total_tasks, total_tasks, category='annotate_task_data')
|
|
558
|
+
self.run.log_message(f'Inference annotation completed. Success: {success_count}, Failed: {failed_count}')
|
|
@@ -6,3 +6,19 @@ class AnnotationToTask:
|
|
|
6
6
|
run: Plugin run object.
|
|
7
7
|
"""
|
|
8
8
|
self.run = run
|
|
9
|
+
|
|
10
|
+
def convert_data_from_file(self, data: dict):
|
|
11
|
+
"""Convert the data from a file to a task object.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
data: Converted data.
|
|
15
|
+
"""
|
|
16
|
+
return data
|
|
17
|
+
|
|
18
|
+
def convert_data_from_inference(self, data: dict):
|
|
19
|
+
"""Convert the data from inference result to a task object.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
data: Converted data.
|
|
23
|
+
"""
|
|
24
|
+
return data
|
|
@@ -203,7 +203,18 @@ class UploadAction(Action):
|
|
|
203
203
|
'proportion': 40,
|
|
204
204
|
},
|
|
205
205
|
}
|
|
206
|
-
metrics_categories = {
|
|
206
|
+
metrics_categories = {
|
|
207
|
+
'data_file': {
|
|
208
|
+
'stand_by': 0,
|
|
209
|
+
'failed': 0,
|
|
210
|
+
'success': 0,
|
|
211
|
+
},
|
|
212
|
+
'data_unit': {
|
|
213
|
+
'stand_by': 0,
|
|
214
|
+
'failed': 0,
|
|
215
|
+
'success': 0,
|
|
216
|
+
},
|
|
217
|
+
}
|
|
207
218
|
|
|
208
219
|
def get_uploader(self, path, file_specification, organized_files):
|
|
209
220
|
"""Get uploader from entrypoint."""
|
synapse_sdk/plugins/models.py
CHANGED
|
@@ -128,7 +128,10 @@ class Run:
|
|
|
128
128
|
self.set_logger()
|
|
129
129
|
|
|
130
130
|
def set_logger(self):
|
|
131
|
-
kwargs = {
|
|
131
|
+
kwargs = {
|
|
132
|
+
'progress_categories': self.context['progress_categories'],
|
|
133
|
+
'metrics_categories': self.context['metrics_categories'],
|
|
134
|
+
}
|
|
132
135
|
|
|
133
136
|
if self.job_id:
|
|
134
137
|
self.logger = BackendLogger(self.client, self.job_id, **kwargs)
|
|
@@ -4,7 +4,7 @@ locale/ko/LC_MESSAGES/messages.mo,sha256=7HJEJA0wKlN14xQ5VF4FCNet54tjw6mfWYj3IaB
|
|
|
4
4
|
locale/ko/LC_MESSAGES/messages.po,sha256=TFii_RbURDH-Du_9ZQf3wNh-2briGk1IqY33-9GKrMU,1126
|
|
5
5
|
synapse_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
synapse_sdk/i18n.py,sha256=VXMR-Zm_1hTAg9iPk3YZNNq-T1Bhx1J2fEtRT6kyYbg,766
|
|
7
|
-
synapse_sdk/loggers.py,sha256=
|
|
7
|
+
synapse_sdk/loggers.py,sha256=xK48h3ZaDDZLaF-qsdnv1-6-4vw_cYlgpSCKHYUQw1g,6549
|
|
8
8
|
synapse_sdk/types.py,sha256=khzn8KpgxFdn1SrpbcuX84m_Md1Mz_HIoUoPq8uok40,698
|
|
9
9
|
synapse_sdk/cli/__init__.py,sha256=RLZwqbtoC90-tw_2ErakY8-GxSNf6Ms2lNePBd_y-9U,9694
|
|
10
10
|
synapse_sdk/cli/config.py,sha256=ooIHI7ZDA1yLtisxk_Xn1ptz4sM5j7TDivxaPvBUONE,11886
|
|
@@ -108,7 +108,7 @@ 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=AKZfVT6hsVEklcEDnHwoVAwvLxydMibfeJetug3Qk0U,4738
|
|
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
|
|
@@ -125,7 +125,7 @@ synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py,sh
|
|
|
125
125
|
synapse_sdk/plugins/categories/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
126
|
synapse_sdk/plugins/categories/export/enums.py,sha256=gtyngvQ1DKkos9iKGcbecwTVQQ6sDwbrBPSGPNb5Am0,127
|
|
127
127
|
synapse_sdk/plugins/categories/export/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
-
synapse_sdk/plugins/categories/export/actions/export.py,sha256=
|
|
128
|
+
synapse_sdk/plugins/categories/export/actions/export.py,sha256=buCpjRPZ-QPfEANKrSopKjCPHadjF1_A0eAkoezaAFA,10688
|
|
129
129
|
synapse_sdk/plugins/categories/export/templates/config.yaml,sha256=N7YmnFROb3s3M35SA9nmabyzoSb5O2t2TRPicwFNN2o,56
|
|
130
130
|
synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
131
|
synapse_sdk/plugins/categories/export/templates/plugin/export.py,sha256=zG8mSn7ZGIj8cttWmb7GEPcGgQRbZ97brJCzkuK7RP8,6106
|
|
@@ -153,11 +153,11 @@ synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.
|
|
|
153
153
|
synapse_sdk/plugins/categories/pre_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
154
|
synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
155
|
synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py,sha256=6ib3RmnGrjpsQ0e_G-mRH1lfFunQ3gh2M831vuDn7HU,344
|
|
156
|
-
synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py,sha256=
|
|
156
|
+
synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py,sha256=JlFO2vydZ_rgLq_6lZc7-TvmVHGGZLEXkTrVR_TfQXM,23214
|
|
157
157
|
synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml,sha256=4SKJe2gF8UCi3oD0kV8B4M2MkYcosz5GZzzAjAg3slc,508
|
|
158
158
|
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
159
|
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py,sha256=HBHxHuv2gMBzDB2alFfrzI_SZ1Ztk6mo7eFbR5GqHKw,106
|
|
160
|
-
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py,sha256=
|
|
160
|
+
synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py,sha256=0j01vFZYkaAw8mtf6HYfun3IUDlryTexqvss_JZtc-Y,618
|
|
161
161
|
synapse_sdk/plugins/categories/smart_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
162
|
synapse_sdk/plugins/categories/smart_tool/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
163
163
|
synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py,sha256=fHiqA8ntmzjs2GMVMuByR7Clh2zhLie8OPF9B8OmwxM,1279
|
|
@@ -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=cO0Hl6CyQm3MLVxmy_3LN-X58flCJUh_fJjJmh7Qg3U,18721
|
|
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
|
|
@@ -207,9 +207,9 @@ synapse_sdk/utils/storage/providers/gcp.py,sha256=i2BQCu1Kej1If9SuNr2_lEyTcr5M_n
|
|
|
207
207
|
synapse_sdk/utils/storage/providers/http.py,sha256=2DhIulND47JOnS5ZY7MZUex7Su3peAPksGo1Wwg07L4,5828
|
|
208
208
|
synapse_sdk/utils/storage/providers/s3.py,sha256=ZmqekAvIgcQBdRU-QVJYv1Rlp6VHfXwtbtjTSphua94,2573
|
|
209
209
|
synapse_sdk/utils/storage/providers/sftp.py,sha256=_8s9hf0JXIO21gvm-JVS00FbLsbtvly4c-ETLRax68A,1426
|
|
210
|
-
synapse_sdk-1.0.
|
|
211
|
-
synapse_sdk-1.0.
|
|
212
|
-
synapse_sdk-1.0.
|
|
213
|
-
synapse_sdk-1.0.
|
|
214
|
-
synapse_sdk-1.0.
|
|
215
|
-
synapse_sdk-1.0.
|
|
210
|
+
synapse_sdk-1.0.0a71.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
|
|
211
|
+
synapse_sdk-1.0.0a71.dist-info/METADATA,sha256=Evpxgx7r7pGE_VEOeBHGktT7mNqWbnj9kGuWgNVKilc,1130
|
|
212
|
+
synapse_sdk-1.0.0a71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
213
|
+
synapse_sdk-1.0.0a71.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
|
|
214
|
+
synapse_sdk-1.0.0a71.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
|
|
215
|
+
synapse_sdk-1.0.0a71.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|