Expand description
Handle to a loaded Python plugin.
Holds the imported module + a vector of callables aligned with the interface descriptor’s method order. Dispatch happens via two paths:
-
Typed:
call_typedtakes raw bincode bytes (the same payload the cdylibcall_methodwould receive), pivots throughserde_json::Valueto convert to Python primitives, calls the callable, converts the return back to aValue, and re-encodes as bincode for the host. -
Raw:
call_rawtakes&[u8], passes abytesarg directly to Python, expectsbytesback. No encoding hops — used by methods opted into#[wire(raw)](T-0082).
All Python exceptions become fidius_core::PluginError via the
pyerr_to_plugin_error helper, with code = "PluginError" for typed
fidius.PluginError raises (round-trips code/message/details) and
code = <ExceptionClassName> otherwise.
Structs§
- Python
Plugin Handle - Loaded-and-validated handle to one Python plugin.
Enums§
- Python
Call Error - Errors a typed call can produce on the Python side.