D Bus Bindings for Python - ukBaz/python-bluezero GitHub Wiki
As Bluezero uses the D-Bus API from Bluez, then which Python D-Bus bindings to use is a key element. This list is not in any particular order. It is here just to track what is around as possible alternatives.
| Library | URL | Notes |
|---|---|---|
| dbus-python | https://dbus.freedesktop.org/doc/dbus-python/ | The reference implementation but event they question if it is the right library for people to use |
| GDBus | https://developer.gnome.org/gio/stable/gdbus-convenience.html | Is probably on your linux system already. uses the GLib main loop and object model |
| pydbus | https://pypi.org/project/pydbus/ | Nicely pythonic for client application. Slightly clunky when needing to publish to the system bus such as BlueZ advertisements or GATT server |
| DBussy | https://github.com/ldo/dbussy | Uses Python own “asyncio” event-loop architecture |
| python-dbus-next | https://github.com/altdesktop/python-dbus-next | Zero dependencies and pure Python 3. Support for multiple IO backends including asyncio and the GLib main loop |
| Tx DBus | https://github.com/cocagne/txdbus | Tx DBus is a native-python implementation of the DBus protocol on top of the Twisted networking engine |
| python-adbus | https://github.com/ccxtechnologies/adbus | D-Bus Binding for Python utilizing the Python's asyncio module. |