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.
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.
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).