This page lists the language bindings for D-Bus, their status and, if appropriate, links to download them.
Cross-language (with bindings to multiple languages)
GDBus (part of GLib 2.26+)
QtDBus (part of Qt)
Eldbus (part of Enlightenment's EFL)
pydbus is a modern, pythonic D-Bus library built on top of PyGI and GDBus.
- Github: https://github.com/LEW21/pydbus
GDBus, the D-Bus implementation in GLib, can be used from Python 2 or 3 via PyGI.
QtDBus, the D-Bus implementation in Qt, can be used from Python 2 or 3 via recent versions of.
txdbus is a native Python implementation of the D-Bus protocol for the Twisted networking framework.
ruby-dbus is the most popular Ruby D-Bus library.
- Github: https://github.com/diwic/dbus-rs
- Github: https://github.com/mspanc/dbux
- Github: https://github.com/diml/obus
- Website: https://www.codelabs.ch/dbus-ada/
- Git repository
- Packages are available in Debian (>= Wheezy) and Ubuntu (>= Quantal Quetzal)
FreePascal dbus package
FreePascal has dbus package included.
- Documentation: http://wiki.freepascal.org/FPC_and_DBus
Gambas has gb.dbus package included.
- Documentation: http://gambaswiki.org/wiki/doc/dbus
Since version 2.0 it has been a complete native implementation of the protocol and not a wrapper around the reference implementation. 1.x versions are feature-complete bindings around the reference implementation.
Java D-Bus is hosted in freedesktop.org's git repository.
The current release is dbus-java-2.7.tar.gz. (2009-12-06)
The last release binding the reference implementation is libdbus-java-1.13.tar.gz. (2006-12-26)
Documentation and API reference for the Java implementation of D-Bus is here.
The Maintainer is Matthew Johnson < firstname.lastname@example.org >
DBus-GLib (obsolete, unmaintained)
New GLib applications should use GDBus. See above.
DBus-GLib pretends to be thread-safe but is not. The object model is rubbish and is implemented much better in GDBus (above). The code is not maintained. Do not use it.
- API documentation
- Git repo
- Bugs are tracked in the freedesktop.org bugzilla: search for dbus-glib bugs or file a dbus-glib bug
- Training material for Glib wrappers from maemo
dbus-python (based on DBus-GLib)
New applications should use pydbus, txdbus or GDBus/QtDBus bindings. See above.
dbus-python is a binding for libdbus, the reference implementation of D-Bus. For compatibility reasons, its API involves a lot of type-guessing (despite "explicit is better than implicit" and "resist the temptation to guess").