Contributing to vws-web-tools

Contributions to this repository must pass tests and linting.

CI is the canonical source of truth.

Install contribution dependencies

Install Python dependencies in a virtual environment.

$ pip install --editable '.[dev]'

Spell checking requires enchant. This can be installed on macOS, for example, with Homebrew:

$ brew install enchant

and on Ubuntu with apt:

$ apt-get install -y enchant

Install pre-commit hooks:

$ pre-commit install

Linting

Run lint tools either by committing, or with:

$ pre-commit run --all-files --hook-stage pre-commit --verbose
$ pre-commit run --all-files --hook-stage pre-push --verbose
$ pre-commit run --all-files --hook-stage manual --verbose

Running tests

Run pytest:

$ pytest

Documentation

Documentation is built on Read the Docs.

Run the following commands to build and view documentation locally:

$ make docs
$ make open-docs

Continuous integration

Tests are run on GitHub Actions. The configuration for this is in .github/workflows/.

Performing a release

See Release Process.