.. _contributing: Contributing ============ Djrill is maintained by its users. Your contributions are encouraged! The `Djrill source code`_ is on github. See `AUTHORS.txt`_ for a list of some of the people who have helped improve Djrill. .. _Djrill source code: https://github.com/brack3t/Djrill .. _AUTHORS.txt: https://github.com/brack3t/Djrill/blob/master/AUTHORS.txt Bugs ---- You can report problems or request features in `Djrill's github issue tracker `_. We also have some :ref:`troubleshooting` information that may be helpful. Pull Requests ------------- Pull requests are always welcome to fix bugs and improve support for Mandrill and Django features. * Please include test cases. * We try to follow the `Django coding style`_ (basically, PEP 8 with longer lines OK). * By submitting a pull request, you're agreeing to release your changes under under the same BSD license as the rest of this project. .. Intentionally point to Django dev branch for coding docs (rather than Django stable): .. _Django coding style: https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/ Testing ------- Djrill is `tested on Travis `_ against several combinations of Django and Python versions. (Full list in `.travis.yml `_.) Most of the included tests verify that Djrill constructs the expected Mandrill API calls, without actually calling Mandrill or sending any email. So these tests don't require a Mandrill API key, but they *do* require `mock `_ and `six `_ (``pip install mock six``). To run the tests, either:: python -Wall setup.py test or:: python -Wall runtests.py If you set the environment variable `MANDRILL_TEST_API_KEY` to a valid Mandrill `test API key`_, there are also a handful of integration tests which will run against the live Mandrill API. (Otherwise these live API tests are skipped.) .. _test API key: https://mandrill.zendesk.com/hc/en-us/articles/205582447#test_key