But let us instead celebrate gobject-introspection.
While there has been no official announcement, I think it’s probably time we declared telepathy-python to have passed away. Deprecated. In the great attic of the sky.
The python-telepathy client-side bindings have been in a state of disrepair for a long time now, not able to do the heavy lifting that other bindings such as tp-glib and tp-qt4 have been focusing on.
telepathy-butterfly is not really maintained, isn’t supported properly by empathy master, and is looking to be replaced in the future by the MSN Live XMPP support. In the meantime bug #663829 migrates existing butterfly accounts to telepathy-haze. I’m not sure about telepathy-sunshine, but I suspect it also won’t work with the latest Empathy.
Through work I started, and a bunch of other people have continued, telepathy-glib client-side bindings have been growing increasingly more introspectable as time passes. This is now used by gnome-shell, and it works pretty well.
Since someone asked today, here’s how you set your global presence in Python:
<br /> from gi.repository import TelepathyGLib as Tp<br /> from gi.repository import GObject</p> <p>loop = GObject.MainLoop()<br /> am = Tp.AccountManager.dup()<br /> am.prepare_async(None, lambda *args: loop.quit(), None)<br /> loop.run()</p> <p>am.set_all_requested_presences(Tp.ConnectionPresenceType.AVAILABLE,<br /> 'available', 'Set by script')<br />
Unfortunately we can’t introspect the service-side bindings, they do some things that are very creative and clever, but that gobject-introspection just doesn’t understand. Which means you can’t write a CM using PyGObject yet. The solution, I think, is likely to come with a future, GVariant-based telepathy-glib, but I’m still trying to figure out how we can make things (like mixins) work in a way that g-i can understand.