Live data from Hacker News

Show HN: Grist, a Hacker Friendly Spreadsheet

getgrist.com

11–20 of 24 posts

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#11
post #2

Founder here :) While working at Google years ago, I co-founded a nonprofit for math enrichment classes. I ran it in my spare time, using Google Sheets, until the spreadsheet setup grew too unwieldy, time-consuming, and frustrating. Back then, I bit the bullet, and rebuilt it using Django. It took months of my evenings and weekends — just to recreate a database version of what I almost had with a spreadsheet. That go…

Paul, Dmitry, thanks for the link, the idea of an SQLite-backed spreadsheet with Python for computations looks quite enticing. Right now, the spreadsheet is unworkable (formulas are updating where I don't want them to, visual editing glitches), hope you iron out the bugs.

Column-wide formulas are an example of Grist data being more structured than a traditional spreadsheet. In a spreadsheet, one might type over a cell because it's an exception. In Grist, you'd need to think what makes it special, and change the formula to reflect that. E.g. `=$Price - $Discount if $Status != 'Comped' else 0`. But once that exception is turned into a rule, it applies to all records. Which is a good thing.

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#12
post #8

>> Grist tables are literally SQLite tables. So whenever a new form/table is created, is it getting stored within a sqlite table on your backend ?

Yes, a new table in your spreadsheet is stored as a new sqlite table, plus some metadata about it in some other administrative tables. You get all of this as a standalone, round-trippable file when you download your spreadsheet.

That is cool. I have so many projects with sqlite but all on my local machine. Is it possible to import an sqlite ?

Also could you help understand what happens behind the scenes in your backend & some best practices involved in using SQLite in backend. Like how do you mount them on to say to your backend if you are using docker/kubernetes.

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#13
post #12

Earlier quoted context omitted.

Yes, a new table in your spreadsheet is stored as a new sqlite table, plus some metadata about it in some other administrative tables. You get all of this as a standalone, round-trippable file when you download your spreadsheet.

That is cool. I have so many projects with sqlite but all on my local machine. Is it possible to import an sqlite ? Also could you help understand what happens behind the scenes in your backend & some best practices involved in using SQLite in backend. Like how do you mount them on to say to your backend if you are using docker/kubernetes.

Ah, we do have a general purpose importer from sqlite lurking but not published, I'll bump its priority. In the meantime, you can use the hosted or local rest api from python or javascript to generate a grist spreadsheet https://support.getgrist.com/rest-api/. On the backend, for serving individual user spreadsheets, we use node/express workers connecting to a pool of sqlite files, persisted via the sqlite backup api https://sqlite.org/backup.html https://github.com/mapbox/node-sqlite3/pull/1116. If you want to dig in, you could poke around at https://github.com/gristlabs/grist-core

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#14
post #2

Founder here :) While working at Google years ago, I co-founded a nonprofit for math enrichment classes. I ran it in my spare time, using Google Sheets, until the spreadsheet setup grew too unwieldy, time-consuming, and frustrating. Back then, I bit the bullet, and rebuilt it using Django. It took months of my evenings and weekends — just to recreate a database version of what I almost had with a spreadsheet. That go…

Grist contributor here -

I got onboard 3 years ago right after Dmitry made a demo to me. What truly impressed me right from the beginning was the UI and how easy it was to build advanced views by simply using linking between records. To me, this plus the python formulas and the sqlite storage put together shows great potential to achieve distributed data management properly.

Note that it was even possible at that time to run Grist standalone using electron and to bring your data offline with you. It had been deprioritize and the feature had to be put on the side for a while. But it does not seem to hard to bring it back.

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#15
post #14
post #2

Founder here :) While working at Google years ago, I co-founded a nonprofit for math enrichment classes. I ran it in my spare time, using Google Sheets, until the spreadsheet setup grew too unwieldy, time-consuming, and frustrating. Back then, I bit the bullet, and rebuilt it using Django. It took months of my evenings and weekends — just to recreate a database version of what I almost had with a spreadsheet. That go…

Grist contributor here - I got onboard 3 years ago right after Dmitry made a demo to me. What truly impressed me right from the beginning was the UI and how easy it was to build advanced views by simply using linking between records. To me, this plus the python formulas and the sqlite storage put together shows great potential to achieve distributed data management properly. Note that it was even possible at that tim…

Yup, and in the meantime there's a docker image https://github.com/gristlabs/grist-core#opening-and-editing-... (hi Cyprien! waves in French)

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#18
Hey guys, Instead of me trying to put together Jupyter and this can I just use Python in Grist like use the Pandas and everything else? Combining this plus the magic of Jupyter seems like my dream environment now :). No need to worry about anything else :).

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#19
post #18

Hey guys, Instead of me trying to put together Jupyter and this can I just use Python in Grist like use the Pandas and everything else? Combining this plus the magic of Jupyter seems like my dream environment now :). No need to worry about anything else :).

When running locally, you can use whatever you like, pandas or anything else, which is fun (we've experimented with some options for Jupyter integration ourselves). In our hosted service, for security we have a locked down python sandbox with white-listed libraries. Definitely on our roadmap to liberate the full power of python libraries in hosted!

Re: Show HN: Grist, a Hacker Friendly Spreadsheet

#20
post #18

Hey guys, Instead of me trying to put together Jupyter and this can I just use Python in Grist like use the Pandas and everything else? Combining this plus the magic of Jupyter seems like my dream environment now :). No need to worry about anything else :).

When running locally, you can use whatever you like, pandas or anything else, which is fun (we've experimented with some options for Jupyter integration ourselves). In our hosted service, for security we have a locked down python sandbox with white-listed libraries. Definitely on our roadmap to liberate the full power of python libraries in hosted!

I have a Ubuntu running on a WSL2 with Jupyter Notebooks already on it do you have any recommendation or any url to integrate the two it would be really cool just like you said it sound like a lot of fun :). Or do you just call them separatly?
Post reply on HN