About
Pyspread is a cross-platform Python spreadsheet application.
It is based on and written in the programming language
Python.
Instead of spreadsheet formulas, Python expressions are entered
into the spreadsheet cells. Each expression returns a Python
object that can be accessed from other cells. These objects can
represent anything including lists or matrices.
Features
- Accepts a Python expression in each cell. No spreadsheet
specific language is required.
- Each cell returns a Python object that can be accessed from other cells.
Such objects can represent anything including lists or matrices.
- Direct access to all Python modules from each cell
- Arbitrary size grid for 64 bit-systems (more than 2 million grid
cells for 32-bit systems)
- Three-dimensional grid
- Macro library for more complex Python functions (still empty)
- Unicode support
- CSV import and export
Since Python modules can be easily used without external scripts,
- arbitrary size rational numbers
(via gmpy),
- fixed point decimal numbers for business calculations,
(via the decimal
module from the standard library) and
- advanced statistics including
plotting functions (via RPy)
can be used in the spreadsheet.
Everything is directly available from each cell. Just use the grid.
Requirements
Pyspread runs on Linux, Windows and *nix platforms with GTK+ support.
I have reports that it works with MacOS X as well. However, I do not own a Mac and
cannot test things properly there. If you would like to contribute by testing
on OS X please contact me.
Pyspread requires Python >=2.4 <3.0,
numpy >=1.1.0 and
wxPython >=2.8.10.1.
License
Pyspread is Open Source software. It is released under the
GPL v3.
Pyspread is Alpha
Pyspread is currently in the Alpha stage. Feel free to try it out on your own risk.
Toy with it. Send me lots of bug reports, feedback, suggestions and improvements.
However, never use pyspread for production work. Do not install it on mission-critical
systems. Things can and eventually will break. Save file formats may change.
The pyspread installation routine may very well harm or pollute your system.
Opening a save file with unknown content is by no means intended to be save.
(I will remove this warning when pyspread reaches Beta stage.)
News
pyspread 0.0.12a released (2009-11-22)

Pyspread is getting close to the first Beta. This new release should
work with Windows as well as with Linux.
New features:
- pys file support more secure
- ODF file support removed
- Left and right alignment to cell attributes added
- Custom grid & cell drawing on refresh added
- Save functionality for row and column size added
- Spash screen added
Bug fixes:
- Problem with update of cells that contain strings, lists solved (BUG 2871008)
- Missing cell background and corrupted display in Windows fixed (BUG: 2845726)
Known issues:
- On Windows, redrawing the selection is slow (BUG: 2901988)
- Printing one line only transposes the grid. (BUG: 2790444)
ODF format support but not for now (2009-11-19)
Standardized file formats are great when it comes to data exchange with other Office packages.
ODF seemed a good choice. However, the parsing code needs too much coding time and still performs much too slow.
Therefore, I have removed the interface from the code base. Starting from 0.0.12a, the file format will be
an improved pys format. In fact, it is compatible to the old pys files.
If you need ODF support, you are welcome to contribute. The ODF code is still available.
Mac feedback (2009-10-02)
Pyspread needs more love on the Mac. I am looking for testers who test pyspread
on OS/X, give feedback. I am also looking for patches for wxPython-related user
interface glitches, since I currently have no access to a Mac.
pyspread 0.0.12 released (2009-08-02)
A new version of pyspread has been released.
New features:
- ODF file support
- Detachable tool bars
- Cells now support attributes such as fonts, borders, colors
- Cells can now be painted on from inside a macro function
- Major speed-up and memory reduction
- Dependency to networkx removed
- Frozen cells that are not updated introduced
- Style toolbar added
- Find toolbar added
- Regular expression search added
- Zoom functionality added
- Default text color changed to system default (for black themes)
- Ok and Cancel buttons swapped in New sheet dialog
Bug fixes:
- Strange arange reference behaviour fixed (BUG 2760121)
- stt = sum(S[16:18,Y,0]) raises TypeError fixed (BUG 2579698)
- On Windows, some dialogs have to be closed twice. (fixed)
- Recursion detection dows not work on nested structures,
i.e. when S[2,2,2] is referred to from inside a container object,
pyspread will not realize a cycle. Therefore, a "Maximum recursion depth"
error is reported (fixed)
Known issues:
(updated 2009-08-02)
- ODF documents with many columns and rows can freeze pyspread on loading
- Horizontal cell alignment missing
- Some fonts throw an error message when scrolling (but work nonetheless)
- Fonts are not included in ODF files
- Cell attributes are not copied or deleted with cell content
pyspread 0.0.11a released (2009-07-13)
This version only adds a COPYING file in the main folder for GPL v3 compliance.
Functionality is identical to 0.0.11.
pyspread file format switches to OpenDocument format (ODF) (2009-05-31)
OpenDocument format (ODF)
has been chosen to replace the old pys file format.
This step became necessary,
because the pys format stores only the code inside the grid. Since
cell formatting (fonts, borders, backgrounds, etc.) has been introduced
(currently in subversion, will be in 0.0.12),
a new save file format was required.
Furthermore, the old pys format has always been a security issue.
Therefore, changing to a new format that is not backwards-compatible is
the obvious choice. Note that pys file loading and saving will still
be available.
OpenDocument format (ODF) has the benefit of being an accredited standard with
an open license (free of cost).
It has also been adopted by a variety of well-known spreadsheets such as:
ODF integration is going to be a step-by-step approach.
In a first step (scheduled for 0.0.12), pyspread in-cell Python code
will appear as non-functional Python code strings in the other
spreadsheets and the cell content in other spreadsheets will
be treated as Python code. In a second step, the ODF data types
are correctly converted into appropriate Python data types.
Conversion of simple formulas may be realized later on.
pyspread 0.0.11 released (2009-04-04)
A new release of pyspread has been released.
New features:
- Recursion detection for slicing operations added
- Dependency to networkx added
- Command line options added
- Command line help added
- Unicode support added
- Save As and Save functionality separated
Bug fixes:
- Internal variables stop showing up in macro dialog (BUG 2407828)
- Copy result now works on Windows (BUG 2569877)
- Replace now updates cells properly (BUG 2569880)
- Resize function works now (BUG 2569895)
Known issues:
(updated 2009-05-31)
- On Windows, Python 2.6 causes trouble with wxPython 2.9.8.2.
Please use Python 2.5
- On Windows, some dialogs have to be closed twice.
- Recursion detection dows not work on nested structures,
i.e. when S[2,2,2] is referred to from inside a container object,
pyspread will not realize a cycle. Therefore, a "Maximum recursion depth"
error is reported (fixed in svn.)
pyspread 0.0.10b released (2008-12-12)
A new bugfix of pyspread has been released.
Changes:
- easy_install works now (2036736)
- Printing now does not display 0 on empty cells (2366916)
- Copy works again (2407435)
- Close button added in About dialog (2306988)
- Grid shows code in statusbar instead of tooltips
- Debian package now contains man page
- Debian package now links to site-packages
pyspread 0.0.10a (2008-11-27)
A new bugfix release 0.0.10a has been added.
Changes:
- Debian deb package added
- Tooltips added that display the cell code
- Icon and library path de-coupled
- Bug in setup.py fixed
pyspread wiki added (2008-11-21)
The manual and tutorial for pyspread has been put into the sourceforge wiki.
http://pyspread.wiki.sourceforge.net
pyspread 0.0.10 released (2008-11-15)
Pyspread 0.0.10 has finally been released.
Changes:
- Code completely re-structured
- Unit tests for main grid functionality
- Speed-up by caching of cell results
- Change of spread method syntax
- Various bug fixes
Last changed: 22. November 2009