synapse-sdk 1.0.0b19__py3-none-any.whl → 1.0.0b20__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.

@@ -232,6 +232,11 @@ description: "A custom ML plugin"
232
232
  # Package management
233
233
  package_manager: "pip" # or "uv"
234
234
 
235
+ # Package manager options (optional)
236
+ # For pip defaults to ['--disable-pip-version-check', '--no-cache-dir']
237
+ # For uv defaults to ['--no-cache']
238
+ package_manager_options: ["--disable-pip-version-check", "--no-cache-dir", "--quiet"]
239
+
235
240
  # Action definitions
236
241
  actions:
237
242
  train:
@@ -138,8 +138,34 @@ class Action:
138
138
 
139
139
  @property
140
140
  def package_manager_options(self):
141
- options = {'pip': {}, 'uv': {'uv_pip_install_options': []}}
142
- return options[self.plugin_package_manager]
141
+ # Get user-defined options from plugin config
142
+ user_options = self.plugin_config.get('package_manager_options', [])
143
+
144
+ # Set defaults and merge with user options
145
+ if self.plugin_package_manager == 'pip':
146
+ defaults = ['--disable-pip-version-check', '--no-cache-dir']
147
+ # Add defaults if not already present
148
+ options_list = defaults.copy()
149
+ for option in user_options:
150
+ if option not in options_list:
151
+ options_list.append(option)
152
+ elif self.plugin_package_manager == 'uv':
153
+ defaults = ['--no-cache']
154
+ # Add defaults if not already present
155
+ options_list = defaults.copy()
156
+ for option in user_options:
157
+ if option not in options_list:
158
+ options_list.append(option)
159
+ else:
160
+ options_list = user_options
161
+
162
+ # Return the options in the format expected by Ray
163
+ if self.plugin_package_manager == 'pip':
164
+ return {'pip_install_options': options_list}
165
+ elif self.plugin_package_manager == 'uv':
166
+ return {'uv_pip_install_options': options_list}
167
+ else:
168
+ return {}
143
169
 
144
170
  def get_run(self):
145
171
  context = {
@@ -1,5 +1,4 @@
1
1
  import json
2
- from itertools import tee
3
2
  from pathlib import Path
4
3
  from typing import Generator
5
4
 
@@ -1,4 +1,3 @@
1
- import asyncio
2
1
  from pathlib import Path
3
2
  from typing import Dict, List
4
3
 
@@ -48,8 +48,34 @@ class PluginRelease:
48
48
 
49
49
  @cached_property
50
50
  def package_manager_options(self):
51
- options = {'pip': {}, 'uv': {'uv_pip_install_options': []}}
52
- return options[self.package_manager]
51
+ # Get user-defined options from config
52
+ user_options = self.config.get('package_manager_options', [])
53
+
54
+ # Set defaults and merge with user options
55
+ if self.package_manager == 'pip':
56
+ defaults = ['--disable-pip-version-check', '--no-cache-dir']
57
+ # Add defaults if not already present
58
+ options_list = defaults.copy()
59
+ for option in user_options:
60
+ if option not in options_list:
61
+ options_list.append(option)
62
+ elif self.package_manager == 'uv':
63
+ defaults = ['--no-cache']
64
+ # Add defaults if not already present
65
+ options_list = defaults.copy()
66
+ for option in user_options:
67
+ if option not in options_list:
68
+ options_list.append(option)
69
+ else:
70
+ options_list = user_options
71
+
72
+ # Return the options in the format expected by Ray
73
+ if self.package_manager == 'pip':
74
+ return {'pip_install_options': options_list}
75
+ elif self.package_manager == 'uv':
76
+ return {'uv_pip_install_options': options_list}
77
+ else:
78
+ return {}
53
79
 
54
80
  @cached_property
55
81
  def checksum(self):
@@ -51,6 +51,13 @@
51
51
  "enum": ["pip", "uv"],
52
52
  "default": "pip"
53
53
  },
54
+ "package_manager_options": {
55
+ "type": "array",
56
+ "description": "User-provided options for package manager install command. For pip defaults to ['--disable-pip-version-check', '--no-cache-dir']. For uv defaults to ['--no-cache']",
57
+ "items": {
58
+ "type": "string"
59
+ }
60
+ },
54
61
  "data_type": {
55
62
  "type": "string",
56
63
  "description": "Primary data type the plugin works with",
@@ -44,6 +44,13 @@
44
44
  "enum": ["pip", "uv"],
45
45
  "default": "pip"
46
46
  },
47
+ "package_manager_options": {
48
+ "type": "array",
49
+ "description": "User-provided options for package manager install command. For pip defaults to ['--disable-pip-version-check', '--no-cache-dir']. For uv defaults to ['--no-cache']",
50
+ "items": {
51
+ "type": "string"
52
+ }
53
+ },
47
54
  "data_type": {
48
55
  "type": "string",
49
56
  "description": "Primary data type handled by the plugin",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0b19
3
+ Version: 1.0.0b20
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -88,7 +88,7 @@ synapse_sdk/devtools/docs/docs/examples/index.md,sha256=IZnF8veO7PqJYtAQevL1VHt1
88
88
  synapse_sdk/devtools/docs/docs/features/index.md,sha256=FD2hUzTzFgKa5pcDWPtA6eVw9pLLiRajYi4xA8aJTHg,963
89
89
  synapse_sdk/devtools/docs/docs/features/converters/index.md,sha256=W5d5UO8nbOLWs1G9IgdTutlMl-d6M0hDLMJbg8DrCQ8,12713
90
90
  synapse_sdk/devtools/docs/docs/plugins/export-plugins.md,sha256=W8u8o9PWZQJ-rBvwuw-daWtqsOfFod_j_4yNj4zbOj0,27028
91
- synapse_sdk/devtools/docs/docs/plugins/plugins.md,sha256=a1OCSovNXLx8vEkx7qJtxlqEQueGgZ37_xvuZecp4ng,24139
91
+ synapse_sdk/devtools/docs/docs/plugins/plugins.md,sha256=s6q9XbaxaQPXylJX5Dzu4_qvtoZl53x1QAyWROqvvR0,24371
92
92
  synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json,sha256=qQVHZ1p0CxHg5Gb4CYNxUSeqZ3LVo4nXN_N0yUMVpDM,180
93
93
  synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md,sha256=zJbcwKNVYGpLAGJO7e3cTdptFhb6m_NUzYDU5i6MWgc,1078
94
94
  synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md,sha256=FNk-D3eiMmoc7sdVKazXibjsKl7-6b65KuEYkGOwcYk,886
@@ -164,10 +164,10 @@ synapse_sdk/devtools/streamlit_app/utils/ui_components.py,sha256=ciSyNEhPYNU6Kqn
164
164
  synapse_sdk/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  synapse_sdk/plugins/enums.py,sha256=ibixwqA3sCNSriG1jAtL54JQc_Zwo3MufwYUqGhVncc,523
166
166
  synapse_sdk/plugins/exceptions.py,sha256=Qs7qODp_RRLO9y2otU2T4ryj5LFwIZODvSIXkAh91u0,691
167
- synapse_sdk/plugins/models.py,sha256=AKZfVT6hsVEklcEDnHwoVAwvLxydMibfeJetug3Qk0U,4738
167
+ synapse_sdk/plugins/models.py,sha256=sXKfFz6_15dFPdnGBKcCgYc79HkONckbb2T4rFi_O4c,5798
168
168
  synapse_sdk/plugins/upload.py,sha256=VJOotYMayylOH0lNoAGeGHRkLdhP7jnC_A0rFQMvQpQ,3228
169
169
  synapse_sdk/plugins/categories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
- synapse_sdk/plugins/categories/base.py,sha256=ZBgRh3tTdSnqBrzjux8oi1_3PidHMmpmLClPXiTmU3Q,10690
170
+ synapse_sdk/plugins/categories/base.py,sha256=fU5tZk9YhD171E4JVVIAByQoMzPtpfw7YStdQOiofOU,11785
171
171
  synapse_sdk/plugins/categories/decorators.py,sha256=Gw6T-UHwpCKrSt596X-g2sZbY_Z1zbbogowClj7Pr5Q,518
172
172
  synapse_sdk/plugins/categories/registry.py,sha256=KdQR8SUlLT-3kgYzDNWawS1uJnAhrcw2j4zFaTpilRs,636
173
173
  synapse_sdk/plugins/categories/templates.py,sha256=FF5FerhkZMeW1YcKLY5cylC0SkWSYdJODA_Qcm4OGYQ,887
@@ -182,7 +182,7 @@ synapse_sdk/plugins/categories/export/enums.py,sha256=gtyngvQ1DKkos9iKGcbecwTVQQ
182
182
  synapse_sdk/plugins/categories/export/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
183
  synapse_sdk/plugins/categories/export/actions/export.py,sha256=BO8N1LT8X9ImDmsqMdrbCUePsMEtOhazCuVtwp_ZmXs,13706
184
184
  synapse_sdk/plugins/categories/export/templates/config.yaml,sha256=fAqi-9dH7qEkFDSDFvt0BcZ72d2qbyt1P83L2ti6ELM,58
185
- synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=vsaFmW0X7GvKs1YYocYn1Yfp9bzfLnc9grMp4n9UbWk,15400
185
+ synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=jr88AziO-yi6dO9-O4a6HF6I6EBQjqP3h6dOrjYrDsU,15374
186
186
  synapse_sdk/plugins/categories/export/templates/plugin/export.py,sha256=3dZUEdhj-4YySJ-cPyNAqQvj5xcAXIX4KmXKcacTtd0,2754
187
187
  synapse_sdk/plugins/categories/neural_net/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
188
  synapse_sdk/plugins/categories/neural_net/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -224,10 +224,10 @@ synapse_sdk/plugins/categories/upload/actions/__init__.py,sha256=47DEQpj8HBSa-_T
224
224
  synapse_sdk/plugins/categories/upload/actions/upload.py,sha256=lFosLHBC0bAI6rC9BYdrmd47VoQRXDtd6hi-0p7oG04,55001
225
225
  synapse_sdk/plugins/categories/upload/templates/config.yaml,sha256=BvW1sqs02IgzO_fndxmtQ9CCmlNPwVIiuptQzzA6uAo,998
226
226
  synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
- synapse_sdk/plugins/categories/upload/templates/plugin/upload.py,sha256=gtKdKVf_PmZ2lRiTVrWT48F1J1yRZ-UGzg4gUgjWE84,1886
227
+ synapse_sdk/plugins/categories/upload/templates/plugin/upload.py,sha256=YW3-wYeFMU5BJPoxnzXD7VoqKTQHC3bDgENdxxmchlk,1871
228
228
  synapse_sdk/plugins/templates/cookiecutter.json,sha256=NxOWk9A_v1pO0Ny4IYT9Cj5iiJ16--cIQrGC67QdR0I,396
229
- synapse_sdk/plugins/templates/plugin-config-schema.json,sha256=_ff1dnHdWPcWjD1Wy8Wn0aT6TnMD5J5Sdms3RTSWCUs,11805
230
- synapse_sdk/plugins/templates/schema.json,sha256=E5bZjskN0mqQtk2eLAB1nfXufIoGvyrtkMMP-wGKSdc,14029
229
+ synapse_sdk/plugins/templates/plugin-config-schema.json,sha256=5BMtYF7lfhuiCYlmPN-noimJj8xJTkz8E5AybTiadoc,12106
230
+ synapse_sdk/plugins/templates/schema.json,sha256=umWlWcCPdizJKmQEiaPGl1yKffMDhmL8Mebt_yZgXXo,14344
231
231
  synapse_sdk/plugins/templates/hooks/post_gen_project.py,sha256=jqlYkY1O2TxIR-Vh3gnwILYy8k-D39Xx66d2KNQVMCs,147
232
232
  synapse_sdk/plugins/templates/hooks/pre_prompt.py,sha256=aOAMM623s0sKFGjTZaotAOYFvsNMxeii4tPyhOAFKVE,539
233
233
  synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore,sha256=RvBmUbwmzgv0vYzYk2aQ0HpvKyPj6sCpBqsrthCuA4s,243
@@ -278,9 +278,9 @@ synapse_sdk/utils/storage/providers/gcp.py,sha256=i2BQCu1Kej1If9SuNr2_lEyTcr5M_n
278
278
  synapse_sdk/utils/storage/providers/http.py,sha256=2DhIulND47JOnS5ZY7MZUex7Su3peAPksGo1Wwg07L4,5828
279
279
  synapse_sdk/utils/storage/providers/s3.py,sha256=ZmqekAvIgcQBdRU-QVJYv1Rlp6VHfXwtbtjTSphua94,2573
280
280
  synapse_sdk/utils/storage/providers/sftp.py,sha256=_8s9hf0JXIO21gvm-JVS00FbLsbtvly4c-ETLRax68A,1426
281
- synapse_sdk-1.0.0b19.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
282
- synapse_sdk-1.0.0b19.dist-info/METADATA,sha256=JJmW-pCaz5n8V-rNYjuE3Lq6hBhsGFfUYC9RoLM0YO0,3745
283
- synapse_sdk-1.0.0b19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
284
- synapse_sdk-1.0.0b19.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
285
- synapse_sdk-1.0.0b19.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
286
- synapse_sdk-1.0.0b19.dist-info/RECORD,,
281
+ synapse_sdk-1.0.0b20.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
282
+ synapse_sdk-1.0.0b20.dist-info/METADATA,sha256=QZ81Ung7GCPIuoeQQamRuWPqm4OEV3gQRcuj3nqQB1A,3745
283
+ synapse_sdk-1.0.0b20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
284
+ synapse_sdk-1.0.0b20.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
285
+ synapse_sdk-1.0.0b20.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
286
+ synapse_sdk-1.0.0b20.dist-info/RECORD,,