Dependency management is done through poetry, and pre-commit linting hooks are
maanged with pre-commit. To get started, run poetry install
and poetry
run pre-commit install
.
Tests use pytest, and a Makefile is set up with targets for common operations;
to run tests, use make test
; to run tests and get an HTML coverage report,
use make htmlcov
; to lint everything, use either make lint
or poetry
run pre-commit run -a
(make lint
will stop executing linters after one
failure, while pre-commit will not lint any untracked files).
Note
This is subject to change; we may move the running of these jobs to use tox
in the future, but for now make
is used for running scripts.
This project uses isort, black, flake8 with flake8-bugbear, and mypy (see the pre-commit configuration); consider setting up editor integrations to ease your development process (particularly with mypy).
If you want a live preview of the docs as you work, you can install
sphinx-autobuild into the Poetry virtualenv (poetry run pip install
sphinx-autobuild
) and run it via poetry run make livebuild
.
This project follows Conventional Commits, and uses Angular's commit types.
Branches should be named prefixed with a type (the same types as used in the commit message) and a short description of the purpose of the branch. Some examples:
feat/brief-description fix/bug-description