Find file Copy path
965ea73 Jun 22, 2018
3 contributors

Users who have contributed to this file

@nicolaiarocci @funkyfuture @crunk1
72 lines (60 sloc) 3.13 KB

How to Contribute

Contributions are welcome! Not familiar with the codebase yet? No problem! There are many ways to contribute to open source projects: reporting bugs, helping with the documentation, spreading the word and of course, adding new features and patches.


There's currently a feature freeze until the basic code modernization for the 2.0 release is finished. Have a look at the for a status on its progress.

Getting Started

  1. Make sure you have a GitHub account.
  2. Open a new issue, assuming one does not already exist.
  3. Clearly describe the issue including steps to reproduce when it is a bug.

Making Changes

  • Fork the repository on GitHub.
  • Create a topic branch from where you want to base your work.
  • This is usually the master branch.
  • Please avoid working directly on master branch.
  • Make commits of logical units (if needed rebase your feature branch before submitting it).
  • Make sure your commit messages are in the proper format.
  • If your commit fixes an open issue, reference it in the commit message (#15).
  • Make sure you have added the necessary tests for your changes.
  • Run all the tests to assure nothing else was accidentally broken.
  • Install and enable pre-commit (pip install pre-commit, then pre-commit install) to ensure styleguides and codechecks are followed. CI will reject a change that does not conform to the guidelines.
  • Don't forget to add yourself to AUTHORS.

These guidelines also apply when helping with documentation (actually, for typos and minor additions you might choose to fork and edit).

Submitting Changes

  • Push your changes to a topic branch in your fork of the repository.
  • Submit a Pull Request.
  • Wait for maintainer feedback.

First time contributor?

It's alright. We've all been there.

Dont' know where to start?

There are usually several TODO comments scattered around the codebase, maybe check them out and see if you have ideas, or can help with them. Also, check the open issues in case there's something that sparks your interest. What about documentation? I suck at english so if you're fluent with it (or notice any error), why not help with that? In any case, other than GitHub help pages, you might want to check this excellent Effective Guide to Pull Requests