Adding something else to my plate is probably not a very good idea, but what the heck, I can make it sleep another three years if I lose interest.
So: I am writing a real spreadsheet in python.
Probably never going to be useful for corporations, but it should be at least as featureful as Google's and it should be amazingly small.
Here are the components:
Traxter: my spreadsheet-formula-like-language with dependency tracking that compiles to python.
PyQt (hey, it has a grid widget)
Python (Of course)
The status right now:
It's almost as functional as it was 2.5 years ago
Except for broken relative cells.
But with the beginning of a real formula language.
With automatic recalculation and cyclic dependency checks.
Adding things is dead simple. Here's the implementation of SUM (not uploaded yet, though):
def sum(*args): ac=0 for v in args: ac+=v return ac
All the range stuff happens behind the scenes (although you may get a function called with thousands of args... I wonder how well Python handles that).
You can check it at the google code project (Use the SVN).