- make
- node (required for pyright)
- python >= 3.9
make install
creates the dev environment with:
- a virtualenv in .venv/
- pyright in node_modules/
- git hooks for formatting & linting on git push (these also run in CI)
. .venv/bin/activate
activates the virtualenv.
The make targets will update the virtualenv when pyproject.toml changes.
Run make
to see the options for running tests, linting, formatting etc.
PR titles use conventional commit prefixes where:
feat
adding an unimplemented featurefix
fixing an already implemented feature
Changes to behaviour covered by a test is considered a breaking change. Breaking changes are indicated with an exclamation mark in the title.
New features and bug fixes require a minimal test case that mimics the behaviour of Snowflake and passes if run against a real Snowflake instance, or documents clearly where it deviates.