Skip to main content

Crate fidius_python

Crate fidius_python 

Source
Expand description

Python plugin runtime for Fidius.

This crate embeds CPython into the host process via PyO3 and (in later tasks) exposes a PluginHandle whose dispatcher calls into a loaded Python module. Hosts opt into Python plugin support by depending on this crate (typically through fidius-host’s python feature flag).

At this stage the crate provides only the foundation: shared interpreter initialisation and Python-exception-to-PluginError conversion. The loader, dispatcher, and packaging integration land in subsequent tasks under FIDIUS-I-0020.

Re-exports§

pub use error::pyerr_to_plugin_error;
pub use handle::PythonCallError;
pub use handle::PythonPluginHandle;
pub use interpreter::ensure_initialized;
pub use loader::load_python_plugin;
pub use loader::PythonLoadError;

Modules§

error
Bridge Python exceptions into fidius’s PluginError.
handle
Handle to a loaded Python plugin.
interpreter
Embedded interpreter lifecycle.
loader
Load a Python plugin package and produce a PythonPluginHandle whose method-index map lets the host dispatch by index just like the cdylib path.
value_bridge
Bridge between serde_json::Value and Python objects.