OpenSync is a plugin-based application that basically provides a framework for syncing groups which can have two or more members. These members could be just about any kind of database, where a plugin is available. OpenSync is not only limited to sync PIM data. This requires sqlite, and you will also need swig if you want to build the python-bindings. Both are available from SlackBuilds.org