Search notes:

Python library: py_mini_racer

py_mini_racer allows to use the Javascript engine V8 from Python.

Installation with pip

pip3 install py-mini-racer

Evaluating and executing a variable

eval() returns a scalar, execute() is able to return an object:
from py_mini_racer import MiniRacer

js = """
let v = {
   "txt": "Hello world",
   "num":  42,
   "val": [
     [1, 2, 3],
     [4, 5, 6]
    ]
};
"""

ctx = MiniRacer()

ctx.eval(js)

print(ctx.eval('v.val[1][2]'))
print(ctx.eval('v.txt'))
print(ctx.eval('v.num'))

for r in ctx.execute('v.val'):
    for c in r:
        print(c)

Index