Revision as of 05:10, 24 May 2012 by hamishwillee (Talk | contribs)


From Nokia Developer Wiki
Jump to: navigation, search

Featured-article.pngFeatured Articles

This page presents all the articles about Python on Symbian - i.e. that include the category PySymbian.

Note.pngNote: Developing apps with Python on Symbian platform may be useful for research, prototyping and study purposes. However, please note that the distribution of Python apps is not supported through the Nokia Store. If you wish to develop an app and publish it on Nokia store, please use other supported technologies like Qt, Java ME, etc.

There is a lot of information on the wiki - if you're just getting started with Python a good first reference is the Python on Symbian book hosted on this wiki. It takes you through from installing Python, the language basics through to advanced topics like networking, multimedia and using device sensors.

We currently have 1 PySymbian articles in this Wiki.

Recently edited


Most viewed

None More...

Python Articles in Other Languages


Python on Symbian is Nokia's port of the Python language to the Symbian smartphone platform. In addition to the standard features of the Python language, PySymbian provides access to many of the smartphone's functions, such as camera, contacts, calendar, audio recording and playing, TCP/IP and Bluetooth communications and simple telephony.

Python for Symbian is Nokia Open Source, under Apache 2 and Python licenses. You can download the source for the latest release from Maemo Garage. Moreover, the previous stable release can be downloaded from Sourceforge

Latest News

11 February 2010: Python for Symbian 2.0.0 has been officially released.

New Features Added in PySymbian 2.0.0 are:

  • Repeat support in 4-way directional pad
  • Lot of memory leaks in the interpreter code is fixed.
  • appuifw.app.track_allocations can be set if the interpreter should track all memory allocations and then free the memory which was not explicitly released before application exit. To debug memory leaks in 3rd party extension modules set the value to false.
  • All the Pyds that have zero UID will be assigned with the applications UID at the time of packaging. As a result, Python applications can now be symbian signed. This opens the door for submitting Python applications to OVI Store.
  • PDF documentation is available in the installer/archive.
  • API cleanup in the SensorFW module.
  • Python Runtime and application sis can be on different drives. The limitation of both should be installed on the same drive is eliminated.
  • Touch support added for GLCanvas UI Control
  • 4-way directional pad support in landscape mode
  • Different flavors of Scriptshell application can coexist on the device.
  • On the below mentioned devices Python runtime and its dependencies will be installed automatically when the Python applications is started:

6220 classic, N86 8 MP, N85, 6720 classic, 6730 classic, N96, 5730 XpressMusic, N78, 5630 XpressMusic, E52, E55, 6710 Navigator, E75, N79, 5800 XpressMusic, 5530 XpressMusic, 5230, X6 and N97 mini

3 December 2008: Python for Symbian 1.4.5 has been officially released.

New Features Added in PySymbian 1.4.5 are:

  • Added the possibility to run Python code in threads that weren't started by Python itself, by adding the functions InitializeForeignThread() and FinalizeForeignThread() to the CSPyInterpreter class. For details see the section "Python/C API Extensions" of the API Reference.
  • Added timeout support to globalui module.
  • The positioning module has been made safe to use from several threads.
  • Support for the "description" field has been added to the calendar module.

3 June 2008: Nokia Developer Publishes an eLearning module for Python for Symbian


See [Python on Symbian/01. Introduction] which explains what packages to get, how to push scripts to the phone, using the emulator, using the Bluetooth console etc.


See Python on Symbian applications. Also, grabbing the package source is useful, as there are some interesting sample applications embedded in the source tree. If you are a novice trying to figure out how to write your first program on a mobile phone then Python on Symbian provides an excellent introduction.

Creating Stand-alone Applications

Python has all the advantages of an interpreted language, but you can create standalone applications for Symbian. Here are some links.


Python on Symbian online book: Python on Symbian.

API reference documentation is available in the SDK, which you can download from here.

Extension modules

Python for Symbian supports most of the standard Python modules for the version on which it is based (2.5.1 in the case PySymbian 1.9.0 and later). These modules and some others (changed to adapt them to Python for Symbian) are written in pure Python code.

Python for Symbian supports the Python/C API so you can create your own dynamically loadable extension modules (.PYD's) to extend the functionality of the interpreter. See Creating PySymbian 2.0 Extensions (Easy Approach) and Creating C Python extensions using Carbide.c++.

A list of native extension modules is available here.

Compiling PySymbian

The sources for PySymbian are available on Maemo garage. There is no good documentation on how to compile PySymbian from source.

Getting help

The Python for Symbian discussion board at Nokia Developer is THE place for chatting about PySymbian related matters. The archives of the board may already contain the answer you are looking for. Try the search function before asking and you may save lots of time.

Tutorials & Books


Learn about Python, the open source programming language optimized for rapid application prototyping. It is an object-oriented scripting language that is easy to learn and use and supported on many platforms. This module gives students an idea of where and how the language can be used, and show how to write Python programs that run on Symbian. The module assumes some familiarity with object-oriented programming languages.

A package containing a handy Python Workbook that describes the most important features in a simple yet complete way and sample scripts.


Code Examples for Python

    Other platforms

    Other than Python for Symbian there are three more or less advanced Python versions for UIQ:

    • Python for UIQ
      A very old version for UIQ based on Python 2.3.3 The console version already builds for other devices, including Series 90, Series 80 and S60 first Edition.
    • Python for UIQ 2.1 and 3.0
      This is Python for UIQ 2.1 and UIQ 3 v0.1 (hereafter PyUIQ). This preliminary port is based on Python for Symbian (hereafter PySymbian) port created by Nokia which is based on Python 2.2.2.
    • Jython for UIQ
      It's Python over PersonalJava.

    PySymbian FAQS

    The PySymbian FAQS will be listed here but you can edit or add others there in the wiki.

    Known Issues for Python

    Tips & Tricks for PySymbian

    Video Demos

    Pages in category "PySymbian"

    The following 200 pages are in this category, out of 427 total.




    C cont.






    H cont.

    Media in category "PySymbian"

    The following 200 files are in this category, out of 371 total.

    460 page views in the last 30 days.

    Was this page helpful?

    Your feedback about this content is important. Let us know what you think.


    Thank you!

    We appreciate your feedback.