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
.