Smallest possible Python-plugin proof point. Rust cdylib that embeds
a single echo_python.py (no ML deps, single class, just round-trips
text) via include_dir! and registers EchoPythonNode into the SDK
registry.
Sister to:
RemoteMedia-SDK/echo-python-source— same node, shipped as Path 5 (plugin.toml+.pyonly, no Rust).RemoteMedia-SDK/moss-tts-realtime— canonical heavy Path 4 plugin with vendored sub-package + ML deps.
{
"version": "v1",
"plugins": ["echo-python-loadable@v0.1.0"],
"nodes": [
{ "id": "echo", "node_type": "EchoPythonNode", "params": {} }
]
}The SDK resolver expands echo-python-loadable@v0.1.0 to
github.com/RemoteMedia-SDK/echo-python-loadable, fetches
plugin.toml, then falls through to release-manifest.json for the
platform-specific prebuilt .so / .dylib / .dll asset.
Status: plugin.toml + source published. Prebuilt release binaries are not yet uploaded — the matrix-build CI workflow is pending. Until then, consumers should either build the cdylib themselves (see below) or use a local-path plugin entry.
git clone https://github.com/RemoteMedia-SDK/echo-python-loadable
cd echo-python-loadable
cargo build --release
# → target/release/libecho_python_loadable_plugin.soThen reference it from your manifest:
{ "plugins": ["./path/to/libecho_python_loadable_plugin.so"] }| Node type | Input | Output |
|---|---|---|
EchoPythonNode |
Text | Text ("echo: " + input) |
echo-python-loadable/
├── plugin.toml ← metadata
├── Cargo.toml ← git-deps the SDK at a pinned rev
├── src/lib.rs ← `python_plugin_export!{...}` macro call
├── embedded/echo_python.py ← the actual node implementation
├── run.sh ← local smoke-test driver
└── README.md
| Aspect | echo-python-loadable (this repo, Path 4) |
echo-python-source (Path 5) |
|---|---|---|
| Languages plugin author writes | Rust + Python | Python only |
| Build step | cargo build per platform |
None |
| Distribution | .so / .dylib / .dll (matrix per OS+arch) |
git tag |
| Source visible to consumer | No (embedded in binary) | Yes (cloned) |
| First-load time | Fast (dlopen) | Slower (tarball download + extract + venv) |
See LICENSE.md. This plugin reuses RemoteMedia SDK source and is
governed by the same RemoteMedia SDK Community License 1.0.