Commit Graph

6 Commits

Author SHA1 Message Date
Paul Fitzpatrick
2be130032e
bump pyodide version number (#735)
Pyodide packages needed rebuilding, and the pyodide project has
moved on a bit so a new version number is needed. The new packages
have already been built and pushed to S3.

To verify, go to `sandbox/pyodide` and follow the README there.
Then at top level do `GRIST_SANDBOX_FLAVOR=pyodide`. Try to
create and edit a document using formulas. It should work.
2023-11-09 13:21:06 -05:00
Paul Fitzpatrick
a18007ae7a
remove cached packages for pyodide when cleaning up (#650)
If these get messed up, it is hard to track down the problem.
2023-08-29 15:21:34 -04:00
Paul Fitzpatrick
95b0877686
update pyodide package list (#648)
A chardet dependency had changed, breaking a grist-electron upgrade.
So I reran the pyodide script to build the new one, and pushed it
to our CDN. This file changed. I don't see exactly where it plays
a role, but I thought I'd better commit it anyway.
2023-08-29 08:52:38 -04:00
Paul Fitzpatrick
5119ce92cb
add a version number to precompiled pyodide resources (#607) 2023-08-02 16:29:43 -04:00
Alex Hall
d72f177be0
Upgrade to Pyodide 0.23.4 (with Python 3.11) and compile dependencies (#603)
* Build packages with latest pyodide, compile wheels to use pyc files, output package_filenames.json
2023-08-02 20:15:53 +02:00
Paul Fitzpatrick
66643a5e6b
add a pyodide-based "sandbox" flavor (#437)
This adds a new `GRIST_SANDBOX_FLAVOR=pyodide` option where the
version of Python used for the data engine is wasm, and so can
be run by node like the rest of the back end. It still runs as
a separate process.

There are a few small version changes made to packages to avoid
various awkwardnesses present in the current versions. All existing
tests pass.

This is very experimental. To use, you'll need something with
a bash shell and make. First do:
```
cd sandbox/pyodide
make setup           # README.md and Makefile have details
cd ..
```

Then running Grist as:
```
GRIST_SANDBOX_FLAVOR=pyodide yarn start
```
should work. Adding a formula with content:
```
import sys; return sys.version
```
should return a different Python version than other sandboxes.

The motivation for this work is to have a form of sandboxing
that will work on Windows for Grist Electron (for Linux we have
gvisor/runsc, for Mac we have sandbox-exec, but I haven't found
anything comparable for Windows).

It also brings a back-end-free version of Grist a bit closer, for
use-cases where that would make sense - such as serving a report
(in the form of a Grist document) on a static site.
2023-03-06 16:56:25 -05:00