virtool-core
Core utilities for Virtool and associated packages.
Contributing
Commits
All commits must follow the Conventional Commits specification.
These standardized commit messages are used to automatically publish releases using semantic-release
after commits are merged to main
from successful PRs.
Example
feat: add API support for assigning labels to existing samples
Descriptive bodies and footers are required where necessary to describe the impact of the commit. Use bullets where appropriate.
Additional Requirements
- Write in the imperative. For example, "fix bug", not "fixed bug" or "fixes bug".
- Don't refer to issues or code reviews. For example, don't write something like this: "make style changes requested in review". Instead, "update styles to improve accessibility".
- Commits are not your personal journal. For example, don't write something like this: "got server running again" or "oops. fixed my code smell".
From Tim Pope: A Note About Git Commit Messages
Tests
-
Install Tox
tox
is used to run the tests in a fresh virtual environment with all of the test dependencies. To install it use;pip install tox tox-poetry
-
Run Tests
tox
Any arguments given to tox after a --
token will be supplied to pytest:
tox -- --log-cli-level=DEBUG
Documentation
For docstrings, use the Sphinx docstring format.
Build the documentation with:
cd sphinx && make html
The rendered HTML files are found under sphinx/build/html