Contributing

Make sure to have poetry installed. Then, start by cloning the repo, and installing the dependencies:

$ pip install poetry # if not already installed $ cd <repository directory> $ poetry install

Running tests

Use:

# only runs actual tests
$ make pytests

or:

# runs tests but also linters like black, isort and flake8
$ make tests

To generate html coverage:

$ make coverage-html

Finally, you can also use tox to run tests against all supported Django and Python versions:

$ tox

Sandbox VM

There is a VagrantFile for setting up a sandbox VM where you can play around with the functionality. Bring up the Vagrant box:

$ vagrant up

This may take a while but will set up a Ubuntu Precise64 VM with RabbitMQ installed. You can then SSH into the machine:

$ vagrant ssh
$ cd /vagrant/sandbox

You can now decide to run the Celery implementation:

$ honcho -f Procfile.celery start

Or you can run the RQ implementation:

$ honcho -f Procfile.rq start

The above commands will start a Django runserver and the selected task worker. The dummy site will be available at http://localhost:8080 on your host machine. There are some sample views in sandbox/dummyapp/views.py that exercise django-cacheback.