← Back to context

Comment by pplonski86

14 hours ago

Are you aware of any lightweight sandboxes for Python? not browser based

You mean for running unsafe Python code?

I'm on a multi-year quest to answer that question!

The best I've found is running Python code inside Pyodide in WASM in Node.js or Deno accessed from Python via a subprocess, which is a wildly convoluted way to go but does appear to work! https://til.simonwillison.net/deno/pyodide-sandbox

Here's a related recent experimental library which does something similar but with JavaScript rather than Python as the unsafe language, again via Deno in a subprocess: https://github.com/simonw/denobox

I've also experimented with using wasmtime instead of Deno: https://til.simonwillison.net/webassembly/python-in-a-wasm-s...

  • Stay tuned, we are about to release a new version of Wasmer with WASIX, that allows for things that can't currently be done with Pyodide:

      * Multithreaded support
      * Calling subprocesses
      * Signals
      * Full networking support
      * Support for greenlets (say hi to SQLAlchemy!) :)
    

    It requires a small effort in wasmer-js, but it already works fully on the server! :)