binjs-ref VS dukpy

Compare binjs-ref vs dukpy and see what are their differences.

binjs-ref

Reference implementation for the JavaScript Binary AST format (by binast)

dukpy

Simple JavaScript interpreter for Python (by amol-)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
binjs-ref dukpy
1 4
424 452
0.0% -
0.0 5.7
almost 3 years ago about 1 month ago
Rust JavaScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

binjs-ref

Posts with mentions or reviews of binjs-ref. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-01.

dukpy

Posts with mentions or reviews of dukpy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-10.
  • YouTube-dl has a JavaScript interpreter written in 870 lines of Python
    19 projects | news.ycombinator.com | 10 Sep 2022
  • Python is in the browser. No idea if this will lead to chaos or harmony...
    4 projects | /r/ProgrammerHumor | 1 May 2022
    oh good, maybe we can now use python's javascript interpreter in browsers https://github.com/amol-/dukpy
  • Web Browser Engineering
    4 projects | news.ycombinator.com | 19 Oct 2021
    I was interested to see that this uses the DukPy wrapper around Duktape for the JavaScript interpreter: https://browser.engineering/scripts.html

    This made me start digging into whether this was considered a "safe" way of executing untrusted JavaScript in a sandbox.

    its not completely clear to me if DukPy currently attempts safe evaluation - it's missing options for setting time or memory limits on executed code for example: https://github.com/amol-/dukpy

    There's a QuickJS Python wrapper here which offers those limits: https://github.com/PetterS/quickjs

    I'm pretty paranoid though any time it comes to security and dependencies written in C, so I'd love to see a Python wrapper around a JavaScript engine that has safe sandbox execution as a key goal plus an extensive track record to back it up!

  • My friend thought that 1 is a string in Python
    1 project | /r/badcode | 9 Jan 2021
    I didn't write it, but here you go. Thanks to the fact that you can pass Python arguments to the JavaScript function, it will nicely cast them for you (via JSON) and make them behave per a Javascript object, which can then do some funsies to make it act like a string.

What are some alternatives?

When comparing binjs-ref and dukpy you can also consider the following projects:

esprima - ECMAScript parsing infrastructure for multipurpose analysis

quickjs - Thin Python wrapper of https://bellard.org/quickjs/

kataw - An 100% spec compliant ES2022 JavaScript toolchain

jsx-control-statements - Neater If and For for React JSX

jsonpath - JsonPath engine written in Rust. Webassembly and Javascript support too

prettier - Prettier is an opinionated code formatter.

hex - A user-friendly re-implementation of existing hex tools in Rust

PyMiniRacer - PyMiniRacer is a V8 bridge in Python.

pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

swc - Rust-based platform for the Web

vado - A demo web browser engine written in Haskell