Contributing¶
Contributions are highly appreciated, please follow the following guidelines in order to make the process of including the contributions easier.
It sums up to write tests, follow pep8 and the import-sorting guidelines. New features needs to be documented.
Please remember to add your change to the CHANGELOG.rst under the section “Changes since last release”.
Adding features¶
Adding an engine¶
If you are adding a new engine there is already a test-case ready that you should use to test your
new engine. In tests.test_engine
there is a EngineTestMixin that you should add to your test
case. Remember to set the ENGINE
attribute. If your engine has their own dependencies it is
necessary to decorate the test class with
@unittest.skipIf(not has_dependency(), 'Dependency not installed')
. The has_dependency
function should be created in test.utils
. There exist some in the code base already so look there
for examples.
Below is the test case for the PillowEngine. It is a good example of how to add tests for a new engine.
@unittest.skipIf(not has_installed('pillow'), 'Pillow not installed')
class PillowEngineTestCase(EngineTestMixin, unittest.TestCase):
ENGINE = PillowEngine
Adding a cache backend¶
As with the image engines, cache backends has a test mixin that should be used when a new cache backend is created. Example usage of the test mixin is shown below.
class SimpleCacheBackendTestCase(CacheBackendTestMixin, unittest.TestCase):
BACKEND = SimpleCacheBackend