synapse-plugin-executionlisted
Install: claude install-skill datamaker-kr/synapse-claude-marketplace
# Plugin Execution
Synapse SDK provides multiple ways to execute plugin actions programmatically.
## run_plugin() Function
The simplest way to run a plugin action:
```python
from synapse_sdk.plugins.runner import run_plugin, ExecutionMode
# Local execution (in-process, good for dev)
result = run_plugin(
plugin_code='/path/to/plugin',
action='train',
params={'epochs': 100},
mode=ExecutionMode.LOCAL,
)
# Ray Actor execution (fast startup)
result = run_plugin(
plugin_code='/path/to/plugin',
action='train',
params={'epochs': 100},
mode=ExecutionMode.TASK,
)
# Ray Job execution (heavy workloads)
job_id = run_plugin(
plugin_code='/path/to/plugin',
action='train',
params={'epochs': 100},
mode=ExecutionMode.JOB,
)
```
## Execution Modes
| Mode | Class | Use Case | Returns |
|------|-------|----------|---------|
| `LOCAL` | `LocalExecutor` | Development, testing | Result dict |
| `TASK` | `RayActorExecutor` | Fast startup, medium work | Result dict |
| `JOB` | `RayJobExecutor` | Heavy workloads, isolation | Job ID string |
## Plugin Discovery
Discover and inspect plugins before execution:
```python
from synapse_sdk.plugins.discovery import PluginDiscovery
# From filesystem path
discovery = PluginDiscovery.from_path('/path/to/plugin')
# From Python module
import my_plugin
discovery = PluginDiscovery.from_module(my_plugin)
# List available actions
actions = discovery.list_actions() # ['train', 'inference']
# Get action cla