4cat
4cat copied to clipboard
Only load dependencies needed by enabled processors and data sources
Because why install Chrome/Firefox if you're not actually using something that needs it?
Processors could contain code to manage dependencies with, e.g. install_dependencies and uninstall_dependencies methods that are called when the processor is enabled/disabled. It is currently not possible to toggle processors individually so that would additionally be a new feature to add as part of this.
There are groups of processors that share dependencies (e.g. video processors all need ffmpeg). This could be addressed by an abstract superclass ProcessorNeedsSomeSpecificDependency that the relevant processors descend from.