HashSlap-Summer-of-Code/ml-core

Build a Plugin-Based Architecture for ML Algorithm Extensions

Open

#13 opened on Jun 18, 2025

 (0 comments) (0 reactions) (0 assignees)Jupyter Notebook (11 forks)auto 404
Advancedenhancementhacktoberfesthssoc

Repository metrics

Stars
 (3 stars)
PR merge metrics
 (PR metrics pending)

Description

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.py to manage discovery and registration of components.
  • Define base classes/interfaces like BaseModel, BasePreprocessor, and BaseEvaluator.
  • 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.md explaining 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 .py files in a plugins/ folder.
  • Add YAML or JSON-based pipeline configuration for training workflows.
  • Create a CLI command to list all available registered plugins.

Contributor guide