From 09ca5de0f38d3cc30b8d149b2a8c9f0ad810a09a Mon Sep 17 00:00:00 2001 From: Simon McVittie <simon.mcvittie@collabora.co.uk> Date: Tue, 24 Jan 2012 16:21:15 +0000 Subject: [PATCH] Describe problems, alternatives --- README | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README b/README index 479d48f5..7c1c49d1 100644 --- a/README +++ b/README @@ -32,3 +32,27 @@ To develop on dbus-python, see `doc/HACKING.txt`__ or the `HTML version`__. __ doc/HACKING.txt __ doc/HACKING.html + +Problems and alternatives +========================= + +dbus-python might not be the best D-Bus binding for you to use. dbus-python +does not follow the principle of "In the face of ambiguity, refuse the +temptation to guess", and can't be changed to not do so without seriously +breaking compatibility. + +In addition, it uses libdbus (which has known problems with multi-threaded +use) and attempts to be main-loop-agnostic (which means you have to select +a suitable main loop for your application). + +Alternative ways to get your Python code onto D-Bus include: + +* GDBus, part of the GIO module of `GLib`_, via GObject-Introspection and + `PyGI`_ (uses the GLib main loop and object model) + +* QtDBus, part of `Qt`_, via `PyQt`_ (uses the Qt main loop and object model) + +.. _GLib: http://developer.gnome.org/glib/ +.. _PyGI: https://live.gnome.org/PyGObject +.. _Qt: https://qt.nokia.com/ +.. _PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro -- GitLab