grist-core README

The project's README from github.com/gristlabs/grist-core. As one markdown file: README.md.

Grist

Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database.

Grist is developed by Grist Labs, an NYC-based company 🇺🇸🗽. The French government 🇫🇷 organizations ANCT Données et Territoires and DINUM (Direction Interministérielle du Numérique) have also made significant contributions to the codebase.

The grist-core, grist-desktop, and grist-static repositories are all open-source (Apache License, Version 2.0). Grist Labs sells an edition of Grist with additional features. Grist Labs also offers free and paid hosted services at getgrist.com, as well as cloud packaging.

Questions? Feedback? Want to share what you're building with Grist? Join our official Discord server or visit our Community forum.

To keep up-to-date with everything that's going on, you can sign up for Grist's monthly newsletter.

https://github.com/user-attachments/assets/fe152f60-3d15-4b11-8cb2-05731a90d273

Features in grist-core

To see exactly what is present in grist-core, you can run the desktop app, or use docker. The absolute fastest way to try Grist out is to visit docs.getgrist.com and play with a spreadsheet there immediately – though if you do, please read the list of additional features that are not in grist-core.

However you try it, you'll quickly see that Grist is a hybrid database/spreadsheet, meaning that:

This difference can confuse people coming directly from Excel or Google Sheets. Give it a chance! There's also a Grist for Spreadsheet Users article to help get you oriented. If you're coming from Airtable, you'll find the model familiar (and there's also our Grist vs Airtable article for a direct comparison).

Here are some specific feature highlights of Grist (🇫🇷 marks heavy French govt. contributions):

If you are curious about where Grist is heading, see our roadmap, drop a question in our forum, or browse our extensive documentation.

Features not in grist-core

If you evaluate Grist by using the hosted version at getgrist.com, be aware that it includes some features that aren't present in grist-core. To be sure you're seeing exactly what is present in grist-core, you can run the desktop app, or use docker.

Here is a list of features available in the full edition of Grist that are not in grist-core, in chronological order of creation. If self-hosting, you can get access to a free trial of all of them by selecting the full edition of Grist on the Admin Panel. The full edition of Grist is free for individuals and small orgs with less than US $1 million in total annual funding. Learn more about that here.

Using Grist

To get the default version of grist-core running on your computer with Docker, do:

docker pull gristlabs/grist
docker run -p 8484:8484 -it gristlabs/grist

Then visit http://localhost:8484 in your browser.

On a brand new install you'll land on a Quick setup page that walks you through choosing an admin email, picking how people sign in, and setting who can use the site. To get past the first screen, look in the container's startup log for a line containing a generated boot key, and paste it in when prompted. Once you click Apply and go live! at the end of Quick setup, the site is open for business and you'll be able to create, edit, import, and export documents. There's a step-by-step walkthrough at First-run setup.

If you'd rather skip Quick setup entirely and start with an open, single-user setup, set GRIST_IN_SERVICE=true. You can come back to the same settings later from the Admin Panel.

To preserve your work across docker runs, share a directory as /persist:

docker run -p 8484:8484 -v $PWD/persist:/persist -it gristlabs/grist

Get templates at templates.getgrist.com for payroll, inventory management, invoicing, D&D encounter tracking, and a lot more, or use any document you've created on docs.getgrist.com.

If you need to change the port Grist runs on, set a PORT variable, don't just change the port mapping:

docker run --env PORT=9999 -p 9999:9999 -v $PWD/persist:/persist -it gristlabs/grist

To enable gVisor sandboxing, set --env GRIST_SANDBOX_FLAVOR=gvisor. This should work with default docker settings, but may not work in all environments.

You can find a lot more about configuring Grist, setting up authentication, and running it on a public server in our Self-Managed Grist documentation.

Using Grist with OpenRouter for Model Agnostic and Claude Support

(Instructions contributed by @lshalon)

Grist's AI Formula Assistant can be configured to use OpenRouter instead of connecting directly to OpenAI, allowing you to access a wide range of AI models including Anthropic's Claude models. This isn't the only way to use Claude models, but it's a good option if you want to use Claude models with Grist or intend to use other cheaper, faster, or potentially newer models. That's because this configuration gives you more flexibility in choosing the AI model that works best for your formula generation needs. To set up OpenRouter integration, configure the following environment variables:

Required: Set the endpoint to OpenRouter's API

ASSISTANT_CHAT_COMPLETION_ENDPOINT=https://openrouter.ai/api/v1/chat/completions

Required: Your OpenRouter API key

ASSISTANT_API_KEY=your_openrouter_api_key_here

Sign up for an OpenRouter API key at https://openrouter.ai/

Optional: Specify which model to use (examples below)

ASSISTANT_MODEL=anthropic/claude-3.7-sonnet

or other options like

ASSISTANT_MODEL=deepseek/deepseek-r1-zero:free
ASSISTANT_MODEL=qwen/qwq-32b:free
ASSISTANT_MODEL=mistralai/mistral-saba

Optional: Set a larger context model for fallback

ASSISTANT_LONGER_CONTEXT_MODEL=anthropic/claude-3-opus-20240229

With this configuration, Grist's AI Formula Assistant will route requests through OpenRouter to your specified model. This allows you to:

Access Anthropic's Claude models which excel at understanding context and generating accurate formulas Switch between different AI models without changing your Grist configuration Take advantage of OpenRouter's routing capabilities to optimize for cost, speed, or quality

You can find the available models and their identifiers on the OpenRouter website. Note: Make sure not to set the OPENAI_API_KEY variable when using OpenRouter, as this would override the OpenRouter configuration.

Available Docker images

The default Docker image is gristlabs/grist. This contains all of the Grist Community edition features, as well as extra source-available code for the full edition of Grist. This extra code is not under a free or open-source license, though by default is completely inert and inactive. This code becomes active only when enabled from th

grist-core (gristlabs/grist-core)

Searching Database…

Что это такое?Grist — это открытая гибридная таблица и база данных: столбцы имеют типы и названия, как в базе данных, но их также можно заполнять формулами на синтаксисе Python, как в электронной таблице, с автоматическим пересчётом.
grist-core — это весь продукт Grist или только его часть?grist-core — это серверная часть для самостоятельного развёртывания (редакция Community); grist-desktop — отдельное приложение для Linux, macOS и Windows для локального редактирования документов, а grist-static — сборка для работы в браузере, которую можно встроить на сайт без сервера.
Как всё запустить?Самый быстрый путь — Docker: запустите стандартный образ grist-core, затем откройте его в браузере, где страница «Быстрая настройка» проведёт вас через выбор адреса администратора и способа входа с помощью стартового ключа, выведенного в журнал запуска контейнера.
Нужен ли мне Docker для самостоятельного развёртывания?Docker — рекомендуемый способ запустить grist-core как сервер; при желании можно вообще обойтись без сервера и просто запустить отдельное приложение grist-desktop на Linux, macOS или Windows.
Чего не хватает по сравнению с размещённой версией getgrist.com?В grist-core нет нескольких корпоративных дополнений: единого входа GristConnect SSO, хранилища Azure, потоковой передачи журнала аудита, расширенного администрирования, более широкого ИИ-ассистента (в ядре есть только ассистент для формул), почтовых уведомлений, автоматизаций, OAuth-приложений и встроенного MCP-сервера.
grist-desktop работает только на Linux или также на Windows и Mac?grist-desktop работает на Linux, macOS и Windows как самостоятельное приложение для локального просмотра и редактирования документов, без необходимости в сервере.
Это действительно бесплатно или в лицензии есть подвох?grist-core полностью открыт под лицензией Apache 2.0 без каких-либо оговорок; Grist Labs отдельно продаёт «полную версию» с дополнительными корпоративными функциями, но эта полная версия бесплатна для частных лиц и небольших организаций с годовым финансированием менее 1 миллиона долларов США.
Можно ли на самом деле писать формулы на Python?Да, grist-core поддерживает полный синтаксис Python для формул, включая стандартную библиотеку, а также множество знакомых функций в стиле Excel.
В каком формате хранятся документы Grist?Каждый документ — это один файл SQLite, поэтому любой инструмент, совместимый с SQLite, может прочитать числовые и текстовые данные, что упрощает резервное копирование и перенос на другой сервер.
Можно ли импортировать данные из Airtable или Excel?Grist поддерживает прямой импорт из Airtable, а также импорт и экспорт в Google Drive, Excel и CSV, включая пошаговый импорт CSV, который не дублирует уже загруженные строки.
Есть ли ИИ-помощь для написания формул?Да, в grist-core есть ИИ-помощник для формул, настроенный на их генерацию; он может работать с OpenAI, Llama и другими моделями через OpenRouter или любую конечную точку, совместимую с OpenAI.
Creator
gristlabs
Size
53.2 MB
Stars
12K
Age
6y
Commits · 90 Days