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 write to the mailing list or 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.

Please:

  • 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 master.

Thank you for considering to contribute to sigal !

Setting up the development environment

Using a virtualenv:

git clone https://github.com/saimn/sigal.git
cd sigal
virtualenv venv
. venv/bin/activate

Install sigal in development mode:

pip install -e .

Install additional dependencies for development (Sphinx, …):

pip install -r requirements.txt

Building the docs

  • Run make docs (or make html in the docs/ directory).

Running the test suite

  • Run make test (or pytest).
  • Run make coverage to get the coverage report.
  • Using tox you can also run the tests on multiple versions of python.