For installation and usage instructions see user docs
PySandbox is a library that helps developers create client-side Python-powered web applications. It is inspired by PyScript and built on top of Pyodide and Polyscript.
The main features of PySandbox are:
- Exports simple JS classes that can be used in any JS framework or html page.
- Web Worker ready. If your site is cross origin isolated, Web Workers can be used to execute python code.
- Restricted mode. Enabling this mode will disallow python scripts access to js.document.
- Custom modules support. You can define your own modules that are accessible in the codeblock.
- Input/Output support. You can easily pass data in and out of the python code blocks and display images and/or adding 3rd party JS integration.
- Helper methods for formatting code, find imports and installing modules in Pyodide.
Project bootstraped with tsup
and esbuild
. Node.js 18.x
is recommended for development.
/packages/pysandbox
: The core pysandbox
package.
yarn dev
to watch for changes and update build indist/
yarn test
to runplaywright
tests againstexamples/
/packages/docs
: Documentation site built via Astro.
yarn dev
to start an Astro development server