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-uplift
  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.