A Spreadsheet For The Python Hacker

You can write a Python program or use a Jupyter Notebook to do almost anything. But you can also get a lot of things done quickly using a spreadsheet. Grist is a “hacker’s” spreadsheet that merges these worlds. It looks like a spreadsheet, but underneath are SQLite tables and the formula language is Python.

The code is open source and if you want it hosted, there are free and paid plans. You can even try it out without even logging in and either start with a blank screen or use a template. You can see an introductory video below.

If you are adept at spreadsheets, be prepared. Grist isn’t exactly a spreadsheet — it is more of a spreadsheet-like interface on a database. So if you have a row with a quantity and a price on it, you might add a column that computes the total price. That’s fine, but you’ve now done that for every row in the table. Depending on your point of view, that might be a feature. What if you want a grand total at the bottom? Then you add a widget which is actually a separate table.

You can fork spreadsheets and reconcile copies sort of like merging source-controlled programs. You can easily make dashboards and different views on data. For example, if you want to see which goat begat which goat… there’s an example for that. Since this is Hackaday, you might prefer a Morse code quiz.

This seems like a good balance between coding everything and the much-vaunted “no code” tools floating around. Honestly, we might be as comfortable with Jupyter. But the fact that this is spreadsheet-like will make it more palatable in certain situations.

We do love oddball spreadsheet software. On the other hand, we also enjoy abusing traditional spreadsheets, too.

9 thoughts on “A Spreadsheet For The Python Hacker

  1. Overloaded with too much information. Just compare it to an IBM Lotus calendar and the tile system inside the program and you understand what I mean. Some people with ADHD may relate what I am getting at.

  2. There used to be a spreadsheet system called Resolver that was all Python: what you entered into cells was literally translated into a Python script.

    It was terribly clever, but sadly never made it.

  3. Ooh, thank you for the post! Dmitry here, co-founder of Grist. You make a great point that Grist is really a database with a spreadsheet interface. Therein lies its real power and value.

    (Also, I’m so glad you honed in on forking and merging copies… I find it super useful, and many people miss it.)


To everyone, don’t be afraid to try it: you can start simple and only add as much complexity as you need. There is no need to overload, but many real-world problems are legitimately complex, and Grist’s goal is to offer a good solution for those.

    As for the formula language, we chose Python because a real language unlocks a lot, and Python is the most commonly learned programming language. We include most familiar Excel functions, by the way (https://support.getgrist.com/functions/). As with Resolver, formulas are literally turned into Python functions, which you can see in the “Code View” page.

    Happy to answer any questions here, in our our Community Forum (https://community.getgrist.com/)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.