Python/Harmattan

Contents

Introduction

The Harmattan Python project provides a Python runtime environment for Nokia's N9 phone and the N950 developer device built on the MeeGo 1.2 Harmattan platform. It provides a full-featured set of packages and tools to rapidly develop and run Python applications using the PySide: Python for Qt bindings together with the Qt Quick UI definition language. Applications can be deployed as individual Debian packages, using the community OBS, or eventually, via Ovi Store.

Getting started

The following links provide useful information for Python developers, including information about MeeGo 1.2 Harmattan Security Framework.

If you are interested just in installing applications that depend on Python you can get a lot of them using the repositories listed here. All depending packages will be automatically installed.

API Bindings

The Harmattan Python project tries to cover as many APIs as possible. Nowadays there are bindings for the green marked modules:

API name Framework Belongs to Python Bindings
Qt Quick components Application Qt NO (this is used on QML side)
QtDeclarative (Qt Quick) Application Qt YES
QtGui Application Qt YES
QtUiTools Application Qt YES
QtDBus Communications Qt NO (use python-dbus)
QtMessaging Communications Qt Mobility YES
QtNetwork Communications Qt YES
WebKit in Qt Communications Qt YES
EGL Graphics - NO (use QtOpenGL)
OpenGL® ES 1.1 Graphics - NO (ctypes-based solution)
OpenGL® ES 2.0 Graphics - NO (ctypes-based solution)
QtOpenGL Graphics Qt YES
QtLocation Location Qt Mobility YES
GStreamer Multimedia - YES
PulseAudio Multimedia - NO
QtMultimediaKit Multimedia Qt Mobility YES
Accounts-Qt Personal Information Management - NO
SignOn Personal Information Management - NO
QtContacts Personal Information Management Qt Mobility YES
QtGallery Personal Information Management Qt Mobility YES
QtOrganizer Personal Information Management Qt Mobility YES
QtVersit Personal Information Management Qt Mobility YES
EGLIBC System - NO
QmSystem System - NO
QtCore System Qt YES
QtFeedback System Qt Mobility YES
QtPublishSubscribe System Qt Mobility YES
QtScript System Qt YES
QtScriptTools System Qt YES
QtSensors System Qt Mobility YES
QtServiceFramework System Qt Mobility YES
QtSparql System - YES
QtSql System Qt YES
QtSystemInfo System Qt YES
QtTest System Qt YES
QtXml System Qt YES
QtXmlPatterns System Qt YES
Ovi Nokia Analytics API Nokia - NO
Ovi Notification Engine Nokia - NO
Qt Games API Nokia - NO
Resource Policy Nokia - NO
Transfer UI Nokia - NO


In addition to the listed APIs above (provided by python-dbus, python-pyside, python-qtmobility, python-qtsparql) there are lots of packages:

python-cairo          python-chardet    python-conic          python-content.action
python-context        python-crypto     python-dateutil       python-gconf
python-gi             python-gobject    python-imaging        python-libxml2 
python-lxml           python-magic      python-markupsafe     python-openssl   
python-pkg-resources  python-pycurl     python-pygments       python-roman     
python-storm          python-tralchemy  python-twisted-web    python-twisted-words 
python-xdg            python-numpy      python-beautifulsoup  python-feedparser 
python-pygame

Community Packages

There are Python packages also available by the community and not included in the Nokia's Harmattan repositories :

- IPython (enhanced interactive shell): see the topics in MeeGo Forum and Maemo.org Talk; - SymPy (CAS - Computer Algebra System) : see the topics in MeeGo Forum and Maemo.org Talk; - MatPlotLib (2D & 3D plots) : see the topics in MeeGo Forum and [ http://talk.maemo.org/showthread.php?p=1128672 Maemo.org Talk];

Collaborating

You can contact us using:

  • IRC: /join #meego-python on irc.freenode.net
  • Mailing list: meego-python@lists.meego.com (Info page, Archives)

Nokia contact person: Matti Airas <matti.p.airas@nokia.com>

Relevant Projects