[SailfishDevel] QtMobility and Python bindings

Martin Kolman martin.kolman at gmail.com
Wed Jul 17 19:12:41 UTC 2013


17.7.2013 16:54, Osmo Salomaa:
> Hello friends,
>
> I have taken a look at the Sailfish SDK with the intent of investigating
> prospects of developing applications in Python. I didn't manage to find
> the Python bindings for QtMobility using zypper and the default SDK
> repositories. I also tried to find them for my desktop system running
> Debian unstable, but it seems Debian removed pyside-mobility a year ago
> due to being dead upstream and failing to build from source [1].
>
> So, what's the status of QtMobility and Python? Has someone picked up
> maintainership? Will it be included in a newer version of the Sailfish
> SDK? Is there a development repository where I could find this kind of
> stuff (like extras-devel was at Maemo)?
>
> [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671356
>
The pyside-qtmobility build[1] I have in home:MartinK:nemo project or 
Mer OBS worked last time I've tried it.
By "worked", I mean at least the screen blanking control worked and I 
couldn't really test the rest due to missing support for GPS in Nemo.
If it works for you, I guess the package could be submitted to one of 
the Nemo or Mer repositories.

There is also a possible workaround/dirty-hack for missing 
python-qtmobility bindings - some of the QtMobility APIs are also 
available to QML. It is possible to wrap the API in QML with a custom 
element and then from Python grab this element from the QML context and 
use it. This is how AGTL[2] was using the GPS last time I looked at it's 
source code.

Still there might be some near future hurdles for Sailfish application 
development with Python. Jolla announced a few days ago that the first 
Sailfish running device will be running Wayland and Qt5 only[3][4], 
dropping X11 and with it Qt4 support. This is unfortunately quite an 
issue for Python application development, as there are currently no 
Python bindings supporting Qt5 & QtQuick 1.0 or 2.0[5]. Also, all Python 
applications that were already ported to Sailfish using the current SDK 
won't run in their current form, leading to some wasted effort.

Hopefully, the situation might improve on PyQt get's QtQuick 2.0 support 
(no timeline for that just yet though), but PyQt packaging and PySide -> 
PyQt conversion would still be needed. Also in contrast to the LGPL 
PySide, PyQt is GPL only, which might be an issue to some developers.

In comparison, while there has been some recent activity in the PySide 
project, it has been so far limited to bugfixing and work on Qt5 support 
has not yet been started.


[1] 
https://build.merproject.org/package/show?package=python-qtmobility&project=home%3AMartinK%3Anemo
[2] https://github.com/webhamster/advancedcaching
[3] https://twitter.com/cybette/status/356033983588478976
[4] https://twitter.com/JollaHQ/status/356061760089890816
[5] 
http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html#qtdeclarative-module


More information about the Devel mailing list