mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
66643a5e6b
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.
35 lines
787 B
Plaintext
35 lines
787 B
Plaintext
### python 3 requirements, see requirements.txt for python 2
|
|
|
|
# friendly-traceback and its dependencies, for python 3 only
|
|
friendly-traceback==0.7.48
|
|
stack-data==0.5.1
|
|
executing==1.1.1
|
|
pure-eval==0.2.2
|
|
|
|
# openpyxl and its dependencies, for imports, which are python 3 only
|
|
openpyxl==3.0.10
|
|
jdcal==1.4.1
|
|
et-xmlfile==1.0.1
|
|
|
|
# Different astroid version for python 3
|
|
astroid==2.14.2
|
|
typing_extensions==4.4.0
|
|
|
|
# Different roman version for python 3
|
|
roman==3.3
|
|
|
|
# Everything after this is the same for python 2 and 3
|
|
asttokens==2.0.5
|
|
backports.functools-lru-cache==1.6.4
|
|
chardet==4.0.0
|
|
enum34==1.1.10
|
|
iso8601==0.1.12
|
|
lazy_object_proxy==1.6.0
|
|
phonenumberslite==8.12.57
|
|
python_dateutil==2.8.2
|
|
singledispatch==3.6.2
|
|
six==1.16.0
|
|
sortedcontainers==2.4.0
|
|
wrapt==1.12.1
|
|
unittest-xml-reporting==2.0.0
|