Contributing

Contributions are highly welcomed and appreciated.

Style Guide

This project uses black for formatting and flake8 for linting. These tools are used in a pre-commit hook. Here is how to enable them:

$ pip install pre-commit
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit

Optionally you can invoke pre-commit explicitly after you staged your changes and before you’re ready to commit:

$ pre-commit
black....................................................................Passed
flake8...................................................................Passed

You can also invoke black and flake8 explicitly:

$ pip install -r requirements/check.txt
$ black .
All done! ✨ 🍰 ✨
49 files left unchanged.
$ flake8

Tests

This project uses pytest framework and tox automation:

$ pip install tox
$ tox -e py37

Or to run pytest explicitly:

$ pip install -r requirements/test.txt
$ pytest
..................................................                       [100%]
50 passed in 0.58s