PyMiniRacer VS mini_racer

Compare PyMiniRacer vs mini_racer and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
PyMiniRacer mini_racer
4 4
692 581
2.9% 0.7%
3.7 5.3
4 days ago 7 days ago
Python JavaScript
ISC License 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.

PyMiniRacer

Posts with mentions or reviews of PyMiniRacer. 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
    Embedding V8 can work quite well: https://github.com/sqreen/PyMiniRacer

    You probably have to emulate some of the DOM, but you can interact directly with whatever obfuscated/packed scripts in a more lightweight and secure way than driving an entire browser.

  • connecting languages
    1 project | /r/learnprogramming | 26 Aug 2022
    First learn what forms computer code can be in. Source code combine js and python or to combine c and C++ object code with a linker or at runtime if you want to shell out and run from the prompt
  • Web Browser Engineering
    4 projects | news.ycombinator.com | 19 Oct 2021
    If you want battle-hardened, I figure you can't do better than V8. Here's a Python wrapper that I've poked at a bit (it's not quite 100% feature-complete but it seems to essentially work): https://github.com/sqreen/PyMiniRacer

mini_racer

Posts with mentions or reviews of mini_racer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-03.
  • Ask HN: What side projects landed you a job?
    62 projects | news.ycombinator.com | 3 Dec 2023
    Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • YouTube-dl has a JavaScript interpreter written in 870 lines of Python
    19 projects | news.ycombinator.com | 10 Sep 2022
    Cue libv8-node+mini_racer from which PyMiniRacer was born. It is non-trivial but not as hard as one might think.

    The most painful part is the libv8 build system and Google tooling, which makes it an absolute PITA for libv8 consumers that are not Chrome.

    This is why the libv8 gem was atrocious to keep up to date and to build for several platforms, and why libv8-node was born, because the node build system and source distribution are actually sane.

    Disclaimer: worked at Sqreen, now maintainer of libv8-node and collaborator of mini_racer

    https://github.com/sqreen/PyMiniRacer

    https://github.com/rubyjs/mini_racer

    https://github.com/rubyjs/libv8-node

  • Rendering markdown with Markdoc in Rails
    7 projects | dev.to | 13 Jul 2022
    Eventually, we’ll want to call this JavaScript from a Rails controller using ExecJS or MiniRacer or some similar tool. None of the Ruby-to-JavaScript gems I found were sophisticated enough to know how to load npm modules with common.js or ES module syntax, so my solution is to just build the JavaScript with a watcher and have that run as part of bin/dev.
  • Anyone having issues with M1Pro?
    1 project | /r/rails | 11 Nov 2021
    https://github.com/rubyjs/mini_racer/issues/190 has some info an then this PR: https://github.com/rubyjs/mini_racer/pull/210 that has been merged. Hope that all helps!

What are some alternatives?

When comparing PyMiniRacer and mini_racer you can also consider the following projects:

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

execjs - Run JavaScript code from Ruby

dukpy - Simple JavaScript interpreter for Python

libv8-node - Package libv8 from Node

Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

tube-get - A tube-site downloader

pyduktape - Embed the Duktape JS interpreter in Python

Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint

markdoc-rails - Example of rendering markdown using Markdoc with Ruby on Rails

nitter - Alternative Twitter front-end