bugjar logo


A GUI tool for visualizing code coverage results. Part of the BeeWare suite.

View the Project on GitHub pybee/duvet


Part of the BeeWare logoBeeWare suite.

Duvet is a GUI tool for visualizing code coverage results produced by coverage.py.

Why the name Duvet? Because a duvet doesn't just provide coverage - it keeps you warm and cozy.


In your virtualenv, install Duvet, generate some coverage data, and then run duvet:

$ pip install duvet
$ coverage run myscript.py arg1 arg2
$ duvet

This will pop up a GUI window: Screenshot of Duvet GUI after running a test suite. This window displays all source code in your current working directory. Any source file mentioned in the coverage data will be highlighted in the source file tree, with a color indicating how good the coverage is (red for bad coverage, green for perfect coverage). If you select a filename in the tree, the contents of that file will be displayed, with the missed lines highlighted.

Problems under Ubuntu

Ubuntu's packaging of Python omits the idlelib library from it's base packge. If you're using Python 2.7 on Ubuntu 13.04, you can install idlelib by running:

$ sudo apt-get install idle-python2.7

For other versions of Python and Ubuntu, you'll need to adjust this as appropriate.

Problems under Windows

If you're running Duvet in a virtualenv under Windows, you'll need to set an environment variable so that Duvet can find the TCL graphics library:

$ set TCL_LIBRARY=c:\Python27\tcl\tcl8.5

You'll need to adjust the exact path to reflect your local Python install. You may find it helpful to put this line in the ``activate.bat`` script for your virtual environment so that it is automatically set whenever the virtualenv is activated.


Documentation for Duvet can be found on Read The Docs.


Duvet is part of the BeeWare suite. You can talk to the community through:


If you experience problems with Duvet, you can log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.