PyPy
PyPy[summary-2005-11-04]

This Week in PyPy 1

Introduction

This is the first of what will hopefully be many summaries of what's been going on in the world of PyPy in the last week. First, I'd like to make a request: help me write these things. As is mentioned in the page about This Week in PyPy:

http://codespeak.net/pypy/dist/pypy/doc/weekly/

as and when something worth summarizing happens, be it on IRC, on a mailing list or off in the blogosphere, add an entry to this file:

http://codespeak.net/pypy/dist/pypy/doc/weekly/log

(if you can) or email me about it (if you can't). This week noone at all has done anything like this, which I'll forgive because it's the first week :) Please, please do get into the habit of doing this though, at least if you think writing this summary isn't a complete waste of time.

Release of PyPy 0.8.0

The biggest thing that's happened in the past week was clearly the release of PyPy 0.8.0. You can read the release announcement at:

http://codespeak.net/pypy/dist/pypy/doc/release-0.8.0.html

This release went fairly smoothly compared to some releases, mainly because we weren't rushing to get some feature or other into the release.

Import Analysis

In an effort to understand what code is used where in PyPy, Michael Hudson wrote a tool to analyse the import structure of PyPy, culminating in a several megabyte HTML report which you can find at:

http://starship.python.net/crew/mwh/importfunhtml/pypy/

For example, this is a list of all the modules that reference pypy.objspace.flow.model.Constant (one of the more referenced names in PyPy):

http://starship.python.net/crew/mwh/importfunhtml/pypy/objspace/flow/model/Constant.html

Of course, this work ended up duplicating some of the things done by tools such as pylint and pyflakes and has the potential to be useful for projects other than PyPy, so I hope to clean it up and maybe make it a pylint plugin soon-ish.

A RPythonC tool?

A fairly common topic of discussion on #pypy starts with people who want to write RPython code and then use PyPy to translate it to efficient C. This was again the case on Monday evening (look from about 19:30 onwards):

http://tismerysoft.de/pypy/irc-logs/pypy/%23pypy.log.20051031

While "officially speaking" supporting such things is not a goal of the PyPy project (RPython is essentially an implementation detail) the frequency of raising of the subject means that there probably is some interest in a "rpythonc" type tool that would compile an RPython program. A fairly serious problem, though, is that when the target of compilation turns out not to be RPython, working out why can be very difficult. For these reasons, it seems unlikely that such a tool will be written all that soon (at least, I'm not going to do it :).

PyPy-sync

The main discussion at the weekly pypy-sync meeting was planning for the Göteborg sprint in December:

http://codespeak.net/pypy/extradoc/minute/pypy-sync-11-03-2005.txt