Python power for your tables
Pyspread is a non-traditional spreadsheet application that is based on and written in the programming language Python.

The goal of pyspread is to be the most pythonic spreadsheet.

Pyspread expects Python expressions in its grid cells, which makes a spreadsheet specific language obsolete. Each cell returns a Python object that can be accessed from other cells. These objects can represent anything including lists or matrices.

Pyspread is free software. It is released under the GPL v3.

Pyspread main window
  • CSV import and export
  • Chart creation dialog based on matplotlib
  • Python objects as cell results
  • Python macros
  • GPG based save file signatures for preventing foreign code execution
  • Access to all Python modules from within cells. These modules allow for example matrix operations via numpy or fixed point decimal numbers for business calculations via decimal.

Pyspread screenshot

Target user group
Directly using Python code in a grid is a core feature of pyspread. The target user group has experience with or wants to learn the programming language Python:

  • Peter regularly documents layout planning projects. He already has a large base of Python code for doing calculations in this task. Peter has to provide project documentation in pdf files with a consistant layout. In the documentation, he has to visualize building layouts and calculation charts.
  • Clara is a research engineer and wants to quickly create publication ready figures for her publications. She is proficient with Python and wants to combine the flexibility of matplotlib with the ease of use of a spreadsheet.
Not part of the target user group of Dolphin are Donna and Jack:
  • Donna is looking for a free replacement for Ms. Excel. She does not know any programming language.
  • Jack does computation intensive data analysis that may take hours to compute. He is looking for a visually interactive data mining tool.
This does not mean that Donna or Jack cannot work with pyspread. However, Donna might find using Python code too hard. Jack on the other hand might be disappointed because his long running tasks are likely to lock up pyspread.

Pyspread screenshot

Pyspread is designed for Linux and other GTK platforms. Windows® is also supported.


Optional dependencies
  • python-gnupg (>=0.3.0, for opening own files without approval)
  • xlrd (>=0.9.2, for loading Excel® files)
  • xlwt (>=0.9.2, for saving Excel® files)
  • jedi (>=0.8.0, for tab completion and context help in the entry line)
  • pyrsvg (>=2.32, for displaying SVG files in cells)
  • basemap (>=1.0.7, for the weather example pys file)

Pyspread screenshot
For user questions or feedback please post to the pyspread-users mailing list by sending an e-mail to pyspread-users@gna.org. You can here subscribe to the list.

For contributions, patches, development discussions and ideas please post to the pyspread-dev mailing list by sending an e-mail to pyspread-dev@gna.org. You can here subscribe to the list.

Copyright Martin Manns
Contact mmanns < at > gmx < dot > net
Last changed: 14. December 2014

Valid HTML 4.01 Transitional