What the sandbox image ships¶
A script runs in a sandbox without network access, so it can import
only libraries that are already there or that Core installs for it from an approved file. Every
computer on the platform starts from one image, the sandbox image, which ships the libraries
organisations most often need to produce documents, spreadsheets, charts and presentations. A script
imports these without naming them in its packages.
This page lists every library in that image with its exact version; each name links to that version's
page on PyPI or npm. GET /packages answers the same list, where these entries carry
approval: image, and so does the Packages tab of Scripts in the console, with the origin in
the image. A new release of the platform can bring a new image; the tables here and that list change
with it.
The image is public, so you can pull it and run a script on your own machine before you upload it (Test a script locally).
Runtimes¶
| Runtime | Version | Start a script with |
|---|---|---|
| Python | 3.12.14 | ["python3", "main.py"] |
| Node.js | 24.22.1 | ["node", "index.js"] |
The sandbox runs Linux on x86-64 with glibc 2.41. A compiled Python wheel you approve yourself must be built for that platform and for CPython 3.12; a pure-Python wheel always fits.
Python libraries¶
| Library | Version | What it is for |
|---|---|---|
python-pptx |
1.0.2 | PowerPoint presentations (.pptx) |
python-docx |
1.2.0 | Word documents (.docx) |
openpyxl |
3.1.5 | Excel workbooks (.xlsx), reading and writing |
xlsxwriter |
3.2.9 | Excel workbooks, writing |
reportlab |
5.0.1 | PDF documents |
matplotlib |
3.11.2 | charts and plots |
pandas |
3.0.6 | tables and data analysis |
numpy |
2.5.4 | numerical arrays |
pillow |
13.0.0 | images |
The image also ships what these depend on. A script can import them too, but only the libraries above are chosen for the image; a dependency can leave when the library that needed it stops needing it.
| Library | Version |
|---|---|
charset-normalizer |
3.5.2 |
contourpy |
1.4.0 |
cycler |
0.12.1 |
et-xmlfile |
2.0.0 |
fonttools |
4.66.1 |
kiwisolver |
1.5.1 |
lxml |
6.1.3 |
packaging |
26.3 |
pyparsing |
3.3.3 |
python-dateutil |
2.9.0.post0 |
six |
1.17.0 |
typing-extensions |
4.16.0 |
Node.js packages¶
| Package | Version | What it is for |
|---|---|---|
pptxgenjs |
4.0.1 | PowerPoint presentations |
docx |
9.10.0 | Word documents |
A script reaches them with require. An ES module uses createRequire from node:module.
The image also ships what these depend on, under the same condition as the Python dependencies.
| Package | Version |
|---|---|
@types/node |
26.6.5 |
core-util-is |
1.0.3 |
hash.js |
1.1.7 |
https |
1.0.0 |
image-size |
2.0.3 |
immediate |
3.0.6 |
inherits |
2.0.4 |
jszip |
3.10.2 |
lie |
3.3.0 |
minimalistic-assert |
1.0.1 |
nanoid |
6.0.2 |
pako |
1.0.11 |
process-nextick-args |
2.0.1 |
sax |
1.6.1 |
setimmediate |
1.0.5 |
undici-types |
8.9.0 |
util-deprecate |
1.0.2 |
xml |
1.0.1 |
xml-js |
1.6.11 |
A library that is not here¶
Approve its wheel or tarball for your organisation, with every library it depends on that is not in the image, and name them in the script's version (Approve a package). Or ask your operator to approve it for every organisation on the deployment.