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 licence.
The latest release is pyspread v2.3 (source code). It requires Python 3.6+.
The last (outdated) release that is compatible with Python 2.x is pyspread v1.1.3.
Notes: * PDF export via print to file, ** requires optional dependencies
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:
Clara is a research engineer. She systematically compares results of different parameter sets. She is proficient with Python and has used it for her scientific analyses. Clara wants a quick initial overview of how changing specific parameters affects her results. With pyspread, Clara is displaying each result in one cell. This allows her to quickly figure out, which parameters she is going to focus on next.
Peter is using spreadsheets to prepare business decisions. He separates data from code by keeping his business data in CSV files and accessing these files from pyspread. Furthermore, Peter is worried about algorithmic errors and calculation inaccuracies in his complicated tables. He is importing the Money datatype from py-moneyed in the Macro panel. The dedicated Money class helps him avoiding floating point errors. Peter has implemented his analysis tools together with unit tests in a separate Python module, which he is importing as well. Therefore, he is worrying less about wrong results that may lead to bad business decisions.
Not part of the target user group are Donna and Jack:
Donna is looking for a free replacement for Ms. Excel. She does not know any programming language, and she has no time to learn Python.
Jack does computation intensive data analysis. He is looking for a spreadsheet that can parallelize calculations - ideally out of the box as a cluster or a cloud solution.
This does not mean that Donna or Jack cannot work with pyspread. However, Donna might find the learning curve for using Python code in cells too steep. Jack on the other hand might be disappointed because he has to ensure manually that his long running tasks are not locking up pyspread.
For user questions or user feedback please use the pyspread community board on gitter.
For contributions, patches, development discussions and ideas please create an issue using the pyspread issue tracker