dbus-deviation: a project for parsing D-Bus introspection XML and processing it in various ways

dbus-deviation is a project for parsing D-Bus introspection XML and processing it in various ways. Its main tool is dbus-interface-diff, which calculates the difference between two D-Bus APIs for the purpose of checking for API breaks. This functionality is also available as a Python module, dbusdeviation.

A second Python module, dbusapi, is provided for parsing D-Bus introspection XML to produce an AST representing a D-Bus interface.

dbus-deviation is licenced under the LGPLv2.1+.

Versions 0.4.0 and earlier were licenced under the same licence as the D-Bus project: your choice of the Academic Free License version 2.1, or the GPLv2+. For version 0.5.0, the licence was changed to LGPLv2.1+ as it’s a more standard licence with simpler implications.

Download and installation

Tarballs for released versions of dbus-deviation are below. All have been signed with key 4B2EAFA0 (Philip Withnall).

Building and installing follows the standard Python setuptools process:

tar -xzf ./dbus-deviation-$VERSION.tar.gz
cd ./dbus-deviation-$VERSION
./setup.py build
./setup.py --prefix=$PREFIX install


For installation and quick-start information, see the README file.

API documentation is available on pythonhosted, or available here.

Details on all errors produced by dbus-deviation is available here.

Source code and bugs

Git repository

The source code for dbus-deviation is stored in git, which can be viewed online or cloned:

git clone https://github.com/pwithnall/dbus-deviation.git


dbus-deviation uses GitHub’s issue tracking for bugs and enhancement requests.

dbus-deviation has historically used Bugs Everywhere for feature enhancement tracking, so to view all historically open bugs, clone the dbus-deviation git repository and run:

be list

To file a bug without using GitHub, please contact the authors by e-mail.


dbus-deviation is written by Philip Withnall, as part of R&D work by Collabora.

If you have any bug reports, questions, suggestions or criticism of the project, please e-mail me (philip tecnocode co uk).