--- id: quickjs version: "1.19.4" license: unclear license_treatment: unclear maintenance: abandoned --- # quickjs — Wrapping the quickjs C library. License: unclear · Maintenance: abandoned · Downloads: 964.1K/mo ## What it is and what it does quickjs is a Python binding for the QuickJS C library, allowing you to execute JavaScript code directly from Python and call Python functions from within that JavaScript. It handles type conversion for simple types (int, float, string) automatically and converts complex types (dicts, lists) via JSON. The library is thread-safe when using the Function class and provides resource control through memory and time limits, making it suitable for sandboxed or production code execution. The package has been archived and is no longer actively maintained as of its last release in 2023-11-19. Prebuilt wheels are available for Python 3.7-3.10 on major platforms (Windows, macOS, Linux), reducing installation friction for those versions. However, the abandoned status means no new features, security patches, or compatibility updates should be expected. Use it for: - Execute untrusted JavaScript in a sandboxed environment with memory and time limits for security. - Embed a lightweight JavaScript engine in Python applications without external process dependencies. - Call Python functions from JavaScript code running inside the interpreter for bidirectional interop. - Prototype or test JavaScript logic from a Python codebase without spawning external processes. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Wraps the QuickJS C library to execute JavaScript code from Python, with support for calling Python functions from JS and resource limits. Yes, if you need lightweight JavaScript execution and can accept the abandoned maintenance status. The package is stable with no known vulnerabilities, making it suitable for non-critical use cases. However, do not use it if you require ongoing security updates, Python version support beyond those with prebuilt wheels, or active bug fixes. Verify the unclear license terms before use in proprietary projects. ## Install pip install quickjs uv add quickjs poetry add quickjs ## Installing quickjs Before you install: Medium install friction due to compiled C extension; prebuilt wheels available for Python 3.7-3.10 on Windows, macOS, and Linux. Repository is archived and abandoned as of the latest release. License in practice: License treatment is unclear—no SPDX identifier or raw license text provided. Verify licensing terms before use in proprietary or redistributed projects. Quickstart: pip install quickjs from quickjs import Function f = Function("f", """ function adder(a, b) { return a + b; } function f(a, b) { return adder(a, b); } """) assert f(1, 2) == 3 Requires a C compiler and build tools to compile the QuickJS extension if prebuilt wheels are unavailable for your platform. Verify before relying: - Exact license terms and whether redistribution is permitted - Whether abandoned status affects security or compatibility with future Python versions - Support for Python versions beyond those with prebuilt wheels ## Package facts - License: not declared (unclear) - Python support: unspecified - Install friction: medium - Maintenance: abandoned - Downloads: 964.1K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags javascript execution from python, run js code in python, quickjs binding, embed javascript interpreter, python javascript bridge, javascript-interop, sandboxing [View on SkillFed](https://skillfed.io/packages/quickjs) · [View on PyPI](https://pypi.org/project/quickjs/)