This page presents all the articles about Python on Symbian - i.e. that include the category PySymbian.
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.
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
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 Nokia Open Source and 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 click "novice how to".
Creating Standalone Applications
Python has all the advantages of an interpreted language, but you can create standalone applications for Symbian. Here are some links.
- Guide for creating a standalone application in S60 2rd edition
- Creating standalone application in 3rd edition
- More links to creating a standalone app
Python on Symbian online book: Python on Symbian.
Python for Symbian supports most of the standard Python 2.2 (or 2.5.1 in the case PySymbian 1.9.0) modules. These modules and some others (changed to adapt them to Python for Symbian) are written in pure Python code.
For a list of adapted python modules that are available see: Nokia Open Source.
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.
So you want to "roll your own" PySymbian interpreter from source? Check out Compiling PySymbian.
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.
For more informal discussions, try the Python on Symbian IRC channel.
Tutorials & Books
- Python on Symbian platform eLearning.
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.
- To get started with Python, read the Python 2.2.2 (PySymbian core) tutorial and library reference
- Visit Croozeus.com for a large selection of guides and code examples that allow both beginners and experts to take advantage of the power of PySymbian. Also look for Pys60 Talks and PySymbian Featured Applications sections on the site. Read the PySymbian Community Blog to know the latest happenings in the world of PyS60.
- To Develop rapid mobile applications using PySymbian visit mobapps which contains some good code examples and you can get a good knowledge of syntax used in python.
- This "easy to learn" tutorial by mobilenin gives you a smooth start into learning to program in PySymbian - even without any prior knowledge of Python on Symbian.
- A description with examples of the most basic Python and PySymbian features, for beginners: Basic Python Elements
- "Dive into Python" is an excellent book about Python programming.
- "A Byte of Python" a novice in python needs to check go through basics, available in this book.
- Mobile Python: Rapid prototyping of applications on the mobile platform
- Python Pocket Reference is very useful, when you know what to do, but can't quite recall how to do it.
Code Examples for Python
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.
Known Issues for Python
Tips & Tricks for PySymbian
- See what art & design students do with PyS60 (length 15min.)
Pages in category "PySymbian"
The following 200 pages are in this category, out of 427 total.
Media in category "PySymbian"
The following 200 files are in this category, out of 371 total.
- Api ref.zip
- Appli struct.jpg
- Canvas fonts.jpg
- Commands for compiling...
- Con2text 1.jpg
- Con2text 2.jpg
- FN logo.gif
- Key 2.JPG
- Key 2.jpg
- Key up.jpg
- MWS SkeletonApp.zip
- Phoneip 1.jpg
- Py XT Creator.zip
- Python IDLE.JPG
- Python logo.png
- Python stopwatch.JPG
- PythonOnSymbian Applic...
- PythonOnSymbian Calend...
- PythonOnSymbian Figure...
- PythonOnSymbian Illust...
- PythonOnSymbian Landma...
- PythonOnSymbian Locati...
- PythonOnSymbian mba em...
- PythonOnSymbian Platfo...
- PythonOnSymbian PlatSe...
- PythonOnSymbian PlatSe...
- PythonOnSymbian PlatSe...
- PythonOnSymbian PyS60 ...
- PythonOnSymbian Sensor...