Python-tdbus is a simple ("trivial") python interface for D-BUS. It builds directly on top of libdbus and has no other dependencies. Some benefits of python-tdbus with respect to the standard dbus-python [1] Python bindings:
- The code is extremely simple. Python-tdbus is < 2.000 lines of code (C and Python), while dbus-python contains > 15.000 lines of code.
- Event loop integration is not required for sending and receiving signals (if you can afford to block).
- Includes `gevent' [2] event loop integration.
- Event loop integration can be achieved in Python code rather than in C.
- Uses native Python types for method and signal arguments, driven by a simple format string.
- Provides a more "correct" object model (IMHO) where there's separate Dispatcher and Connection objects, instead of putting dispatching functionality into the connection object.
$ python setup.py build # python setup.py install
or using pip
$ pip install python-tdbus
Python-tdbus should work with Python 2.7 and later.
Feel free to add an issue on the Github site for python-tdbus:
https://github.com/hmvp/python-tdbus
See the examples/ directory and "pydoc tdbus".
[1] | http://cgit.freedesktop.org/dbus/dbus-python/ |
[2] | http://www.gevent.org/ |