epyr.plugins
Plugin Architecture for EPyR Tools
Extensible plugin system for adding support for new file formats, data processing methods, and export formats.
This module provides: - Base plugin interfaces and abstract classes - Plugin discovery and loading mechanism - Format handler registration system - Extension point management
- Usage:
# Register a new file format plugin from epyr.plugins import PluginManager, FileFormatPlugin
- class MyFormatPlugin(FileFormatPlugin):
format_name = “myformat” file_extensions = [“.myf”, “.myformat”]
- def can_load(self, file_path: Path) -> bool:
return file_path.suffix.lower() in self.file_extensions
- def load(self, file_path: Path) -> Tuple[np.ndarray, np.ndarray, dict]:
# Implementation here pass
# Register the plugin plugin_manager.register_plugin(MyFormatPlugin())
Classes
Base class for all EPyR Tools plugins. |
|
Built-in CSV export plugin. |
|
Base class for data export plugins. |
|
Base class for file format plugins. |
|
Manages plugin discovery, loading, and registration. |
|
Base class for data processing plugins. |
- class epyr.plugins.BasePlugin[source]
Base class for all EPyR Tools plugins.
- class epyr.plugins.FileFormatPlugin[source]
Base class for file format plugins.
- class epyr.plugins.ProcessingPlugin[source]
Base class for data processing plugins.
- class epyr.plugins.ExportPlugin[source]
Base class for data export plugins.
- class epyr.plugins.PluginManager[source]
Manages plugin discovery, loading, and registration.
- file_format_plugins: Dict[str, FileFormatPlugin]
- processing_plugins: Dict[str, ProcessingPlugin]
- export_plugins: Dict[str, ExportPlugin]
- loaded_plugins: Dict[str, BasePlugin]
- register_plugin(plugin)[source]
Register a plugin instance.
- Parameters:
plugin (BasePlugin) – Plugin instance to register
- Returns:
True if registration successful
- Return type:
- discover_plugins(plugin_directories=None)[source]
Discover and load plugins from specified directories.
- get_file_format_plugin(file_path)[source]
Get appropriate file format plugin for a file.
- Parameters:
file_path (Path) – Path to file
- Returns:
Plugin that can load the file, or None
- Return type:
FileFormatPlugin | None
- get_export_plugin(format_name)[source]
Get export plugin for specified format.
- Parameters:
format_name (str) – Export format name
- Returns:
Plugin that can export to format, or None
- Return type:
ExportPlugin | None
- get_processing_plugin(processing_name)[source]
Get processing plugin by name.
- Parameters:
processing_name (str) – Processing method name
- Returns:
Processing plugin, or None
- Return type:
ProcessingPlugin | None