2020-07-31 02:44:10 +00:00
|
|
|
|
# Grist
|
|
|
|
|
|
2021-05-15 16:12:36 +00:00
|
|
|
|
Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the
|
2020-07-31 02:44:10 +00:00
|
|
|
|
robustness of a database to organize your data and make you more productive.
|
|
|
|
|
|
|
|
|
|
> :warning: This repository is in a pre-release state. Its release will be announced when it has
|
|
|
|
|
all the planned components, and a solid independent build and test set-up. Currently, stand-alone
|
2020-10-28 17:37:36 +00:00
|
|
|
|
server functionality is present, along with a single-user web client.
|
2020-07-31 02:44:10 +00:00
|
|
|
|
|
|
|
|
|
This repository, [grist-core](https://github.com/gristlabs/grist-core), is maintained by Grist
|
2020-10-29 21:54:45 +00:00
|
|
|
|
Labs. Our flagship product, available at [getgrist.com](https://www.getgrist.com), is built from the code you see
|
2020-07-31 02:44:10 +00:00
|
|
|
|
here, combined with business-specific software designed to scale it to many users, handle billing,
|
|
|
|
|
etc.
|
|
|
|
|
|
2020-10-29 21:54:45 +00:00
|
|
|
|
If you are looking to use Grist in the cloud, head on over to [getgrist.com](https://www.getgrist.com).
|
2021-08-18 02:20:00 +00:00
|
|
|
|
If you are curious about where Grist is going heading,
|
|
|
|
|
see [our roadmap](https://github.com/gristlabs/grist-core/projects/1), drop a
|
|
|
|
|
question in [our forum](https://community.getgrist.com),
|
|
|
|
|
or browse [our extensive documentation](https://support.getgrist.com).
|
|
|
|
|
|
2020-10-29 21:54:45 +00:00
|
|
|
|
|
2020-10-28 17:37:36 +00:00
|
|
|
|
## Opening and editing a Grist document locally
|
|
|
|
|
|
2020-10-29 21:54:45 +00:00
|
|
|
|
The easiest way to use Grist locally on your computer is with [Docker](https://www.docker.com/get-started).
|
2020-10-28 17:37:36 +00:00
|
|
|
|
From a terminal, do:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
docker pull gristlabs/grist
|
|
|
|
|
docker run -p 8484:8484 -it gristlabs/grist
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Then visit `http://localhost:8484` in your browser. You'll be able to create and edit documents,
|
|
|
|
|
and to import documents downloaded from the https://docs.getgrist.com host. You'll also be able
|
|
|
|
|
to use the Grist API.
|
|
|
|
|
|
|
|
|
|
To preserve your work across docker runs, provide a directory to save it in:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
docker pull gristlabs/grist
|
|
|
|
|
docker run -p 8484:8484 -v $PWD/persist:/persist -it gristlabs/grist
|
|
|
|
|
```
|
|
|
|
|
|
2020-10-29 21:54:45 +00:00
|
|
|
|
## Building from source
|
|
|
|
|
|
|
|
|
|
Here are the steps needed:
|
|
|
|
|
|
|
|
|
|
```sh
|
2021-04-02 23:11:27 +00:00
|
|
|
|
yarn install
|
|
|
|
|
yarn run build:prod
|
|
|
|
|
yarn run install:python
|
|
|
|
|
yarn start
|
2021-08-18 02:20:00 +00:00
|
|
|
|
# grist client available at http://localhost:8484
|
|
|
|
|
# grist api available at http://localhost:8484/api/
|
2020-10-29 21:54:45 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-08-18 02:20:00 +00:00
|
|
|
|
Then you can use the Grist client, or the API. You can view and edit Grist documents
|
|
|
|
|
throught the client and the API. All imported/created documents will appear in the `docs`
|
|
|
|
|
subdirectory. You cannot (yet) edit Grist documents in place on your file system.
|
2020-10-29 21:54:45 +00:00
|
|
|
|
|
2021-08-18 02:20:00 +00:00
|
|
|
|
Grist does not have a login system built in. To activate one, you can configure Grist
|
|
|
|
|
to talk to an identity provider such as Auth0 using
|
|
|
|
|
[SAML](https://github.com/gristlabs/grist-core/blob/main/app/server/lib/SamlConfig.ts).
|
|
|
|
|
For running on your own computer, this isn't necessary, but it is important if you are
|
|
|
|
|
self-hosting Grist for use by a team.
|
2020-10-29 21:54:45 +00:00
|
|
|
|
|
2020-07-31 02:44:10 +00:00
|
|
|
|
## Why Open Source?
|
|
|
|
|
|
|
|
|
|
By opening its source code and offering an [OSI](https://opensource.org/)-approved free license,
|
|
|
|
|
Grist benefits its users:
|
|
|
|
|
|
|
|
|
|
- **Open Source Community.** An active community is the main draw of open-source projects. Anyone
|
|
|
|
|
can examine source code, and contribute bug fixes or even new features. This is a big deal for a
|
|
|
|
|
general-purpose spreadsheet-like product, where there is a long tail of features vital to
|
|
|
|
|
someone somewhere.
|
|
|
|
|
- **Increased Trust.** Because anyone can examine the source code, “security by obscurity” is not
|
|
|
|
|
an option. Vulnerabilities in the code can be found by others and reported before they can cause
|
|
|
|
|
damage.
|
|
|
|
|
- **Independence.** The published source code—and the product built from it—are available to you
|
|
|
|
|
regardless of the fortunes of the Grist Labs business. Whatever happens to us, this repo or its
|
|
|
|
|
forks can live on, so that you can continue to work on your data in Grist.
|
|
|
|
|
- **Price Flexibility.** You can build Grist from source and use it for yourself all you want
|
|
|
|
|
without paying us a cent. While you can’t go wrong with our fully set-up and supported online
|
|
|
|
|
service, some organizations may choose the do-it-yourself route and pay for their own server and
|
|
|
|
|
maintenance, rather than a per-user price. DIY users are often the ones to develop new features,
|
|
|
|
|
and can contribute them back to benefit all users of Grist.
|
|
|
|
|
- **Extensibility.** For developers, having the source open makes it easier to build extensions (such as the
|
|
|
|
|
experimental [Custom Widget](https://support.getgrist.com/widget-custom/)). You can more easily
|
|
|
|
|
include Grist in your pipeline. And if a feature is missing, you can just take the source code and
|
|
|
|
|
build on top of it!
|
|
|
|
|
|
2020-07-31 15:30:32 +00:00
|
|
|
|
# License
|
|
|
|
|
|
|
|
|
|
This repository, `grist-core`, is released under the [Apache License, Version
|
|
|
|
|
2.0](http://www.apache.org/licenses/LICENSE-2.0), which is an
|
|
|
|
|
[OSI](https://opensource.org/)-approved free software license. See LICENSE.txt and NOTICE.txt for
|
|
|
|
|
more information.
|