HashSlap-Summer-of-Code/ml-core
Build a Plugin-Based Architecture for ML Algorithm Extensions
Aperta
#13 aperta il 18 giu 2025
Advancedenhancementhacktoberfesthssoc
Metriche repository
- Star
- (3 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
Description:
Refactor the repository to follow a plugin-based architecture where models, preprocessors, and evaluators can be plugged in dynamically. This makes the project scalable and flexible for advanced experimentation.
Expected Tasks:
- Create a
plugin_registry.pyto manage discovery and registration of components. - Define base classes/interfaces like
BaseModel,BasePreprocessor, andBaseEvaluator. - Add a decorator or registration function to auto-register components into a central registry.
- Refactor at least three models (e.g., KNN, Perceptron, Naive Bayes) to follow the plugin system.
- Provide a dynamic way to load and instantiate registered models by name or type.
- Update training scripts to use models through the registry instead of hardcoded imports.
- Write a guide in
docs/PLUGIN_GUIDE.mdexplaining how to create and register a new plugin. - Add error handling and graceful failure if a plugin is missing or incompatible.
Stretch Tasks:
- Allow loading plugins from external
.pyfiles in aplugins/folder. - Add YAML or JSON-based pipeline configuration for training workflows.
- Create a CLI command to list all available registered plugins.