Machine Learning Plugins for Data Science

Goal: Create a new plugin for integrating Jenkins with one of Machine Learning tools (e.g. Jupyter Python, TensorBoard, or Sacred)

Status: Active



The main goal of this project is integrating Machine Learning workflow including Data preprocessing, Model Training, Evaluation and Prediction with Jenkins build tasks. This plugin will be capable of executing code fragments via IPython kernel as currently supported by Jupyter Notebook. Version control will be handled as an added advantage of this project.


  • An IPython plugin with pipeline compatible

  • Improved config.jelly for the plugin

  • File parsers for ipynb, py and text(containing python code) files

  • Code segment extractor

  • Implement a code editor

  • Output console with static visual components

Comunity Bonding

The community bonding period is all about, well, community bonding. Rather than jumping straight into coding, I’ve got some time to learn about Jenkins’s processes - release and otherwise - developer interactions, codes of conduct, etc.

Phase 1

  • Implement the configuration part of Ipython kernel interpreter

  • Implement file parser

  • Improve current config.jelly

  • Improve form validations

  • Increase the test coverage and documentation

  • Blog post

Phase 2

  • Implement code editor

  • Extend the editor for test purposes with pre-tested codelets

  • Testing and bug fixing

  • Improve the documentation

  • Discuss with mentors about phase 3 coding

Phase 3

  • Design and implement code segment extractor

  • Implement JSON generator for the results

  • Integrate whole previous work and testing

  • Git integration for code segments (optional)

  • User documentation and examples

Future Improvements

  • Writing developer documentation

  • Git integration on plugin if not implemented during coding phase.

  • Implementing Interactive visualizer for data sets and results.

  • Community discussions and design to integrate other kernels with Jenkins

Weekly Meeting Sync

  • Monday

  • Time - 03:00 am (UTC)