The REAL Preferred Python Binding Library

Dave Morgan dbus at 1001111.com
Thu Dec 10 06:15:26 UTC 2020


Hello All,
     Sorry to post before I lurk. but I cannot get any of the 3 
preferred python approaches to D-Bus interactions to work 100%. The 
issues have to with packaging data.

The 3 approaches I am aware of are:
   pydbus:
     - nice interface
     - not maintained
     - communicates easily with gnome apps, the example is from 
org.gnome.Contacts.SearchProvider through 
org.gnome.Shell.SearchProvider2 and works perfectly
         - response = 
bus_conn.GetResultMetas(bus_conn.GetInitialResultSet([self.full_name]))
     - cannot package complex data properly (navit mapping app, D-Bus 
method set_destination, requires a format of  "(iii)s")
   dbus:
     - maintained
     - does not communicate well with gnome apps
         - I cannot get a simple 
bus_conn.GetInitialResultSet([self.full_name])) to work in what should 
be the same environment as above
             - I am aware I build the bus and connection differently 
with dbus
     - packages everything perfectly, read the format spec, write it 
out, it is that easy, other than org.gnome stuff, lol
   Gio, GLib:
     - very well maintained
     - communicates with everything well
     - more complex coding required to implement
     - difficult to package complex data types like "(iii)s"
         - I assume this is due to my personal deficiency of not 
understanding something.
         - I do feel a sense of pride when I have created something so 
complex the interpreter complains that that it is an illegal 
GLib.Variant format

At this point I have a python class which encapsulates 2 of the 3 
versions (dbus and pydus) and use the connection I need in classes that 
use a DBus connection
Which is the preferred python method in 2020? I looked at the perl 
bindings and they appear to be no more mature than the python stuff.
If Gio, GLib is the future then I need help with GLib.Variant

I'm new to python,and it has been 25 years since I have done serious C. 
My head hurts
The objective to do is integrate a Voice Assistant, Kalliope, into a  
Linux OS phone  (www.pine64.org)

TIA
Dave
-- 

Dave Morgan
Senior Consultant, 1001111 Alberta Limited
dave.morgan at 1001111.com
403 399 2442



More information about the dbus mailing list