Miso

Fri Oct 2 01:21:11 2009


  1. Introduction
  2. Status
  3. Examples
  4. License
  5. Documentation
  6. Releases
  7. Software Download
  8. Source Code
  9. Dependencies
  10. Contributing
  11. Acknowledgements
  12. Related Work at HIIT

Miscellaneous software?
Mixture of utilities for Symbian OS?
味噌?
Your guess is as good as ours.

1. Introduction

Miso is a Python for S60 utility library, which was developed in the PDIS project at HIIT. The idea of the library is to provide simple utility functions and classes that are easy to implement using native Symbian OS resources, but which would be difficult or impossible to implement in pure Python.

The library consists of a single Symbian OS native dynamic link library that has a Python interface. We have tested it on S60 v2 and v3 phones only, but don't know of any reason why it would fail to run on S60 v1 phones. We have found the library to build with a number of different Nokia S60 SDKs, using GCC, GCCE and MSVC 6.0 compilers. We have done both Windows and Linux hosted builds, with Nokia (on Windows), GnuPoc (on Linux), and sdk2unix (on Linux) style SDK installations, respectively.

2. Status

Most of the Miso functionality has been around for a long time, and is thus reasonably well tested. We are not, however, too worried about adding (or removing) features of a more experimental nature.

3. Examples

The programs used to test Miso features also serve as example programs.

4. License

license
The license covering the software. (This file is also included in the source tree, and archived copies thereof.)

5. Documentation

API documentation for the current (possibly unstable) version of Miso is available in both HTML and Python formats.

Each (versioned) release of Miso also comes with API documentation. See the downloads directory and the older releases page.

6. Releases

Version
1.98
Release Date
2.10.2009
Changes
Due to reported problems with imp.load_dynamic, now building without a .py wrapper—were not using it for pure Python additions anyway. S60 v3.1 and v3.2 py2 variants now built for PyS60 1.9.7.
Version
1.97
Release Date
13.5.2009
Changes
Now built with S60 v3.2 SDK also. (v3.2 build signed with Location capability.) All S60 v3.x builds now have both PyS60 1.4.5 and 1.9.4 variants.
Version
1.96
Release Date
26.2.2009
Changes
Added have_process (cf. kill_process) and miso_version functions.
Version
1.95
Release Date
3.1.2009
Changes
stack_info actually built in.
Version
1.94
Release Date
18.12.2008
Changes
UID now of the test range, to allow for Open Signed Online use. (This probably means that v1.94 cannot be installed before uninstalling any earlier version.) Added stack_info function, inspired by LogMan and its RLogMan::StackInfo function for logging stack usage. stack_info may be useful when getting KERN-EXEC 3 panics, and wondering whether there is enough stack space.
Version
1.93
Release Date
17.2.2008
Changes
Using the CHWRMVibra API for vibra functionality in 3rd edition builds. Added kill_process function. Made initmiso the only C++ export, also for GCCE builds.

6.1. Older Releases

For binaries, source, and documentation of older releases of Miso, see the older releases page.

7. Software Download

A collection of release builds is available. The sisx installation packages are signed, while the sis ones are not. s60_3x variants require signing, whereas s60_1x and s60_2x variants do not. The self variants have maximum self-signed capabilities, while the dev variants have maximum Symbian Open Signed capabilities. The py1 variants are for Python for S60 v1.3/v1.4, while the py2 variants are for Python for S60 v1.9.

Note that we are supplying binaries built for a number of different S60 platform versions, despite all S60 releases except for 3rd Edition having so far retained—to an extent—binary compatibility. While most of the utilities in the library only make use of well-established APIs, and are thus likely to run on any somewhat binary compatible S60 device regardless of which build is being used, the library does have some platform specificity, to the extent that some functionality hasn't even been implemented for all versions of the S60 platform. To reduce the likelihood of incompatibilities, you're best off installing whichever SIS file is the closest match for your phone.

8. Source Code

A darcs repository of the source code (with change history) is also available, and can be retrieved with the get command of darcs.

9. Dependencies

Depends on the Python for S60 runtime. Does not depend on non-public APIs or anything exotic. Python must be installed on the target device to run this software. The appropriate Python SDK plugin(s) must be installed on the development host to build this software.

10. Contributing

Contributions are welcome. Send patches to the below email address. The send command of darcs may be used.

10.1. SourceForge Hosting

The Miso source code repository is also hosted at SourceForge, and while that repository presently does not contain the most recent code, this situation could be rectified if it should be helpful for contributors to have direct access to the source repository.

11. Acknowledgements

The work was initiated in the PDIS project at HIIT.

12. Related Work at HIIT

A number of Python for S60 extensions have been developed at HIIT. These include:


Tero Hasu
tero.hasu@hut.fi