Python for S60

Definition
Python for S60 (commonly abbreviated as PyS60) is a port of the Python programming language designed to run on devices that use the Symbian OS Series 60 (S60) mobile platform. It provides an interpreter, standard library modules, and extensions that enable Python scripts to access native Symbian APIs and hardware features.

Overview
The PyS60 project was initiated in the early 2000s, with the first public release appearing in 2005. It was developed collaboratively by Nokia, the Python Software Foundation, and a community of independent developers. PyS60 allowed developers to write and execute Python code directly on Symbian smartphones, facilitating rapid prototyping, scripting, and the creation of full‑featured applications without the need for compiled C++ code.

Official support and updates ceased around 2010, following the decline of the Symbian platform and the transition of Nokia’s mobile strategy toward other operating systems. Nevertheless, the source code and documentation remain available through archives and community repositories, and the interpreter can still be installed on legacy S60 devices that meet the required hardware specifications.

Etymology/Origin

  • Python: Named after the British comedy group Monty Python, reflecting the language’s emphasis on readability and programmer enjoyment.
  • S60: Refers to “Series 60”, a software platform and user‑interface framework built on top of the Symbian OS, widely used in Nokia smartphones of the mid‑2000s.

The combined term therefore denotes the Python implementation specifically adapted for the Series 60 environment.

Characteristics

Feature Description
Interpreter A native Symbian executable that runs Python 2.5‑compatible bytecode (later releases supported Python 2.6).
Standard Library Includes core Python modules (e.g., os, sys, json) plus Symbian‑specific extensions such as appuifw for UI creation, e32 for system services, and socket for network access.
UI Integration Provides appuifw and e32 modules that map Python calls to S60’s UI components (menus, dialogs, canvas graphics).
Hardware Access Enables control of device features like the camera, Bluetooth, GPS, and vibration through dedicated APIs.
Packaging Applications can be distributed as .sis installation packages, allowing integration with the Symbian application management system.
Limitations • Limited to devices running Symbian OS 9.x or later.
• No support for Python 3.x syntax or libraries.
• Memory and processing constraints typical of mid‑2000s mobile hardware.
Development Tools Source code editing can be performed on a PC (e.g., using IDLE, Vim) and transferred to the device via USB or Bluetooth; on‑device debugging is available through the e32 module.

Related Topics

  • Python (programming language) – the high‑level, interpreted language on which PyS60 is based.
  • Symbian OS – the underlying operating system for S60 devices.
  • Series 60 (S60) – the UI framework and platform layer for Symbian smartphones.
  • Mobile application development – broader context of creating software for handheld devices.
  • PySide / Kivy – modern Python frameworks for mobile development on contemporary platforms.

Note: While the PyS60 project is no longer actively maintained, it remains a historically significant example of bringing a high‑level scripting language to early smartphones.

Browse

More topics to explore