{"categories":[{"label":"Interpreters","url":"https://skillfed.io/packages/category/software-development-interpreters"}],"enrichment":{"capability":"Executes JavaScript code inside a WebAssembly sandbox from Python, with support for ES modules, TypeScript stripping, async/await, and Python-to-JS function bridging.","skillfed_tags":["javascript-sandbox","wasm-runtime","async-bridge"],"use_cases":["Execute untrusted or user-supplied JavaScript safely without exposing the Python process to direct memory access.","Bridge Python and JavaScript logic in a single process\u2014call Python functions from JS and vice versa with type conversion.","Load and run ES modules with custom resolution policy, enabling plugin architectures or dynamic code loading.","Strip and execute TypeScript source code without a separate compilation step or type-checking pipeline.","Snapshot a fully initialized JS VM state and restore it into fresh contexts for fast, stateful re-execution."],"what_it_does":"quickjs-rs runs JavaScript inside a WebAssembly sandbox, isolating guest code from the Python host. The package bundles quickjs-ng (a QuickJS fork) compiled to WebAssembly and driven by wasmtime; it ships as a pure-Python wheel with no native compilation step. You write Python code that creates a Runtime and Context, then eval JavaScript strings or async code, optionally registering Python callables as JS globals and vice versa.\n\nThe sandbox supports ES modules with custom host-controlled resolution, TypeScript source stripping before evaluation, and full async/await semantics bridging Python and JS. You can also capture and restore entire VM snapshots\u2014heap state, closures, pending promises\u2014as binary payloads. The security model relies on WebAssembly's linear-memory isolation; the JS engine cannot access Python's address space, though wasmtime itself remains the residual attack surface.","worth_installing":"Yes, if you need sandboxed JavaScript execution in Python and can tolerate the experimental status. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a reasonable choice. Read the security guide before production use\u2014wasmtime updates are critical, and snapshot bytes are treated as trusted input. Not suitable if you need a mature, battle-tested JS runtime or if your Python version is below 3.11."},"id":"quickjs-rs","links":{"html":"https://skillfed.io/packages/quickjs-rs","md":"https://skillfed.io/packages/quickjs-rs.md","pypi":"https://pypi.org/project/quickjs-rs/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-24","license_spdx":null,"license_treatment":"permissive","name":"quickjs-rs","python_support":"supports_current","summary":"Sandboxed JavaScript execution for Python, via wasmtime + rquickjs."},"popularity":{"monthly_downloads":305638,"position":7793,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.2.5"}
