Contributing to Conversations
Contributions are immensely appreciated and welcomed.
Development Process
Standards
To ensure effecient collaborative development, a variety of standards are utilised in this project.
- Semantic Versioning is used.
- Python Semantic Releases is used to automate change log generation and releases.
- Conventional Commits are utilised and validated using the wagoid/commitlint-github-action github action, which itself uses commitlint
- Conventional Commmits are also utilised for pull request titles and enforced using amannn/action-semantic-pull-request.
- Black code formatter is used.
- Actions Black is used to format code in PRs.
- Numpy style documentation strings are used.
- Pydocstyle is used to ensure documentation strings adhere to the standard.
- Type hinting is used.
- And checked using mypy.
- Spelling is enforced using codespell.
Website
- The website and documentation is generated by mkdocs with the mkdocsstrings extension and material theme.
Running Tests Locally
- Ensure you have hatch installed:
pip install --upgrade hatch
- To run tests locally, execute:
hatch run cov
- If you have modified the environment
- List the environments using
hatch env show --ascii
- To remove all environments and start fresh
hatch env prune
Troubleshooting
- On a Mac, you may need to brew install xv and ffmpeg.