Python/Harmattan

(New page: == 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 pro...)
 
(45 intermediate revisions not shown)
Line 1: Line 1:
== Introduction  ==
== 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.
+
The [[Harmattan]] Python project provides a Python (v2.6.6) 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  ==
== Getting started  ==
Line 7: Line 8:
The following links provide useful information for '''Python developers''', including information about MeeGo 1.2 Harmattan Security Framework.
The following links provide useful information for '''Python developers''', including information about MeeGo 1.2 Harmattan Security Framework.
-
*[[Getting started with Harmattan Python]]  
+
*[[Python/Harmattan/Getting started with Harmattan Python|Getting started with Harmattan Python]]  
-
*[[Documentation for pyside-assistant]]
+
*[[Python/Harmattan/Documentation for pyside-assistant|Documentation for pyside-assistant]]
*[http://temporaryland.wordpress.com/2011/01/26/python-for-newbies/ Python Tutorial for Newbies]  
*[http://temporaryland.wordpress.com/2011/01/26/python-for-newbies/ Python Tutorial for Newbies]  
*[http://developer.qt.nokia.com/wiki/PySide_Internationalization Tutorial: Python+Qt+I18N]
*[http://developer.qt.nokia.com/wiki/PySide_Internationalization Tutorial: Python+Qt+I18N]
*[http://developer.qt.nokia.com/wiki/PySide_DBus_Integration Tutorial: Python+Qt+DBUS]
*[http://developer.qt.nokia.com/wiki/PySide_DBus_Integration Tutorial: Python+Qt+DBUS]
-
*[[Python 2.6 porting tips]]
+
*[[Python/Harmattan/Python 2.6 porting tips|Python 2.6 porting tips]]
-
*[http://wiki.maemo.org/Performance_Considerations_for_Python_Apps Python and Performance]
+
*[[Python/Harmattan/Performance Considerations for Python Apps|Performance Considerations for Python Apps]]
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.
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.
Line 74: Line 75:
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| -
| -
-
| style="background-color:#EB6155" | NO
+
| style="background-color:#FFC709" | NO (use QtOpenGL)
|-
|-
| OpenGL® ES 1.1
| OpenGL® ES 1.1
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| -
| -
-
| style="background-color:#EB6155" | NO
+
| style="background-color:#FFC709" | NO ([http://thp.io/2011/swipeout/ ctypes-based solution])
|-
|-
| OpenGL® ES 2.0
| OpenGL® ES 2.0
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/categories/Graphics.html Graphics ]
| -
| -
-
| style="background-color:#EB6155" | NO
+
| style="background-color:#FFC709" | NO ([http://thp.io/2011/swipeout/ ctypes-based solution])
|-
|-
| [http://www.pyside.org/docs/pyside/PySide/QtOpenGL/index.html QtOpenGL]
| [http://www.pyside.org/docs/pyside/PySide/QtOpenGL/index.html QtOpenGL]
Line 254: Line 255:
python-storm          python-tralchemy  python-twisted-web    python-twisted-words  
python-storm          python-tralchemy  python-twisted-web    python-twisted-words  
python-xdg            python-numpy      python-beautifulsoup  python-feedparser  
python-xdg            python-numpy      python-beautifulsoup  python-feedparser  
 +
python-pygame        ipython
</nowiki>
</nowiki>
 +
 +
== Community Packages  ==
 +
 +
There are Python packages also available by the community and not included in the Nokia's Harmattan repositories :
 +
 +
*[http://ipython.org/ IPython] (enhanced interactive shell) 0.13.2 and 0.10.2 : see the topics in [http://talk.maemo.org/showthread.php?t=79997 Maemo.org Talk]  and [https://openrepos.net/content/rcolistete/ipython OpenRepos.net]
 +
*[http://code.google.com/p/sympy/ SymPy] (CAS - Computer Algebra System) 0.7.5 : see the topics in [http://talk.maemo.org/showthread.php?t=78568 Maemo.org Talk] and [https://openrepos.net/content/rcolistete/sympy OpenRepos.net]
 +
*[http://matplotlib.sourceforge.net/ MatPlotLib] (2D & 3D plots) 1.3.1 : see the topics in [http://talk.maemo.org/showthread.php?p=1128672 Maemo.org Talk] and [https://openrepos.net/content/rcolistete/matplotlib OpenRepos.net]
 +
*[http://www.numpy.org/ NumPy] (numerical calculations) 1.9.1 : see the topic in [http://talk.maemo.org/showthread.php?p=1322503 Maemo.org Talk] and [https://openrepos.net/content/rcolistete/numpy OpenRepos.net]
 +
*[http://www.scipy.org/ SciPy] (scientific calculations) 0.14.0 : see the topic in [http://talk.maemo.org/showthread.php?t=93940 Maemo.org Talk] and [https://openrepos.net/content/rcolistete/scipy OpenRepos.net]
 +
*[http://packages.python.org/uncertainties/ Uncertainties] (calculations with uncertainties) 2.4.6.1 : see the topic in [http://talk.maemo.org/showthread.php?t=82519 Maemo.org Talk]  and [https://openrepos.net/content/rcolistete/uncertainties OpenRepos.net]
 +
*[http://cython.org/ Cython] (C-Extensions for Python) 0.19.1 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/cython OpenRepos.net]
 +
*[https://pypi.python.org/pypi/decorator Decorator] (simplify usage of Python decorators) 3.4.0 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/python-decorator OpenRepos.net]
 +
*[http://jinja.pocoo.org/ Jinja2] (template engine for Python) 2.7.3 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/jinja2 OpenRepos.net]
 +
*[http://www.pocoo.org/projects/markupsafe/ MarkupSafe] (HTML/XHTML/XML string library for Python) 0.23 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/markupsafe OpenRepos.net]
 +
*[http://www.noah.org/wiki/pexpect Pexpect] (for automating interactive applications) 2.3 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [http://gitorious.org/harmattan-python/pexpect source code from Python Harmattan]
 +
*[http://pychecker.sourceforge.net/ PyChecker] (Python source code checking tool) 0.8.18 :  [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [http://gitorious.org/harmattan-python/pychecker source code from Python Harmattan]
 +
*[http://pyparsing.wikispaces.com/home PyParsing] (create and execute simple grammars) 2.0.3 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/python-pyparsing OpenRepos.net]
 +
*[https://pypi.python.org/pypi/pytz/2012c Pytz] (world timezone definitions) 2012c : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/python-tz OpenRepos.net]
 +
*[http://www.zeromq.org/bindings:python PyZMQ (Python ZMQ)] (Python bindings for ZMQ) 2.2.0 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/python-zmq  OpenRepos.net]
 +
*[https://pypi.python.org/pypi/six/ Six] (Python 2 and 3 compatibility library) 1.8.0 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/python-six OpenRepos.net]
 +
*[http://www.tornadoweb.org/ Tornado] (scalable, non-blocking web server) 2.4.1 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [https://openrepos.net/content/rcolistete/tornado OpenRepos.net]
 +
*[http://twistedmatrix.com/trac/ Twisted] (event-based framework for internet applications) 10.1.0 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [http://gitorious.org/harmattan-python/twisted source code from Python Harmattan]
 +
*[http://docs.zope.org/zopetoolkit/ Zope Interface] (implementation of object interfaces for Python) 3.5.3 : [http://talk.maemo.org/showthread.php?p=1317797 see this Harmattan repository] and [http://gitorious.org/harmattan-python/zope_interface source code from Python Harmattan]
 +
* [http://thp.io/2011/eventfeed/ python-eventfeed] 1.0 : Library to post items to the Harmattan Event Feed screen
 +
 +
See also [https://openrepos.net/search/node/python Python packages in OpenRepos.net].
== Collaborating ==
== Collaborating ==
Line 269: Line 298:
*[http://wiki.maemo.org/PyMaemo PyMaemo]  
*[http://wiki.maemo.org/PyMaemo PyMaemo]  
*[http://www.pyside.org/ PySide]
*[http://www.pyside.org/ PySide]
 +
 +
 +
[[Category:Project]]

Latest revision as of 21:50, 13 November 2014

Contents

[edit] Introduction

The Harmattan Python project provides a Python (v2.6.6) 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.


[edit] 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.

[edit] 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         ipython

[edit] Community Packages

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

See also Python packages in OpenRepos.net.

[edit] 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>

[edit] Relevant Projects