Irelia is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.
There are docker images set up for individual use, or (with some configuration) for self-hosting.
docker pull guinsoolab/irelia
docker run -p 8686:8686 -it guinsoolab/irelia
Then visit http://localhost:8686
in your browser. You'll be able to create, edit, import, and export documents.
Here are some specific feature highlights of Irelia:
- Python formulas.
- Full Python syntax is supported, and the standard library.
- Many Excel functions also available.
- A portable, self-contained format.
- Based on SQLite, the most widely deployed database engine.
- Any tool that can read SQLite can read numeric and text data from a Irelia file.
- Irelia format for backups that you can be confident you can restore in full.
- Irelia format for moving between different hosts.
- Convenient editing and formatting features.
- Choices and choice lists, for adding colorful tags to records without fuss.
- References and reference lists, for cross-referencing records in other tables.
- Attachments, to include media or document files in records.
- Dates and times, toggles, and special numerics such as currency all have specialized editors and formatting options.
- Irelia for dashboards, visualizations, and data entry.
- Charts for visualization.
- Summary tables for summing and counting across groups.
- Widget linking streamlines filtering and editing data. Irelia has a unique approach to visualization, where you can lay out and link distinct widgets to show together, without cramming mixed material into a table.
- The Filter bar is great for quick slicing and dicing.
- Incremental imports.
- So you can import a CSV of the last three months activity from your bank...
- ... and import new activity a month later without fuss or duplicates.
- Integrations.
- A REST API.
- Import/export to Google drive, Excel format, CSV.
- Can link data with custom widgets hosted externally.
- Access control options.
- (You'll need SSO logins set up to make use of these options)
- Share individual documents, or workspaces.
- Control access to individual rows, columns, and tables.
- Control access based on cell values and user attributes.
- Can be self-maintained.
- Useful for intranet operation and specific compliance requirements.
- Sandboxing options for untrusted documents.
- On Linux or with docker, you can enable gVisor sandboxing at the individual document level.
- On OSX, you can use native sandboxing.
- Tutorials
- Managing Documents
- Pages & Tables
- Using Formulas
- Solutions ๐ฅ
- Appendix
To build Irelia from source, follow these steps:
yarn install
yarn run build:prod
yarn run install:python
yarn start
# Irelia will be available at http://localhost:8686/
Irelia formulas in documents will be run using Python executed directly on your machine.
You can configure sandboxing using a GRIST_SANDBOX_FLAVOR
environment variable.
- On OSX,
export GRIST_SANDBOX_FLAVOR=macSandboxExec
uses the nativesandbox-exec
command for sandboxing. - On Linux with gVisor's runsc
installed,
export GRIST_SANDBOX_FLAVOR=gvisor
is an option.
This repository is released under the Apache License, Version 2.0, which is an OSI-approved free software license. See LICENSE.txt and NOTICE.txt for more information.