Status of dbus-python

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Aug 13 11:07:33 PDT 2009


On Thu, 13 Aug 2009 at 19:34:01 +0200, Jean-Christian de Rivaz wrote:
> I am curious to known if a python binding of DBus could be replaced by 
> the GType generic glue for python that provides GObject, since DBus is 
> based on GObject.

No, D-Bus is not based on GObject; libdbus is "plain C", and there are several
D-Bus bindings and implementations that do not use GObject.

QtDBus and the various (unmaintained?) plain-C++ bindings are non-GObject
bindings for libdbus; dbus-java and ndesk-dbus, among others, are complete
reimplementations.

dbus-glib, EggDBus, etc. are GObject bindings for libdbus, which are based on
both GObject and D-Bus.

(dbus-python does usually use a tiny piece of dbus-glib - the libdbus <-> GLib
main loop integration - but that can be replaced by a module provided
by the Qt4 Python bindings, or by any other main loop integration shim
with the same API.)

> I have maybe not understand right the concept, but I 
> was thinking that the dbus-python project was less maintained because 
> GObject will on day render it obsolete. It seem that I was wrong, but I 
> want to verify.

When we eventually have a good GObject D-Bus binding, sure, dbus-python could
be superseded by a binding for it. I don't think dbus-glib is the right
GObject D-Bus binding to be doing that with, though :-)

Making a nice GObject D-Bus implementation based on GVariant currently looks
like the most promising route to me.

    Simon


More information about the dbus mailing list