This is an experimental Emacs package to report code coverage output produced by Python's coverage
package directly inside Emacs buffers.
coverage
's xml output follows the cobertura format, it should work with similar reports from other tools, like C/C++ with gcovr
.
Best used together with python-pytest.el.
Minor mode for automagically updated overlays:
python-coverage-overlay-mode
Alternatively, commands for manually updated overlays:
python-coverage-overlay-refresh
python-coverage-overlay-remove-all
Navigation commands:
python-coverage-overlay-jump-next
python-coverage-overlay-jump-previous
python-coverage-overlay-jump-first
Run flycheck-select-checker
, pick python-coverage
.
This package reads the XML output produced by Python's coverage
package. Usually this file is named coverage.xml
.
With plain `coverage`:
$ coverage xml
With pytest-cov
, pass --cov-report=xml
, e.g. via pyproject.toml
:
[tool.pytest.ini_options]
addopts = [
"--cov=your-package",
"--cov=test",
"--cov-report=xml",
]
Command for manual coverage file selection:
python-coverage-select-coverage-file
Customizable settings (see their description for details) in the python-coverage
group, e.g. via M-x customize-group
:
python-coverage-default-file-name
python-coverage-overlay-width
Styling via custom faces, e.g. via M-x customize-face
:
python-coverage-overlay-missing
python-coverage-overlay-partial
python-coverage-overlay-missing-outdated
python-coverage-overlay-partial-outdated
Note: by default this package inherits from magit-diff-*
faces, which should work in most themes. This requires magit
to be installed, but it's not otherwise used.
This package was created by wouter bolsterlee (@wbolster).
BSD; see LICENSE.rst
.