synapse-sdk 2025.10.3__py3-none-any.whl → 2025.10.5__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/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +25 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +25 -0
- synapse_sdk/devtools/docs/sidebars.ts +14 -0
- synapse_sdk/plugins/categories/export/actions/export/action.py +8 -3
- synapse_sdk/plugins/categories/export/actions/export/utils.py +108 -8
- synapse_sdk/plugins/categories/upload/actions/upload/action.py +8 -1
- synapse_sdk/plugins/categories/upload/actions/upload/context.py +0 -1
- synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +6 -2
- synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +24 -9
- synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +27 -7
- synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +45 -12
- synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +10 -5
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +31 -6
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +65 -37
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +17 -2
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/METADATA +1 -1
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/RECORD +29 -21
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/WHEEL +0 -0
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/licenses/LICENSE +0 -0
- {synapse_sdk-2025.10.3.dist-info → synapse_sdk-2025.10.5.dist-info}/top_level.txt +0 -0
|
@@ -10,7 +10,14 @@ class RecursiveFileDiscoveryStrategy(FileDiscoveryStrategy):
|
|
|
10
10
|
|
|
11
11
|
def discover(self, path: Path, recursive: bool) -> List[Path]:
|
|
12
12
|
"""Discover files recursively in the given path."""
|
|
13
|
-
|
|
13
|
+
# Exclude system directories
|
|
14
|
+
excluded_dirs = {'@eaDir', '.@__thumb', '@Recycle', '#recycle', '.DS_Store', 'Thumbs.db', '.synology'}
|
|
15
|
+
|
|
16
|
+
def exclude_dirs(file_path: Path) -> bool:
|
|
17
|
+
"""Check if file path contains excluded directories."""
|
|
18
|
+
return any(excluded_dir in file_path.parts for excluded_dir in excluded_dirs)
|
|
19
|
+
|
|
20
|
+
return [file_path for file_path in path.rglob('*') if file_path.is_file() and not exclude_dirs(file_path)]
|
|
14
21
|
|
|
15
22
|
def organize(self, files: List[Path], specs: Dict, metadata: Dict, type_dirs: Dict = None) -> List[Dict]:
|
|
16
23
|
"""Organize files according to specifications with metadata."""
|
|
@@ -42,57 +49,78 @@ class RecursiveFileDiscoveryStrategy(FileDiscoveryStrategy):
|
|
|
42
49
|
# Performance optimization 2: Build metadata index for faster lookups
|
|
43
50
|
metadata_index = self._build_metadata_index(metadata)
|
|
44
51
|
|
|
45
|
-
# Group files by
|
|
52
|
+
# Group files by dataset_key (stem-based matching)
|
|
53
|
+
# Strategy:
|
|
54
|
+
# 1. Group all files (required + optional) by their file stem
|
|
55
|
+
# 2. Only create data units for groups that have ALL required files
|
|
56
|
+
# 3. Optional files are automatically included if they match the stem
|
|
46
57
|
dataset_files = {}
|
|
47
58
|
required_specs = [spec['name'] for spec in specs if spec.get('is_required', False)]
|
|
48
59
|
|
|
49
60
|
for file_path in files:
|
|
50
61
|
# Determine which type directory this file belongs to
|
|
51
|
-
|
|
62
|
+
matched = False
|
|
52
63
|
for spec_name, dir_path in type_dirs.items():
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
# Check if file is under this spec's directory
|
|
65
|
+
# Use try/except for relative_to to ensure proper path matching
|
|
66
|
+
try:
|
|
56
67
|
relative_path = file_path.relative_to(dir_path)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
except (OSError, IOError):
|
|
75
|
-
# If stat fails, keep existing file
|
|
76
|
-
pass
|
|
77
|
-
|
|
78
|
-
# Create organized files for datasets with all required files
|
|
79
|
-
for dataset_key, files_dict in sorted(dataset_files.items()):
|
|
80
|
-
if all(req in files_dict for req in required_specs):
|
|
81
|
-
# Extract original file stem from dataset_key
|
|
82
|
-
# If dataset_key contains path info (parent_stem), extract just the stem part
|
|
83
|
-
if '_' in dataset_key and len(dataset_key.split('_')) >= 2:
|
|
84
|
-
# Extract the last part after the last underscore as the original stem
|
|
85
|
-
original_stem = dataset_key.split('_')[-1]
|
|
68
|
+
matched = True
|
|
69
|
+
except ValueError:
|
|
70
|
+
# File is not under this directory
|
|
71
|
+
continue
|
|
72
|
+
|
|
73
|
+
# Create unique dataset key using relative path from spec directory
|
|
74
|
+
# Use parent directory + stem as unique key to group related files
|
|
75
|
+
if relative_path.parent != Path('.'):
|
|
76
|
+
dataset_key = f'{relative_path.parent}_{file_path.stem}'
|
|
77
|
+
else:
|
|
78
|
+
dataset_key = file_path.stem
|
|
79
|
+
|
|
80
|
+
if dataset_key not in dataset_files:
|
|
81
|
+
dataset_files[dataset_key] = {}
|
|
82
|
+
|
|
83
|
+
if spec_name not in dataset_files[dataset_key]:
|
|
84
|
+
dataset_files[dataset_key][spec_name] = file_path
|
|
86
85
|
else:
|
|
87
|
-
|
|
86
|
+
# Keep the most recent file - only stat when needed
|
|
87
|
+
existing_file = dataset_files[dataset_key][spec_name]
|
|
88
|
+
try:
|
|
89
|
+
if file_path.stat().st_mtime > existing_file.stat().st_mtime:
|
|
90
|
+
dataset_files[dataset_key][spec_name] = file_path
|
|
91
|
+
except (OSError, IOError):
|
|
92
|
+
# If stat fails, keep existing file
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
# Found matching directory, move to next file
|
|
96
|
+
break
|
|
97
|
+
|
|
98
|
+
# Create organized files ONLY for datasets with ALL required files
|
|
99
|
+
# Optional files are included automatically if they match the stem
|
|
100
|
+
for dataset_key, files_dict in sorted(dataset_files.items()):
|
|
101
|
+
# Check if all required files are present
|
|
102
|
+
has_all_required = all(req in files_dict for req in required_specs)
|
|
88
103
|
|
|
89
|
-
|
|
104
|
+
if has_all_required:
|
|
105
|
+
# Extract original file stem from actual file paths (more reliable than parsing dataset_key)
|
|
106
|
+
# Collect stems from all files in the group
|
|
107
|
+
file_stems = {}
|
|
90
108
|
file_extensions = {}
|
|
109
|
+
|
|
91
110
|
for file_path in files_dict.values():
|
|
111
|
+
stem = file_path.stem
|
|
92
112
|
ext = file_path.suffix.lower()
|
|
113
|
+
|
|
114
|
+
# Count stems (to handle multiple files with slightly different names)
|
|
115
|
+
if stem:
|
|
116
|
+
file_stems[stem] = file_stems.get(stem, 0) + 1
|
|
117
|
+
|
|
118
|
+
# Count extensions
|
|
93
119
|
if ext:
|
|
94
120
|
file_extensions[ext] = file_extensions.get(ext, 0) + 1
|
|
95
121
|
|
|
122
|
+
# Use the most common stem (usually they're all the same)
|
|
123
|
+
original_stem = max(file_stems, key=file_stems.get) if file_stems else dataset_key
|
|
96
124
|
origin_file_extension = max(file_extensions, key=file_extensions.get) if file_extensions else ''
|
|
97
125
|
|
|
98
126
|
meta_data = {
|
|
@@ -12,12 +12,24 @@ class DefaultValidationStrategy(ValidationStrategy):
|
|
|
12
12
|
"""Validate action parameters."""
|
|
13
13
|
errors = []
|
|
14
14
|
|
|
15
|
-
# Check required parameters
|
|
16
|
-
required_params = ['storage', 'data_collection', '
|
|
15
|
+
# Check required parameters (common to all modes)
|
|
16
|
+
required_params = ['storage', 'data_collection', 'name']
|
|
17
17
|
for param in required_params:
|
|
18
18
|
if param not in params:
|
|
19
19
|
errors.append(f'Missing required parameter: {param}')
|
|
20
20
|
|
|
21
|
+
# Check mode-specific requirements
|
|
22
|
+
use_single_path = params.get('use_single_path', True)
|
|
23
|
+
|
|
24
|
+
if use_single_path:
|
|
25
|
+
# Single-path mode: 'path' is required
|
|
26
|
+
if 'path' not in params:
|
|
27
|
+
errors.append("Missing required parameter 'path' in single-path mode")
|
|
28
|
+
else:
|
|
29
|
+
# Multi-path mode: 'assets' is required
|
|
30
|
+
if 'assets' not in params:
|
|
31
|
+
errors.append("Missing required parameter 'assets' in multi-path mode")
|
|
32
|
+
|
|
21
33
|
# Check parameter types
|
|
22
34
|
if 'storage' in params and not isinstance(params['storage'], int):
|
|
23
35
|
errors.append("Parameter 'storage' must be an integer")
|
|
@@ -28,6 +40,9 @@ class DefaultValidationStrategy(ValidationStrategy):
|
|
|
28
40
|
if 'is_recursive' in params and not isinstance(params['is_recursive'], bool):
|
|
29
41
|
errors.append("Parameter 'is_recursive' must be a boolean")
|
|
30
42
|
|
|
43
|
+
if 'use_single_path' in params and not isinstance(params['use_single_path'], bool):
|
|
44
|
+
errors.append("Parameter 'use_single_path' must be a boolean")
|
|
45
|
+
|
|
31
46
|
return ValidationResult(valid=len(errors) == 0, errors=errors)
|
|
32
47
|
|
|
33
48
|
def validate_files(self, files: List[Dict], specs: Dict) -> ValidationResult:
|
|
@@ -53,7 +53,7 @@ synapse_sdk/devtools/docs/README.md,sha256=yBzWf0K1ef4oymFXDaHo0nYWEgMQJqsOyrkNh
|
|
|
53
53
|
synapse_sdk/devtools/docs/docusaurus.config.ts,sha256=K1b002RS0x0tsOyib_6CSgUlASEULC9vAX8YDpbsRN4,3229
|
|
54
54
|
synapse_sdk/devtools/docs/package-lock.json,sha256=dtepgbPC8gq5uz-hdcac4hIU-Cs209tX0sfBuB7RfEQ,705694
|
|
55
55
|
synapse_sdk/devtools/docs/package.json,sha256=8veqayA4U3OLpdQaz6AzB59RQwTU-5soeYlYYWIxq28,1187
|
|
56
|
-
synapse_sdk/devtools/docs/sidebars.ts,sha256=
|
|
56
|
+
synapse_sdk/devtools/docs/sidebars.ts,sha256=A0LdvAgIBOfZTfcGcc7QI4pvEEYoC--7N1g2KZPkG8k,3031
|
|
57
57
|
synapse_sdk/devtools/docs/tsconfig.json,sha256=O9BNlRPjPiaVHW2_boShMbmTnh0Z2k0KQO6Alf9FMVY,215
|
|
58
58
|
synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md,sha256=iP7gl_FPqo-qX13lkSRcRoT6ayJNmCkXoyvlm7GH248,312
|
|
59
59
|
synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md,sha256=cM-dhhTeurEWMcdn0Kx-NpNts2YUUraSI_XFk_gVHEE,3122
|
|
@@ -96,8 +96,12 @@ synapse_sdk/devtools/docs/docs/features/utils/storage.md,sha256=uIpc37trKUm4XHe1
|
|
|
96
96
|
synapse_sdk/devtools/docs/docs/features/utils/types.md,sha256=l84J1Ooa40xBYdvK1YpeKBT9kaqaWQUMNIFPUiC2e_U,1046
|
|
97
97
|
synapse_sdk/devtools/docs/docs/plugins/export-plugins.md,sha256=Wajf3CZRQiytRx6SS1lIBlGO5o4F2vOw-xog51JiHJU,37074
|
|
98
98
|
synapse_sdk/devtools/docs/docs/plugins/plugins.md,sha256=G6y3XZZHuC65ApfKE0fYHCAC5TOFnZqzE7VR-KOExVk,25074
|
|
99
|
+
synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md,sha256=Dhnlqd7okB3SoOZ5RYRYqeBBZnGfctZrlCYo1A7GWyA,6832
|
|
100
|
+
synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md,sha256=itkXVOV-pZNsqX0PIA9YhCJNp8iNgxVdQvM0sVahHJ4,47810
|
|
101
|
+
synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md,sha256=J-z2KkLt5WWTgbJGRxvqrZQxfHvur_QtCGA6iT5a0Og,17134
|
|
102
|
+
synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md,sha256=ARirm2jq5X2fVXWpZFX6ezh0aSIK5PCWvYC9nvsXIwY,41159
|
|
99
103
|
synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md,sha256=GmTZYLyPDuUC9WzjNjf_zNh5FkN-VYzLuSo_dQzewWw,30796
|
|
100
|
-
synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md,sha256=
|
|
104
|
+
synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md,sha256=Q4jqN_W3AB-7PEDpkCxwKjmrjERGpb-UNqYA9I0O63Y,16513
|
|
101
105
|
synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md,sha256=HpqGQ9yUYy4673gkdPNsqFZRdAXnDv3xbrC87brG50o,22288
|
|
102
106
|
synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json,sha256=qQVHZ1p0CxHg5Gb4CYNxUSeqZ3LVo4nXN_N0yUMVpDM,180
|
|
103
107
|
synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md,sha256=zJbcwKNVYGpLAGJO7e3cTdptFhb6m_NUzYDU5i6MWgc,1078
|
|
@@ -145,8 +149,12 @@ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/feature
|
|
|
145
149
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md,sha256=JdDMC2FKovAU55pPEBoIUPPniU5mKAvA5w1Zb36u9AE,1207
|
|
146
150
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md,sha256=XcvZuio6NUDuDSe_XhYq1ACDaAJThmekP3anEzOCRks,38804
|
|
147
151
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md,sha256=wUuuOmQQY1dURZzJ0HSpiABaJWqKbxQn31Xfn-wUf8E,4947
|
|
152
|
+
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md,sha256=JlPxHFzeyXx0xi2vpGXc-GTkFeg9R-Smpap0OjCyE7g,7592
|
|
153
|
+
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md,sha256=UowD_fqWFVD81ubJKguX-O9fSf7L07i6Pft8DFdfVn0,48803
|
|
154
|
+
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md,sha256=InL4EI0BkVXgjs-j7cPRYaRXDVxxMgBYYLs_9FdyKxk,18408
|
|
155
|
+
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md,sha256=Ab8EeSYMWZclb_qxvBaLaz4IdCXySrKN2o68s24VT6I,42441
|
|
148
156
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md,sha256=zaodG2yGwNQiPLrI59dhShB0WxZ1EMNdXnQx9E5Kzlk,32523
|
|
149
|
-
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md,sha256=
|
|
157
|
+
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md,sha256=7xo-N4NwDvF3QFVKafZosjG1IbtwI-BzTTTyo4kzU44,17953
|
|
150
158
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md,sha256=Rldxjo5DKmHfEBMoF86yLkgYGoip99gVkF7gBSkqNxM,23603
|
|
151
159
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json,sha256=SCLmysIhJ6XEEfnL7cOQb3s08EG4LA-ColdRRxecIH8,1601
|
|
152
160
|
synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json,sha256=M-ly81cWnesYYtCRcfMvOsKl5P0z52K9kiw0T6GIQ60,429
|
|
@@ -202,12 +210,12 @@ synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py,sh
|
|
|
202
210
|
synapse_sdk/plugins/categories/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
211
|
synapse_sdk/plugins/categories/export/actions/__init__.py,sha256=crCFQ3tTUFjI3UhszDBpsE7eYi7zpswSHjQgTh3tccI,61
|
|
204
212
|
synapse_sdk/plugins/categories/export/actions/export/__init__.py,sha256=6y0WRhcqyhxbZIfbRCF0ZI6CQgqSXmqCRLP1hTkdBPc,727
|
|
205
|
-
synapse_sdk/plugins/categories/export/actions/export/action.py,sha256
|
|
213
|
+
synapse_sdk/plugins/categories/export/actions/export/action.py,sha256=hh1_to4xPmY6Dv-4Ge24oGbyj3J92Wy95Dl0XIaS36Q,6303
|
|
206
214
|
synapse_sdk/plugins/categories/export/actions/export/enums.py,sha256=XO4CF8jWt0c9lcUenKcjaKb0iXqQBFLyVMHmLm2_Nv8,3601
|
|
207
215
|
synapse_sdk/plugins/categories/export/actions/export/exceptions.py,sha256=cDXVQetJvSlTbijN3elNwDLACELn2UxjyGnM2ALlKOk,1753
|
|
208
216
|
synapse_sdk/plugins/categories/export/actions/export/models.py,sha256=NM9mSJAhcFFREUVlCy1LRbmq4Tm8rH_FGyZimS2aXho,2779
|
|
209
217
|
synapse_sdk/plugins/categories/export/actions/export/run.py,sha256=bmilGnxfMWtIIvdIoY9sHkCPkQf_1-myur10I5TUEFY,6912
|
|
210
|
-
synapse_sdk/plugins/categories/export/actions/export/utils.py,sha256=
|
|
218
|
+
synapse_sdk/plugins/categories/export/actions/export/utils.py,sha256=rr-PajbTmFagVCDBJzPgeh34jgPzjW6eDwS70Wwp76o,10902
|
|
211
219
|
synapse_sdk/plugins/categories/export/templates/config.yaml,sha256=fkbSPp7ISZ9NJ1Vvcz1dBSWoYjseVp1eJKyu5PPoboM,516
|
|
212
220
|
synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=oC8hczDebLaWoTaxANw0n9uMjVR5sydBs7pgTw78rbM,16057
|
|
213
221
|
synapse_sdk/plugins/categories/export/templates/plugin/export.py,sha256=q9dbJIM3iCNu8W7J6HfIqQ5zeCx1QfyUaj7adhBvshI,6892
|
|
@@ -266,8 +274,8 @@ synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py,sha256=
|
|
|
266
274
|
synapse_sdk/plugins/categories/upload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
267
275
|
synapse_sdk/plugins/categories/upload/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
268
276
|
synapse_sdk/plugins/categories/upload/actions/upload/__init__.py,sha256=ShmALSr3rncCMHYlSJkYwdvEOsEHUxAzG5-hoERhmI0,548
|
|
269
|
-
synapse_sdk/plugins/categories/upload/actions/upload/action.py,sha256=
|
|
270
|
-
synapse_sdk/plugins/categories/upload/actions/upload/context.py,sha256=
|
|
277
|
+
synapse_sdk/plugins/categories/upload/actions/upload/action.py,sha256=RtOV-Q2oG5oLggJQ5A2FKFj7axmIJT8wUcaF0zJTTZo,10357
|
|
278
|
+
synapse_sdk/plugins/categories/upload/actions/upload/context.py,sha256=4sBWs-IRstzK5U-9N-Ag1vuux6zos_D1P8MFQMaPrKk,6292
|
|
271
279
|
synapse_sdk/plugins/categories/upload/actions/upload/enums.py,sha256=TQ-HiGI_-15rc11XQiCT6O5hRzmjkdCnRhX3Ci3bKk0,7856
|
|
272
280
|
synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py,sha256=QIpts9h78OD8GWCIGjX9jSV4v3Gb0cqH9Eo-6OwN1Qk,1223
|
|
273
281
|
synapse_sdk/plugins/categories/upload/actions/upload/factory.py,sha256=n8PE_LEz8ajLWmRg-CacBt0Bo0vhpDp89_QhvY2VMnQ,6336
|
|
@@ -280,11 +288,11 @@ synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py,sha256=-O
|
|
|
280
288
|
synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py,sha256=yzOmjQKlcsmlB5XZqGgQbCyNwwUiKa9nWd2-Pn22Vls,3682
|
|
281
289
|
synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py,sha256=JAc1L9UfiEhNQ2NWnBMX2Bs4Vej08QPYML6Mb0-a0jg,2200
|
|
282
290
|
synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py,sha256=zLm4BOuu4d8YqXOjOEDhbEUFQ2t4eSsPJB5e_FKYczI,2345
|
|
283
|
-
synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py,sha256=
|
|
284
|
-
synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py,sha256=
|
|
285
|
-
synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py,sha256=
|
|
286
|
-
synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py,sha256=
|
|
287
|
-
synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py,sha256=
|
|
291
|
+
synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py,sha256=dekCGjg-uSTBY7eNcM7emptl9Yxr038xup86Kfea-NE,3604
|
|
292
|
+
synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py,sha256=JaPK1Mn7Cq4z69AIYps6iOsvVztownW5RnvyhbKhiGk,3137
|
|
293
|
+
synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py,sha256=bQ9V8BaZ0LW42_cCsojA3hyQoa7RUCUGOzEaNCqN9wM,9197
|
|
294
|
+
synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py,sha256=0MqkqeFxDjVFt5Jn_eOwHCrjhUNJU6xnS8H71eGkPdE,8712
|
|
295
|
+
synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py,sha256=GPw5RyTZLAPY2uPeay1iTMf0U86lTDT3n99FdRsBzgA,4147
|
|
288
296
|
synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py,sha256=31N7lb41G1-LlwLaGkCQkKB8ep4FPxxtLhp0sv3-1Vs,2427
|
|
289
297
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py,sha256=JXysLlVGJDVtqZYFE6WIGcKgFNHcjqTzC0HO233Sak0,54
|
|
290
298
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py,sha256=fMzTpZA6M-qqi9ZHBQ134a5w97QChiafHoi03AqwTpA,2488
|
|
@@ -292,8 +300,8 @@ synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init
|
|
|
292
300
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py,sha256=YzKq5wHvrQ1_Tv__1xsX1ArLOEwgJNkDilZHg9k7GTY,1475
|
|
293
301
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py,sha256=bjvWu5t_nAK9Z8AWM_n1uwusMWd9G-7ddqSmwsH39l0,1344
|
|
294
302
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py,sha256=ELVncVuhTFvPrbGUjZZAD7upvV3IEsaRi9eTXyjaOU8,42
|
|
295
|
-
synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py,sha256=
|
|
296
|
-
synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py,sha256=
|
|
303
|
+
synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py,sha256=QLd8pS9y3NyeNRQf1Ch5xFkwGRFjJoYXgV6QmHAn8hs,11155
|
|
304
|
+
synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py,sha256=Q2tvBmuhlNndBVHR9asBaRH_N2Sx7N4doCXT1uLkP-M,12243
|
|
297
305
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py,sha256=d3sSL9boHCmYmbWupbJ7s8LOBakGCgjiPKRQIbfDCs8,36
|
|
298
306
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py,sha256=LlykEvwfyuRRCWozExQoolvIfHH1-B4vHOu7dykSTnQ,7333
|
|
299
307
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py,sha256=RGcSmc4N9JnqxC8R-AEo_4_wmg1KS0lij1PxXij9ipk,507
|
|
@@ -301,7 +309,7 @@ synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.
|
|
|
301
309
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/async_upload.py,sha256=Jn-yK0BqLgx1zRmIh9AJCDPsM2B9Yzu_0im5U305vnw,5720
|
|
302
310
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py,sha256=IkRpy561HMHE1Ji0l2Nv21CfH9ZiCrm4qBCADeZFTXs,1875
|
|
303
311
|
synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py,sha256=aq-sI8tScvc0rX21qlLeBgJyKaVpC0hziMB5vcg5K3Y,38
|
|
304
|
-
synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py,sha256=
|
|
312
|
+
synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py,sha256=3_jLBqw2snnBAtDuKKwVS6ImMwDZHeOSnqph_jCq2nE,2515
|
|
305
313
|
synapse_sdk/plugins/categories/upload/templates/README.md,sha256=30BC3CpHrPmjPeLExFtjnYi6qZrBcDdn4fOc5F-uMmc,8995
|
|
306
314
|
synapse_sdk/plugins/categories/upload/templates/config.yaml,sha256=xrLMhK6QTvxnqep7ulrEuq8DxVPS7TOI2cogCaBxK2g,1127
|
|
307
315
|
synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py,sha256=G8xv24PGWmL84Y77tElaEJhbjyjxklkqqdmxmZ834L0,11239
|
|
@@ -368,9 +376,9 @@ synapse_sdk/utils/storage/providers/gcp.py,sha256=i2BQCu1Kej1If9SuNr2_lEyTcr5M_n
|
|
|
368
376
|
synapse_sdk/utils/storage/providers/http.py,sha256=2DhIulND47JOnS5ZY7MZUex7Su3peAPksGo1Wwg07L4,5828
|
|
369
377
|
synapse_sdk/utils/storage/providers/s3.py,sha256=ZmqekAvIgcQBdRU-QVJYv1Rlp6VHfXwtbtjTSphua94,2573
|
|
370
378
|
synapse_sdk/utils/storage/providers/sftp.py,sha256=_8s9hf0JXIO21gvm-JVS00FbLsbtvly4c-ETLRax68A,1426
|
|
371
|
-
synapse_sdk-2025.10.
|
|
372
|
-
synapse_sdk-2025.10.
|
|
373
|
-
synapse_sdk-2025.10.
|
|
374
|
-
synapse_sdk-2025.10.
|
|
375
|
-
synapse_sdk-2025.10.
|
|
376
|
-
synapse_sdk-2025.10.
|
|
379
|
+
synapse_sdk-2025.10.5.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
|
|
380
|
+
synapse_sdk-2025.10.5.dist-info/METADATA,sha256=N1gJlSwg8kEhRTkXxmHMAJntzig0DtxmmV_t1Z5uPkE,4186
|
|
381
|
+
synapse_sdk-2025.10.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
382
|
+
synapse_sdk-2025.10.5.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
|
|
383
|
+
synapse_sdk-2025.10.5.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
|
|
384
|
+
synapse_sdk-2025.10.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|