Core features of grist-core
mainThe grist-core repository provides a powerful server for hosting spreadsheets. Key features include:
Data Model
- Hybrid Database/Spreadsheet: Columns are named and typed (like a database), but can be filled with spreadsheet-style formulas that update automatically.
- Portable SQLite Format: Documents are based on SQLite, making them easy to back up, restore, and move between different hosts.
Formulas and Logic
- Python Formulas: Supports full Python syntax and the standard library, alongside many Excel functions.
- AI Formula Assistant: Supports formula generation using OpenAI, Llama (via OpenRouter), or other OpenAI-compatible endpoints.
- Formula Timer: A tool for diagnosing slow-performing formulas.
UI and Visualization
- Dashboards: Drag-and-drop layout using widgets like Charts, Card views, Calendar widgets, and Summary tables.
- Widget Linking: Allows widgets to filter and edit data in sync.
- Formatting: Includes Conditional Formatting, Markdown in text cells, and specialized editors for Dates, Toggles, and Currency.
Integrations and Automation
- REST API: Includes an interactive API console and support for service accounts.
- Webhooks: Configurable outgoing webhooks with support for authorization headers and formula-based triggers.
- Data Import/Export: Supports CSV, Excel, Google Drive, and direct imports from Airtable. Supports incremental imports to avoid duplication.
- Native Forms: Create forms that feed directly into spreadsheets, supporting file attachments and URL parameter pre-population.
Collaboration and Security
- Access Control: Control access at the document, workspace, or even individual row, column, and table level.
- Collaboration: Real-time viewing, cell comments with @-mentions, and a 'Suggest changes' workflow.
- Sandboxing: Supports gVisor (Linux/Docker), native sandboxing (macOS), or Wasm-based sandboxing (Deno/Pyodide) for untrusted documents.