Contributing
This project uses pdm
.
$ pdm install
Running the tests
The project uses pytest
.
$ pdm run pytest
Type Checking
The project must pass mypy
type checking.
$ pdm run typecheck
If you are using mypy
with an IDE like VS Code make sure you have run
$ pdm run stubs
To work around mypy
not supporting PEP582 yet. See https://github.com/python/mypy/issues/10633 for more info on this.
Formatting
Imports are sorted with isort
and source files are formatted with black
.
$ pdm run format
$ pdm run formatcheck
If you are using VS Code this will be automatically done on save.
Linting
Linting is provided by flake8
.
$ pdm run lint
Conventional Commits
The project follows the conventional commit style.
Docs
This project uses mkdocs
, mkdocstrings
, mkdocs-material
for its documentation.
$ pdm run fetch_charm
$ pdm run mkdocs serve