Plugin System

register()

register(name: str) -> Callable

Decorator to register a function as plugin.

Parameters:

  • name: Unique name for plugin

Example:

from errortools import register

@register("my_plugin")
def my_plugin():
    return "Hello from plugin"

get()

get(name: str, default: Any = None) -> Callable[..., Any]

Get registered plugin function.

Raises:

  • ValueError: Plugin not registered

Example:

from errortools import get
plugin = get("my_plugin")

list_all()

list_all() -> list[str]

List all registered plugin names.

run()

run(name: str, *args, **kwargs) -> Any

Execute registered plugin.

Parameters:

  • name: Plugin name

  • *args, **kwargs: Arguments passed to plugin

Raises:

  • ValueError: Plugin not registered

remove()

remove(name: str) -> None

Remove plugin from registry.