About this project

Grist is a modern relational spreadsheet that combines spreadsheet flexibility with database robustness. The grist-core repository (Community edition) provides a self-hostable server for hosting spreadsheets; companion projects include grist-desktop for local viewing/editing and grist-static for fully in-browser display without a backend. It is developed by Grist Labs with contributions from French government organizations, and is licensed under Apache 2.0. Key capabilities: - Data model: columns are named and typed like database fields, and can be filled by spreadsheet-style formulas with automatic recalculation when referenced cells change. - Python formulas: full Python syntax and standard library, many Excel functions, an AI Formula Assistant tuned for formula generation (works with OpenAI, Llama, and other models via OpenRouter or any OpenAI-compatible endpoint), and a formula timer for diagnosing slow formulas. - Portable format: documents are based on SQLite, so numeric and text data can be read by any SQLite-capable tool, and backups can be restored in full. Files move easily between hosts. - Editing and formatting: choice lists, references and two-way references, attachments, specialized editors for dates, toggles and currency, conditional formatting, and Markdown in text cells. - Dashboards: drag-and-drop charts, card views, calendar widget, summary tables, widget linking, filter bar, duplicated widgets, and document comparison. - Imports and forms: incremental imports that update existing records without duplication, and native forms supporting attachments, hidden fields, and URL pre-population. - Integrations: REST API with interactive console, Zapier actions/triggers, Google Drive/Excel/CSV import-export, Airtable import, custom widgets, configurable webhooks, service accounts, and SCIM provisioning. - Access control: sharing at document, workspace, or team-site level; row, column, and table level rules; rules can depend on cell values and user attributes. - Collaboration: cell comments with threaded replies and mentions, real-time viewer presence, and suggested changes for review. - Self-hosting: sign-in with getgrist.com, external S3-compatible attachment storage, HTTP long polling as a WebSocket alternative, and sandboxing options (gVisor on Linux/Docker, native macOS sandbox, or Wasm-based Deno/Pyodide sandbox on any OS). - Accessibility and localization: translations, a high-contrast WCAG AA theme, screen reader and keyboard navigation support, and F1 quick help. Deployment: the quickest start is Docker (docker pull gristlabs/grist; docker run -p 8484:8484 -it gristlabs/grist), then visit localhost:8484. A Quick setup page guides admin email, sign-in method, and site access; a boot key is printed in the container log. Persist data by mounting a directory at /persist. A gristlabs/grist-oss image contains only free and open-source code. Building from source uses yarn install, yarn install:python, yarn build, and yarn start; the default build includes optional non-OSS extensions, while yarn run set-community-edition skips them. The README also lists features available only in the full edition, such as GristConnect, Azure document storage, audit log streaming, advanced admin controls, a broader Grist Assistant, invite and change notifications, automations, OAuth apps, a built-in MCP server, and OIDC/SAML single sign-on. The full edition is free for individuals and small organizations under a funding threshold.