spec: libxml2 is no longer required
[platform/upstream/dbus-python.git] / README
1 =======================================
2 dbus-python_: Python bindings for D-Bus
3 =======================================
4
5 .. _dbus-python: http://www.freedesktop.org/wiki/Software/DBusBindings#python
6
7 Usage
8 =====
9
10 Online documentation can be found at
11 <http://dbus.freedesktop.org/doc/dbus-python/>.
12
13 There is an incomplete tutorial in `doc/tutorial.txt`__
14 (if you compile dbus-python with `docutils`_' ``rst2html`` tool installed or
15 you're reading this document on the D-Bus website, there's also an
16 `HTML version`__).
17
18 __ doc/tutorial.txt
19 __ doc/tutorial.html
20
21 `API documentation`_ is generated if you compile dbus-python with `epydoc`_
22 version 3 and `docutils`_ installed. An `online copy of the API documentation`_
23 is also available.
24
25 .. _API documentation: api/index.html
26 .. _epydoc: http://epydoc.sourceforge.net/
27 .. _docutils: http://docutils.sourceforge.net/
28 .. _online copy of the API documentation:
29    http://dbus.freedesktop.org/doc/dbus-python/api/
30
31 To develop on dbus-python, see `doc/HACKING.txt`__ or the `HTML version`__.
32
33 __ doc/HACKING.txt
34 __ doc/HACKING.html
35
36 Problems and alternatives
37 =========================
38
39 dbus-python might not be the best D-Bus binding for you to use. dbus-python
40 does not follow the principle of "In the face of ambiguity, refuse the
41 temptation to guess", and can't be changed to not do so without seriously
42 breaking compatibility.
43
44 In addition, it uses libdbus (which has known problems with multi-threaded
45 use) and attempts to be main-loop-agnostic (which means you have to select
46 a suitable main loop for your application).
47
48 Alternative ways to get your Python code onto D-Bus include:
49
50 * GDBus, part of the GIO module of `GLib`_, via GObject-Introspection and
51   `PyGI`_ (uses the GLib main loop and object model)
52
53 * QtDBus, part of `Qt`_, via `PyQt`_ (uses the Qt main loop and object model)
54
55 .. _GLib: http://developer.gnome.org/glib/
56 .. _PyGI: https://live.gnome.org/PyGObject
57 .. _Qt: https://qt.nokia.com/
58 .. _PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro