Contributing to scikit-uplift

First off, thanks for taking the time to contribute! 🙌👍🎉

All development is done on GitHub:

Submitting a bug report or a feature request

We use GitHub issues to track all bugs and feature requests. Feel free to open an issue if you have found a bug or wish to see a feature implemented at

Contributing code

How to contribute

The code in the master branch should meet the current release. So, please make a pull request to the dev branch.

  1. Fork the project repository.

  2. Clone your fork of the scikit-uplift repo from your GitHub account to your local disk:

    $ git clone
    $ cd scikit-learn
  3. Add the upstream remote. This saves a reference to the main scikit-uplift repository, which you can use to keep your repository synchronized with the latest changes:

    $ git remote add upstream
  4. Synchronize your dev branch with the upstream dev branch:

    $ git checkout dev
    $ git pull upstream dev
  5. Create a feature branch to hold your development changes:

    $ git checkout -b feature/my_new_feature

    and start making changes. Always use a feature branch. It’s a good practice.

  6. Develop the feature on your feature branch on your computer, using Git to do the version control. When you’re done editing, add changed files using git add and then git commit. Then push the changes to your GitHub account with:

    $ git push -u origin feature/my_new_feature
  7. Create a pull request from your fork into dev branch.



We follow the PEP8 style guide for Python. Docstrings follow google style.

Git Commit Messages

  • Use the present tense (“Add feature” not “Added feature”)
  • Use the imperative mood (“Move file to…” not “Moves file to…”)
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line
  • If you want to use emojis, use them at the beginning of the line.