Using Plugins
Execute plugins in your r2x-core workflows.
Basic Usage
Section titled “Basic Usage”>>> from r2x_core import PluginContext, Plugin, PluginConfig>>> from rust_ok import Ok>>> class MyPluginConfig(PluginConfig):... pass>>> class MyPlugin(Plugin[MyPluginConfig]):... def on_build(self):... from r2x_core import System... return Ok(System(name="test"))>>> config = MyPluginConfig()>>> context = PluginContext(config=config)>>> plugin = MyPlugin.from_context(context)>>> result = plugin.run()>>> result.system.name'test'Plugin Lifecycle Hooks
Section titled “Plugin Lifecycle Hooks”Implement any of these hooks in your plugin class:
on_validate()- Validate inputs and configurationon_prepare()- Load and setup resourceson_upgrade()- Upgrade an existing systemon_build()- Create a new systemon_transform()- Modify an existing systemon_translate()- Convert between model formatson_export()- Write system to fileson_cleanup()- Clean up resources
See Also
Section titled “See Also”- register plugins - Creating plugins
- structure plugin directories - Plugin structure