Jun 1, 2007

Evolution and Conduit Action

The reaction to my previous post was extremely positive, with a lot of interest in the bindings. Ive had a bit more free time and done some more hacking on both the bindings, and integrating evolution support into Conduit. On the first point;

  • evolution-python-0.0.1 is available (download) (API docs) (example)

    • Implements add(), remove(), delete() and update() for ECalComponents into ECal sources

    • Implements convenience setters/getters for ECalComponent summary and descriptions (so you don't need to see the underlying ical types)

    • In short you should now be able to build note taking, todo applications, and addressbook managers on top of evolution data-server using python.

Work on the 0.3.1 bugfix release of Conduit is coming along nicely, it should be out sometime over the weekend. In between fixing bugs however I been able to introduce some new dataproviders, which in turn will open up a heap of new synchronization possibilities.

  • Thanks to new conduit contributor Thomas Van Machelen we now support Smugmug and Picasaweb photo sharing sites.

  • Support for Facebook photos (uploading yours, and downloading your friends) is nearing completion thats to the excellent API complete pyfacebook bindings.

  • By supporting Evolution Memos and TODO items we now support some pretty cool sync combinations;

    • Evolution Memos <--> Backpackit.com and Tomboy Notes

    • Evolution Memos and Contacts <--> iPod

    • gnome-about-me (evolution) <--> Facebook profile

I recognise not all of these sync pathways are immediately useful or new, but they are providing a good test of the framework, checking if the design is correct and providing useful test cases. Its also exciting to think that when network support lands next cycle, direct sync between two computers over the web/LAN will just work, and will support any dataprovider that is available to conduit.

May 30, 2007

Python Bindings for Evolution

In order to add evolution support (contacts, task items and memos) to Conduit I needed to be able to access the relevant parts of evolution-data-server from python. evolution-python is an incomplete wrapper around libebook and libecal. It has now got to the stage of being useful, so here is a somewhat nervous announcement of evolution-python v0.0.0

This should be considered a work in progress and will be changing a lot over the next few days as I implement methods needed for the two way synchronization of evolution data using Conduit. However the basic skeleton is there, and I invite people to help with the bindings. An easy way to access evolution-data-server from python has been missing for a while now so I hope evolution-python will be useful for others.

There are some known issues and items to work on listed on the project website. Here is a small screenshot of the included test application.