Right now, all engines modules are loaded regardless of what engines have been enabled, resulting in additional memory utilization and code running during import that isn't needed.
Instead, we could treat engines like a "plugin" and dynamically load only those engines that are configured (or always enabled). Then the loaded engines would be stored in a list (or even better, a set), which is iterated through. We already iterate through the selected_engines so this behavior wouldn't really be that different, but the engines would not have be hard-coded in the __init__.py file or anywhere else.
Right now, all engines modules are loaded regardless of what engines have been enabled, resulting in additional memory utilization and code running during import that isn't needed.
Instead, we could treat engines like a "plugin" and dynamically load only those engines that are configured (or always enabled). Then the loaded engines would be stored in a list (or even better, a set), which is iterated through. We already iterate through the
selected_enginesso this behavior wouldn't really be that different, but the engines would not have be hard-coded in the__init__.pyfile or anywhere else.