I’m going over some structural changes to the python bindings and also want to get some documentation going in the tutorial for both that the glib bindings.

Changes happening in next release which may make some people cry:

  • service is being taken out of the main module and placed in dbus.service - some people needed to use the message sending functionality in Python < 2.4 and the decorator stuff in the services module was making their lives difficult. While I don't pretend to be trying to keep compatability with Python versions < 2.4 it was a good idea none the less to break the service stuff out.
  • dbus.service.Service is now renamed to dbus.service.Name to keep in the lingo of D-Bus.
  • The outward facing API for glib integration will be placed in its own module in preperation for allowing other mainloops including a generic one (i.e. no more glib dependancies in the bindings if you don’t want them). Getting the glib mainloop should be as easy as import dbus.glib. I plan on writting a generic mainloop which will become the default. Other mainloop modules (such as qt) should be easy to create.
  • version will be changed to (0.41.0) to reflect the changes

All in all not too much changes will need to be done but it will be a bit of porting pain. Since Fedora Core 4 is the only distro to ship with 0.33 I’m hoping there will not be too many people using the service stuff. Clients on the bus should just need something along these lines:

import dbus
ver = getattr(dbus, 'version', (0, 0, 0))
if ver >= (0, 41, 0):
    import dbus.glib

API changes are a pain but I would rather break now than after 1.0.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]