Contributing guidelines

Filing issues

If you have an issue with sigal, the first step is to run:

sigal build -fd -n 1

to get diagnostic information (debug mode, only one core). If you can identify an image or video that is causing the issue, you can create a new directory containing only this image/video and rerun sigal build -fd -n 1.

Then, put the output into a gist/pastebin, and fill an issue on github. You can also try to get help via the #sigal IRC channel on freenode.

How To Contribute

sigal is always open for suggestions and contributions by generous developers. Here are a few tips to get you started.


  • Obey PEP 8 and PEP 257.

  • Always add tests and docs for your code.

  • Add yourself to the AUTHORS file in an alphabetical fashion, and add your name to the license header of the files you modify.

  • Write good commit messages.

  • Ideally, squash your commits, i.e. make your pull requests just one commit.

  • Use a branch, it will be easier to squash or rebase on upstream’s main.

Thank you for considering to contribute to sigal !

Setting up the development environment

Using a virtualenv:

git clone
cd sigal
virtualenv venv
. venv/bin/activate

Install sigal in development mode:

pip install -e .

Install additional dependencies for development (Sphinx, pytest), and optional dependencies:

pip install -e .\[all,tests\]

Building the docs

  • Using tox, run tox -e doc

  • Or make html in the docs/ directory.

Running the test suite

  • Using tox, run tox -e py37 (replacing py37 with your Python version if needed).