Thanks! Fair about styling :). You can bring your own stylesheet https://support.getgrist.com/self-managed/#how-do-i-customiz...
HN user
paulfitz
The enterprise features are self-hostable. Look at "your servers" on the pricing page for Grist. Individuals (and orgs with < $1 million in annual income) quality for free activation keys btw.
[grist employee here] Grist forms are open source and were used to keep the toilets clean at FOSDEM just a few days ago https://fosstodon.org/@grist/116001932837956733
Everything you see in our standard docker image is open source. Yes, you can enable and pay for enterprise features too.
Grist forms support uploads since 2025 https://github.com/gristlabs/grist-core/pull/1655
Since it is relevant here: support for uploads was code written by a French contributor, and reviewed by a developer working for the French gov (ANCT/DINUM) and a developer working for Grist Labs. Grist Labs has since maintained and improved on it. The forms feature itself was inspired by an integration built by Camille Legeron at ANCT.
I work at Grist, the "tableur collaboratif" (collaborative spreadsheet) listed on the La Suite homepage. We're in the interesting situation of being both a NYC-based company, and open source software the French gov has adopted and is helping to develop. Grist is mostly a node backend. So it is a complicated story. The key is having code the gov can review and trust and run it on sovereign infrastructure.
Grist https://www.getgrist.com/
A write-up of how the French gov uses it https://interoperable-europe.ec.europa.eu/collection/open-so...
I'm quietly adding "pull requests" for data to Grist https://github.com/gristlabs/grist-core/issues/1829 - been wanting to do this for a long time.
I tried doing this years ago as a stand-alone project and it was too much. I wrote a data diff/patch/merge tool called "daff" that worked okay. But I've always wanted to add this to a proper spreadsheet tool like Grist.
I really want people working on data projects to be able to work more like coders, with pull requests and reviews. Not all data projects are as curated as that, sometimes your data is just a big soup, but when it is curated, there should be a better workflow.
This is excellent, thank you!
Escaping is needed no matter what separators are used, but if a character from the astral plane is always present (like U+1F4A9 PILE OF POO) then you can be pretty sure the software is handling unicode well and isn't corrupting cells without you noticing.
So true about RFC4180. Admittedly this post kind of got out a little early, support for the format was slated for the first of next month...
The main problem is they are still in the basic multilingual plane, so U+1F4A9 PILE OF POO still has an edge there for tickling problems quickly.
Meant to link to this! Thanks, will update.
The overlap if you work 9 to 5 hours in that timezone has proven a bit of a drag for us.
Thanks for playing! :)
Grist Labs | Systems Engineer | Full-time | NYC OR REMOTE +/- 3hrs | https://getgrist.com
We're looking for someone to make our modern spreadsheet software run everywhere. To apply, there's a puzzle. Just do: docker run -it gristlabs/grist-twist and poke around. If the words battery correct horse staple mean something to you, you might have an advantage.
The heart of the software you'll be working with: https://github.com/gristlabs/grist-core/ More information about job and company: https://www.getgrist.com/job-systems-engineer/
The essential requirement for the job is comfort working with operating systems and containers, and having some back-end programming experience. People with a dev-ops background will do well. If you have strong open source experience, even better.
Have you seen people install your popular software in weird and wonderful places, and seen all the weird and wonderful problems that crop up? Ever wanted to really go all in on making an app or library that can go anywhere? If so, you're the kind of person we want to talk to. Our software can already be used everywhere: as a commercial SaaS, or as part of a government office suite, running on servers owned by enterprises and citizen self-hosters, desktops, air-gapped installations, compiled to pure in-browser javascript, rippling like a dream through the etheric plane (well, not this last one yet). But it isn't always easy, and that's where you come in!
A surprising number of people submitting "bread pickles tomato cheese" as the answer. No! That was just an example! (I was hungry)
The motivation for calling Grist a spreadsheet is that it has formulas, and cell values get updated automatically when something they depend on gets updated. Agree there is scope for misunderstanding here, maybe there's a better word? [Grist employee]
In Grist, reference columns let you do a lot of what you can do with a join https://support.getgrist.com/col-refs/ while still having spreadsheet-style immediate updates when underlying data changes.
Also, if you just want to do queries and don't care about instant updates, you can do any SQL you like including joins with a SQL endpoint or a custom widget https://twitter.com/getgrist/status/1710018836836077967
[Grist employee]
Snapshots are there, but you need to configure an s3-like store to enable them, e.g. MinIO (or S3 itself). [Grist employee]
In the few days since we wrote this post, Code Llama came out, including a flavor fine-tuned on 100B tokens of Python code - could be great for Grist, I look forward to re-running the benchmarks. This is an unexpected side benefit of using a common, popular language for Grist's formulas...
The exact LLM used in the experiment mentioned in this post was upstage-llama-2-70b-instruct-v2.ggmlv3.q2_K. Grist was configured to use it via llama-cpp-python and https://github.com/gristlabs/grist-core#ai-formula-assistant...
Neal Stephenson calls them earthsuits in Termination Shock.
Agree, I started paying attention to duckdb when it started allowing FROM before SELECT https://github.com/duckdb/duckdb/pull/5076
Source code of the formula generator is at https://github.com/gristlabs/grist-core/pull/345 (there's a docker image). Shout out to Alex Hall for getting this rolling.
TLDR: Spreadsheets are the original low-code platform, but that little bit of code is still daunting. But for a spreadsheet with (1) formulas in a language with lots of training data (Python) and (2) an explicit relational structure that can be fed into a prompt, current large language models already look up to the job of taking care of the coding.
Also Grist isn't limited to the grid visual model https://twitter.com/dsagal0/status/1509924813837635593 (disclaimer1: grist employee) (disclaimer2: April 1)
Thanks for pointing this out, we'll get it fixed (the desktop version is the correct one).
grist-core is released under the Apache 2.0 license https://github.com/gristlabs/grist-core#license, an OSI approved license (disclosure: I work at Grist)
Answer to a related question here: https://news.ycombinator.com/item?id=30393794
Decided not to do a Grist take on Wordle for that reason. But Happy Gristmas works! Grist comes from Grid + list.
Development currently happens on a private mono-repo with all sorts of stuff in it - including for the SaaS environment yes, and bits left over from when Grist started out initially as a stand-alone desktop app, and so on. Commits are pushed to grist-core about once a week, using git subtree. If you look at commit history, you'll see plenty of features going in month after month. Since we currently develop elsewhere, you'll see few pull requests on github. Internally we use phabricator, which is deprecated now, so we'll need to rejigger our setup soon. It would definitely be good to get more of the development process out there, especially now more people have found us!
Recently someone asked for a comparison of Grist and Baserow on their respective forums (posting the same exact question on both), and their founders answered. Here is the Baserow-expert answer: https://community.baserow.io/t/comparison-with-grist/249 and here is the Grist-expert answer: https://community.getgrist.com/t/comparison-with-baserow/572 (disclosure: I work at Grist).
(disclosure: Grist employee) You're exactly right https://github.com/gristlabs/grist-core/blob/7f1f8fc9e60a2e1... - sorry the import choked!
Open core is definitely a tension (disclosure: I work at Grist). Specifically for Grist, we differentiate by offering data portability and autonomy, and a full-featured open-source app is part of how we do that. I invite you to check the repo out, you'll see we're not holding back. We did want to flag the project as open core from the start, since we will build proprietary services and features around the core app (which again is very featureful!), and don't want that to come as a surprise down the line.