As a few people have pointed out, pyspread does *not* need Excel to work. It is a standalone program with its own spreadsheet. Apologies for the misleading title.
If you think spreadsheets are only used for mathematical functions, or maybe AC/DC videos, then you’re in for a pleasant surprise. With pyspread, you can use Excel to return Python objects by entering Python formulas in cells. You can reference other cells in your formulas, as well, making it a very handy piece of software. You can also import data from a csv file or pasted from the clipboard. It’s cross-platform, but does have some dependencies, which are mentioned in the docs.
allows doing everything
from each cell that a
Python script can do.”
The project has been around since 2008, and I recently had the chance to interact with the creator of pyspread, Martin Manns. Pyspread came about as many open source projects do, with the creator needing to scratch a particular itch. Martin tells me, “It all started when I used Excel cell functions instead of VBA when implementing a decision support tool. I still like the idea. However, the cell code grows lengthy and the result becomes opaque. Furthermore, many cell functions are kind of clunky because they seem to be created for solving special use cases rather than general problems.”
He goes on to say, “Since I use Python a lot, I looked for a spreadsheet that allows Python expressions in cells. I looked around and found one notable solution: Resolver One. However, it does not run on Linux, it requires IronPython and it has a commercial license. I was looking for a free, cross-platform software.”
As such, pyspread was born.
Martin mostly works on the code by himself and in his free time, although he’s gotten help on documentation, testing and bug fixing. He spent a lot of time trying to support ODF standards, but found the chart section was way too coupled with Excel type spreadsheets. With development time being at a premium, he decided to drop ODF support altogether.
Martin tells me that while the efficiency of coding alone was fine when the project was small, it’s now growing beyond a one-man project. “Before I add major new features,” he says, “other programmers have to join the team. I am currently creating a road map with some hopefully motivating features to implement.” Martin is both curious and hopeful about the responses.
When I asked him if he had advice for those running other open source projects, he had this to say: “Have fun. Do cool things and throw them away when they turn out not to be as cool as you thought. Do not care too much about comments of people who want your app to be just like the ones they know. But once you feel that refactoring gets more and more painful, concentrate on the core and get it stable.”
If you would like to help Martin, you can help test (especially if you have a Mac), help with documentation, or contribute to the code base. Contact Martin directly for more details: mmanns < at > gmx < dot > net.