You Are Here:

Community: Wiki

 

Category:Python

From Forum Nokia Wiki

Featured Python Articles                                     Image:Approved-article.gif

more...

This page presents all the articles in the Forum Nokia Wiki that include the category Python. If new to this technology, besides some basic information presented here, check also the Python for S60 Technology Landing Page in Forum Nokia.




We currently have 321 Python articles in this Wiki.

Recently Edited Python Articles

More...

 

Most Viewed Python Articles

More...

Python Articles in Other Languages

       

Overview

Python for S60 is Nokia's port of the Python language to the S60 smartphone platform. In addition to the standard features of the Python language, PyS60 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.

Other than Python for S60 there are three more or less advanced Python versions 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.

This is Python for UIQ 2.1 and UIQ 3 v0.1 (hereafter PyUIQ). This preliminary port is based on Python for S60 (hereafter PyS60) port created by Nokia which is based on Python 2.2.2.

It's Python over PersonalJava.

Python for S60 is 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

5 August 2009: Python for S60 1.9.7 has been officially released.

New Features Added in PyS60 1.9.7 are:

  • Touch support is added for GLCanvas UI Control. Directional pad is displayed by default on touch enabled devices. A sample application - gles_touch_demo.py is added to ScriptShell which demonstrates the functionality.
  • Two new APIs are added to canvas - begin_redraw and end_redraw. These can be used to instruct the window server to enable redraw drawing on the canvas UI control.
  • The multi-selection listbox has been modified such that the dialog for the option 'checkmark' now has 'Options' and 'Back' as its left and right softkeys respectively. The 'Options' has Mark/Unmark entry that can be used to select and de-select respectively. The 'Back' softkey returns the current state of the listbox based on the selected items.
  • 4-way directional pad support in landscape mode
  • Different flavors of Scriptshell application can coexist on the device.
  • PyS60 document is available online on maemo.garage[1]
  • All the developer modules are now part of runtime package. This means that in future, if there are any fixes to these modules then, those fixes will be delivered through runtime package alone.
  • Many defects are fixed with this release. Refer release notes for more details.


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

New Features Added in PyS60 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: Forum Nokia Publishes an eLearning module for Python for S60

Installation

See Installing PyS60. Which package to get, how to push scripts to the phone, using the emulator, using the Bluetooth console etc.

Applications

See Python S60 applications and Python S60 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 the S60 platform. Here are some links.

Documentation

See Python S60 documentation.

Extension modules

Python for S60 supports most of the standard Python 2.2 (or 2.5.1 in the case PyS60 1.9.0) modules. These modules and some others (changed to adapt them to Python for S60) are written in pure Python code.

For a list of adapted python modules that are available see: PyS60 Python modules.

Python for S60 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 How to create PyS60 extension modules.

A list of native extension modules is available here:


Compiling PyS60

So you want to "roll your own" PyS60 interpreter from source? Check out Compiling PyS60.

Getting help

The Python for S60 discussion board at Forum Nokia is THE place for chatting about Python for S60 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 S60 IRC channel.

Tutorials & Books

Tutorials

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 the S60 platform. 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 Develop rapid mobile applications using PyS60 visit mobapps which contains some good code examples and you can get a good knowledge of syntax used in python.



  • A description with examples of the most basic Python and PyS60 features, for beginners: Basic Python Elements


Books

  • "Dive into Python" is an excellent free book about Python programming. Available in different languages (English, Italian, French, Spanish, Chinese, Korean, Russian) and formats, it also includes source codes!


  • "A Byte of Python" a novice in python needs to check go through basics, available in this book.




Code Examples for Python


Pys60 FAQS

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

Known Issues for Python

Tips & Tricks for Python


Video Demos

  • Comments by people who use PyS60 (length: 4 min.)

(*.AVI 115 MB) (Flash 8) (*.MOV 255 MB)

  • See what art & design students do with PyS60 (length 15min.)

(*.AVI 184 MB) (Flash 8) (*.MOV 255 MB)

  • See what technical students do with PyS60 (length 12min.)

(*.AVI 115 MB) (Flash 8) (*.MOV 145 MB)

(previous 200) (next 200)

Pages in category "Python"

The following 198 pages are in this category, out of 323 total.

A

B

C

D

E

F

G

H

H cont.

H cont.

Media in category "Python"

The following 2 files are in this category, out of 166 total.

(previous 200) (next 200)
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fTalkE3aE4cargeE5fscreenE5fsaverX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ