It has been a wonderful X'mas morning today, and the new PyS60 version 1.9.0 released on Forum Nokia Discussion Boards.
This post summarizes new features of PyS60 1.9.0 and PyS60 2.0 expectations.

So whats new with this major release? Below is the list,
- Python 2.5.1 core, with much better compliance to the standard
Python than before. Most of the modules in the standard library are
included - basically almost all that make sense on this platform and
even some that don't (for regression testing purposes). This includes
such goodies as the Expat XML parser, ftplib, smtplib, urllib2,
xmlrpclib, SimpleHTTPServer, cPickle, asyncore and especially the much
more compliant socket module. Garbage collection is enabled, so there
is no need to dismantle reference cycles anymore.
- Packaging Python applications to SIS files is much easier. The
user-friendly Ensymble tool is now the official packaging tool, and
we've made a GUI for it so packaging your application is now just a
button press away.
- The environment for SIS packaged applications is closer to the
script shell environment, since the script shell is no longer a special
case but just a regular application packaged using the Ensymble tool.
This should make testing your application easier.
- SIS packaged applications are now more robust:
- If the runtime is missing and you try to launch the application, a
human readable error message is displayed instead of the application
just failing to start, like before.
- If the application raises an exception on start-up, the traceback
is printed on the screen instead of the application quitting silently.
- The applications have a default text console just like in the
script shell environment, so printing text using the print statement
works the same way in SIS packaged apps and the script shell.
- On S60 3rd Ed FP2 devices, access GPS out of the box without
signing hassle! Since S60 3rd Ed FP2 devices now permit the Location
capability for self-signed applications, that capability is now enabled
by default in the S60 3rd Ed FP2 binaries.
- Almost all of the old 1.4.x Python APIs are included. The rest should be added during the 1.9.x series.
- The interpreter start-up time is considerably longer than in 1.4.x. We'll optimize this.
- The runtime package is much bigger than with 1.4.x. This'll get
smaller once we have the modified packaging model working - estimate is
that the final base runtime would be less than 1MB.
- There is an additional dependency to the OpenC libraries, which must be installed for the runtime to work.
- Sadly, S60 2.x devices are not supported by the new code-base, and
never will be. This is because OpenC libraries aren't available for S60
2.x.
- This initial release is aimed at script developers, not extension
developers, thus no plug-in to the C++ SDK is included. The C++ SDK
plug-in should follow soon.
- Binary compatibility between 1.9.x versions isn't guaranteed until
2.0. We won't break it without good reason, but it can happen.
Bogdan summarized them as follows,
Pros:
- Python 2.5.1 core. Yes, that means more modules and improved
versions of the already existing ones will be available. This is very
good when it comes to stability.
- Official packaging method. This is my personal favorite. The very useful Ensymble has been given a rather nice GUI which makes it easier to use.
- Better error handling. If the application raises an exception on start-up it doesn't just terminate silently but prints the traceback on the screen.
Cons:
- Much longer installation and start-up time. Really, you'll notice the difference. But like the thread says, this will be fixed.
- No support for S60 2nd Edition. Sadly, this part of the S60
family will no longer be supported now or in the future, because there
are dependencies on OpenC libraries, which aren't available for 2nd
Edition.
Notes:
- This release works on S60 5th Edition like the previous ones did,
but it doesn't explicitly have any special features for it (like
support for touch events).
- In a strange yet understandable way, the runtime isn't signed by
Nokia with all capabilities like before. We only get the user-grantable
set this time.
- Apparently PyS60 has moved from sourceforge and has a new home: https://garage.maemo.org/projects/pys60/
- The documentation no longer comes as a pdf file (at least this time
it didn't) but as a much more comprehensive collection of HTML
documents. I think this is better in pretty much every aspect.
This is not a stable release, but just one of the first in series of 1.9 to make a solid and a satisfying PyS60 2.0 !
The PyS60 team has the following targets for PyS60 2.0:
- Better usability for the developer and the end user
- Easier runtime deployment. It must be possible for a developer to
package their application in a way that the end user doesn't need to
think about the runtime installation. Note that we're not saying the
end user doesn't have to _install_ the runtime, we're just sayingthey
don't need to _think_ about it.
- Easier tools installation and SIS packaging for Python
applications. Especially packaging Python applications to SIS has
proved to be pretty tough with all the dependencies you need to
install. The 1.9.0 release improves things with the new all-in-one
installer that gives you the packaging tool, the documentation and the
SIS files you need for development in one package. The user-friendly
Ensymble tool is now official, and there is a GUI for one-button
package creation.
- Easier and more robust ways to use and distribute 3rd party
extension modules with your application. Free use of third party
extensions isone of the main advantages of Python, and we want to
enable and encourage that. We'll improve the Ensymble packaging tool to
automatically bundle modules not included in the base runtime into your
application SIS, as well as specify how a module author can distribute
their module to other developers so that the module can be easily used.
- Integrated HTML documentation: The S60 specific documentation is
now a part of the full Python documentation so you no longer need to
switch between them.
- Reliability and compliance with the standard Python. We've put
effort into automatic testing on multiple target platforms as well as
fixing any noncompliance revealed by Python's own regrtest.py test
suite. The compliance isn't perfect yet, but it's much better than with
the old 1.4.x code-base.
- Quicker start-up and smaller base runtime package size than with 1.9.0.
- Selected API additions. Qt support is definitely on the roadmap. Schedule we can't give yet.
- Support for non-Windows platforms for things other than C++
extension development. Already preliminary support is available in
1.9.0, which contains an all-in-one archive that gives you the
packaging tool, the documentation and the SIS files.
The plan seems good, and the packaging process is getting simpler with the availability of GUI based Ensymble.
Just hoping that one day, PyS60 ships preinstalled with the Nokia devices. May be with PyS60 2.0 ?
Merry Christmas!
.