You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

python-wasm

Package Overview
Dependencies
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-wasm

python-wasm -- Web Assembly Python for Node.js and the Browser

Source
npmnpm
Version
0.20.3
Version published
Weekly downloads
4
Maintainers
1
Weekly downloads
 
Created
Source

python-wasm: WebAssembly CPython for Node.js and the browser

DEMOS:

  • https://zython.cocalc.com (uses Atomics)
  • https://zython.org (uses Service Workers)

See the main repo for more information.

Using from node.js

Install the package:

npm install python-wasm

The library should work with nodejs version 16.x on Linux, MacOS, and native Microsoft Windows. (NOTE: for node 14, use the --experimental-wasm-bigint flag.)

wstein@max % node
Welcome to Node.js v16.13.0.
Type ".help" for more information.
> python = require('python-wasm')
> await python.init();
> await python.exec('a = sum(range(101)); print(a)')   # outputs to stdout
5050
> s = await python.repr('a'); s # javascript string
5050
> await python.exec('import sys; print(sys.version)')
'3.11.0b3 (main, Jul  8 2022, 23:21:07) [Clang 13.0.1 (git@github.com:ziglang/zig-bootstrap.git 81f0e6c5b902ead84753490d'
> await python.repr('sys.platform')
"'wasi'"

You can also start a full session with readline support (yes, this is real!):

$ node
> require('python-wasm').terminal()
>>> 2+3   # you can edit with readline!
5
>>> 1/0  
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
>>> quit() or ctrl+d

Using in a web application

See this repo for how to use Webpack5 with python-wasm.

API

The python-wasm module exports:

  • exec(code:string) - execute code (output goes to /dev/stdout and /dev/stderr)
  • repr(expr:string) - return representation of an expression as a string
  • terminal - start interactive Python terminal that has full readline support

Keywords

python

FAQs

Package last updated on 20 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts