# dbus-python: Python bindings for D-Bus

dbus-python is a Python binding for `dbus`, the reference implementation of the D-Bus protocol.

## 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)

## Documentation

Contents:

- dbus-python tutorial
  - Connecting to the Bus
  - Making method calls
  - Making asynchronous method calls
  - Receiving signals
  - Claiming a bus name
  - Exporting objects
  - License for this document
- dbus package API reference
  - Submodules
  - Deprecated submodules
  - Module contents
- Porting to Python 3
  - User visible changes
  - Bytes vs. Strings
  - Ints vs. Longs
  - Macros
  - PyCapsule vs. PyCObject
  - Python level compatibility
  - Miscellaneous
  - Open issues
- Release history
  - dbus Python Bindings 1.4.0 (2025-03-13)
  - dbus Python Bindings 1.3.2 (2022-09-06)
  - dbus Python Bindings 1.3.0 (2022-09-06)
  - dbus Python Bindings 1.2.18 (2021-07-20)
  - dbus Python Bindings 1.2.16 (2020-01-14)
  - dbus Python Bindings 1.2.14 (2019-11-25)
  - dbus Python Bindings 1.2.12 (2019-09-12)
  - D-Bus Python Bindings 1.2.10 (2019-09-02)
  - D-Bus Python Bindings 1.2.8 (2018-05-04)
  - D-Bus Python Bindings 1.2.6 (2018-01-29)
  - D-Bus Python Bindings 1.2.4 (2016-03-06)
  - D-Bus Python Bindings 1.2.2 (2016-02-22)
  - D-Bus Python Bindings 1.2.0 (2013-05-07)
  - D-Bus Python Bindings 1.1.1 (2012-06-25)
  - D-Bus Python Bindings 1.1.0 (2012-05-09)
  - D-Bus Python Bindings 1.0.0 (2012-01-24)
  - D-Bus Python Bindings 0.84.0 (2011-05-25)
  - D-Bus Python Bindings 0.83.2 (2010-12-02)
  - D-Bus Python Bindings 0.83.1 (2010-02-18)
  - D-Bus Python Bindings 0.83.0 (2008-07-23)
  - D-Bus Python Bindings 0.82.4 (2007-12-10)
  - D-Bus Python Bindings 0.82.3 (2007-09-27)
  - D-Bus Python Bindings 0.82.2 (2007-08-01)
  - D-Bus Python Bindings 0.82.1 (2007-07-11)
  - D-Bus Python Bindings 0.82.0 (2007-06-19)
  - D-Bus Python Bindings 0.81.1 (4 June 2007)
  - D-Bus Python Bindings 0.81.0 (9 May 2007)
  - D-Bus Python Bindings 0.80.2 (13 February 2007)
  - D-Bus Python Bindings 0.80.1 (24 January 2007)
  - D-Bus Python Bindings 0.80.0 (24 January 2007)
  - D-Bus Python Bindings 0.71 (24 July 2006)
  - D-Bus Python Bindings 0.70 (17 July 2006)
- API changes in dbus-python 0.80
  - Type changes
  - Calling conventions
  - `dbus_bindings`
  - Main loops

## Contributing to dbus-python

Please see the Gitlab project.

## Indices and tables

- Index

- Module Index

- Search Page