We welcome contributions via GitHub pull requests:
Prepare a developer environment. Then, from the blessed code folder:
pip install --editable .
Any changes made in this project folder are then made available to the python interpreter as the ‘blessed’ package regardless of the current working directory.
Install and run tox
pip install --upgrade tox tox
Py.test is used as the test runner, supporting positional arguments, you may for example use looponfailing with python 3.5, stopping at the first failing test case, and looping (retrying) after a filesystem save is detected:
tox -epy35 -- -fx
When you contribute a new feature, make sure it is covered by tests.
Likewise, a bug fix should include a test demonstrating the bug. Blessed has
nearly 100% line coverage, with roughly 1/2 of the codebase in the form of
tests, which are further combined by a matrix of varying
providing plenty of existing test cases to augment or duplicate in your
Style and Static Analysis¶
The test runner (
tox) ensures all code and documentation complies
with standard python style guides, pep8 and pep257, as well as various
static analysis tools through the sa target, invoked using:
All standards enforced by the underlying style checker tools are adhered to,
with the declarative exception of those found in landscape.yml, or inline
pylint: disable= directives.