Any form of contribution is welcome!


First, get the source code:

git clone

Make some changes and run the tests and the linters:

tox run

Commit the changes. Your commit message should conform to the following standard:

file/changed: concice and complete statement of the purpose

This is the body of the commit message.  The line above is the
summary.  The summary should be no more than 72 chars long.  The
body can be more freely formatted, but make it look nice.  Make
sure to reference any bug reports and other contributors.  Make
sure the correct authorship appears.

Use git rebase if needed to make commit history look good.

Finally, send a patch to the developer using git send-email:

git send-email origin/master


If you prefer GitHub-style workflow, use the mirror repo to send pull requests.

Adding a new generator#

  1. Create a new Python file in the gentle/generators directory.

  2. Implement all AbstractGenerator methods.

  3. Import your new module in the gentle/ file.

  4. Write regression tests for your new generator.

Feel free to copy/paste from existing sources, I do the same.

Code style#

Whatever the almighty linters say, should be at least PEP 8.