Skip to content

Latest commit

 

History

History
92 lines (62 loc) · 2.47 KB

CONTRIBUTING.rst

File metadata and controls

92 lines (62 loc) · 2.47 KB

Contributing to django-simple-history

Pull Requests

Feel free to open pull requests before you've finished your code or tests. Opening your pull request soon will allow others to comment on it sooner.

A checklist of things to remember when making a feature:

  • Write tests if applicable
  • Note important changes in the CHANGES file
  • Update the README file if needed
  • Update the documentation if needed
  • Add yourself to the AUTHORS file

Requirements

The Makefile can be used for generating documentation and running tests.

To install the requirements necessary for generating the documentation and running tests:

make init

This will install:

  • tox: used for running the tests against all supported versions of Django and Python
  • coverage: used for analyzing test coverage for tests
  • Sphinx: used for generating documentation

If not using a virtualenv, the command should be prepended with sudo.

Documentation

To regenerate the documentation run:

make docs

Testing

Please add tests for your pull requests and make sure your changes don't break existing tests.

To run tox and generate an HTML code coverage report (available in the htmlcov directory):

make test

To quickly run the tests against a single version of Python and Django (note: you must pip install django beforehand):

python setup.py test

Code Formatting

We make use of black for code formatting.

Once it is installed you can make sure the code is properly formatted by running:

make format

Translations

In order to add translations, refer to Django's translation docs and follow these steps:

  1. Ensure that Django is installed
  2. Invoke django-admin makemessages -l <LOCALE NAME> in the repository's root directory.
  3. Add translations to the created simple_history/locale/<LOCALE NAME>/LC_MESSAGES/django.po file.
  4. Compile these with django-admin compilemessages.
  5. Commit and publish your translations as described above.