Skip to main content

Parse D-Bus introspection XML and process it in various ways

Project description

dbus-deviation

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’s API is currently unstable and is likely to change wildly.

Using dbus-deviation

dbus-deviation can be used as a utility program or as a Python library.

The utility programs:
  • dbus-interface-diff:

    Check for differences between two versions of the same D-Bus API and print details of each difference. It can check for problems with forwards and backwards compatibility, as well as general informational differences.

    Example:
    dbus-interface-diff

    com.example.Interface1.xml # old version of the interface com.example.Interface2.xml # new version of the interface

As a library, the core object is an InterfaceParser, allowing a D-Bus API to be parsed and represented as an AST. See the API documentation for more explanation and examples.

Dependencies

  • argparse

  • xml.etree

Licensing

dbus-deviation is licensed under the choice of the Academic Free License version 2.1, or the GNU General Public License version 2 (or, at your option, any later version). This is the same license as D-Bus itself. See COPYING for more details.

Bugs

Bug reports and (git formatted) patches should be e-mailed to one of the addresses listed in the ‘Contact’ section below. Thank you!

Contact

Philip Withnall <philip.withnall@collabora.co.uk> http://people.collabora.com/~pwith/dbus-deviation/

Initial release of dbus-deviation 0.1.0

Major changes:
  • Initial version of the project

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page