Using Plugins¶
Execute plugins in your R2X Core workflows.
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¶
Implement any of these hooks in your plugin class:
on_validate()- Validate inputs and configurationon_prepare()- Load and setup resourceson_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¶
Create and Register Plugins - Creating plugins
Plugin Directory Structure - Plugin structure