mlpack is a community-led effort, and so the code is not possible without the community. Since mlpack is an open-source project, anyone is welcome to become a part of the community and contribute. There is no need to be a machine learning expert to participate—often, there are many tasks to be done that don't require in-depth knowledge.

Over the past several years, mlpack has participated in Google Summer of Code. For more information, see this page →.

All mlpack development is done on GitHub. In addition to that, there are a few channels of communication:

Getting Involved

Everyone is welcome to contribute to mlpack. But before becoming a contributor, it's often useful to understand mlpack as a user. So, a good place to start is to download mlpack and use the Python bindings, Julia bindings or the command-line programs to perform machine learning tasks. You can also write C++ programs to perform machine learning tasks with mlpack; here are some basic examples.

Once you have an idea of what's included in mlpack and how a user might use it, then a good next step would be to set up a development environment. Once you have that set up, you can build mlpack from source and explore the codebase to see how it's organized. It may even be useful to try and make small changes to the code, then rebuild the command-line programs and see what your changes did.

Now you're set up to contribute! There are lots of ways you can contribute. Here are a couple ideas:

Help others figure out their mlpack issues and questions. Here is a list of Github issues tagged question. Helping others figure out their problems is really one of the best ways to learn about the library.

Read through the vision document to learn about the development goals of the mlpack community and see the high-level tasks that need to be done to accomplish that vision.

Find an issue that needs implementation help; here is a list of Github issues tagged help wanted ; and here is a list of Github issues tagged good first issue . Once you open a PR that passes all the continuous integration tests, the community will review it and get it merged into the codebase.

Find an abandoned pull request; here is a list of pull requests that were closed for inactivity. Often these have comments that need to be addressed, but the original author didn't have time to finish the work. So, you can pick up where they left off!

Implement a new machine learning algorithm that mlpack doesn't currently have.

Take a look at the ideas on the Google Summer of Code Ideas List and see if you find any of them interesting or exciting. Even if you're not planning to do Summer of Code, it's okay to take these ideas and implement them separately.

Do some timing on an existing machine learning algorithm implemented by mlpack, and try to make it faster.

If you find a bug or have a problem, open an issue for it—issue templates are provided to make reporting easier.

Mailing Lists

Two mailing lists are used for mlpack discussion and development:

For email discussion and announcements: mlpack mailing list →

Which sends emails for all mlpack-related activity: mlpack-git mailing list →

Real-Time Chat

The mlpack community stays in touch in real-time via several chat services that are all linked together thanks to the Matrix project. You can choose any of the services below and will be able to communicate with anyone who is using any of the other services (assuming that the inter-service bridges are correctly operating).


irc logo

IRC via #mlpack; you can use webchat (the link) and specify the channel #mlpack, or set up an account on and use a client of your choice.


matrix logo

Matrix:; you will need to set up a account and use a client such as Riot or others.


gitter logo

mlpack/mlpack; you will need a Github account to join.


slack logo; in order to create an account, you'll need to use the auto-inviter to send yourself an invite:

Discussions in the chat channel are logged using whitequark's graciously provided irc logger.

Video Meetup

On the first and third Friday of every month, at 1700 UTC on Fridays, we have casual video meetups with no particular agenda. Feel free to join up! We often talk about code changes that we are working on, issues people are having with mlpack, general design direction, and whatever else might be on our mind. We use this Zoom room. For security, we use a password for the meeting to keep malicious bots out; the password is simple---it's just the name of the library (in all lowercase).


Blog for mlpack development and updates and blog posts. Read More →


Organizations that have supported mlpack's development or currently support it.

numfocus logo

mlpack is fiscally sponsored by NumFOCUS.

google logo

Over the past several years, mlpack has participated in Google Summer of Code.

georgia tech logo

Originally, mlpack was produced by the FASTLab at Georgia Tech.

symantec logo

Developer Ryan Curtin received partial support to work on mlpack at Symantec.

nsf logo

Developer Ryan Curtin received partial support to work on mlpack in 2015 from the US National Science Foundation (NSF) under Award 1339745 (SI2-SSI: The XScala Project).

fu berlin logo

Developer Marcus Edel received partial support to work on mlpack at Free University of Berlin.


Below is a list of contributors to mlpack. Without their hard work, this software would not be possible.

Ryan Curtin

Dongryeol Lee

James Cline

Neil Slagle

Noah Kauffman

Patrick Mason

Michael Fox

Saheb Motiani

Vahab Akbarzadeh

Udit Saxena

Shangtong Zhang

QiaoAn Chen

Tham Ngap Wei

Pavel Zhigulin

Ivari Horm

Palash Ahuja

Mikhail Lozhnikov

Nilay Jain

Ivan Georgiev

Mike Izbicki

Dinesh Raj

Lakshya Agrawal

Abhinav Moudgil

Nishanth Hegde

Franciszek Stokowacki

Kartik Nighania

Haritha Sreedharan Nair

Nikhil Goel

Atharva Khandait

Prabhat Sharma


Thanasis Mattas

German Lancioni

Tommi Laivamaa

Toshal Agrawal

Bishwa Karki

Heet Sankesara

Khizir Siddiqui

Ziyang Jiang

Kartik Dutt

Saraansh Tandon

Bisakh Mondal

Aakash Kaushik

Rishabh Garg

Marcus Edel

Nishant Mehta

Sterling Peet

Ajinkya Kale

Rajendran Mohan

Mudit Raj Gupta

Ryan Birmingham

Yash Vadalia

Andrew Wells

Stephen Tu

Hritik Jain

Janzen Brewer

Grzegorz Krajewski

Andy Fang

Dhawal Arora

Yannis Mentekidis

Marcos Pividori

Peter Lehner

Shikhar Bhardwaj

Sudhanshu Ranjan

Vivek Pal

Praveen Ch

Thyrix Yang

Parminder Singh

Samikshya Chand

Eugene Freyman

Sourabh Varshney

Shikhar Jaiswal

Wenhao Huang

Tan Jun An

Namrata Mukhija

Shashank Shekhar

Arash Abghari

Kim SangYeon

Dan Timson

Mehul Kumar Nirala

Jeffin Sam

Tejasvi Tomar

Sriram S K

Gaurav Singh

Benson Muite

Anush Kini

Sudhakar Brar

Bill March

Parikshit Ram

Matthew Amidon

Vlad Grantcharov

Trironk Kiatkungwanglai

Sumedh Ghaisas

Siddharth Agrawal

Abhishek Laddha

Zhihao Lou

Jaskaran Singh

Vladimir Glazachev

Trung Dinh

Joseph Mariadassou

Barak Pearlmutter

Alexander Leinoff

Ranjan Mondal

Keon Kim

Anuraj Kanodia

Yashu Seth

Piyush Jaiswal

Prasanna Patil

Kirill Mishchenko

Sagar B Hathwar


N Rajiv Vaidyanathan

Manish Kumar

Projyal Dev

B Kartheek Reddy

Roberto Hueso

Moksh Jain

Conrad Sanderson

Yasmine Dumouchel

Ayush Chamoli

Niteya Shah

Miguel Canteras

Yashwant Singh Parihar

Vikas S Shetty

Jai Agarwal

Aditya Viki

Manoranjan Kumar Bharti

Lakshya Ojha

Sarthak Bhardwaj

Nippun Sharma

Alex Nguyen

© 2007 - 2020 mlpack developers (BSD License).

Home  • Quick Start  • Documentation  • Community  • FAQ  • GitHub