ExecJSはRubyからJavaScriptのコードを実行できるライブラリです。
ExecJSは、もしrubyracerなどJavaScriptライブラリがあればそれを利用し、さもなくばコンピュータからNode.jsなどのインタープリタを検索してきます。JScriptも使えるため、自前でV8をビルドする手間なしに、WindowsでRubyからJavaScriptを利用出来るのです。
Ruby on RailsもExecJSを使っている(らしい)。
これをPythonに移植しました。
>>> import execjs >>> execjs.eval("'red yellow blue'.split(' ')") ['red', 'yellow', 'blue'] >>> ctx = execjs.compile(""" ... function add(x, y) { ... return x + y; ... } ... """) >>> ctx.call("add", 1, 2) 3
PyV8がインストールされていればそれを使い、さもなくばNode.js, JavaScriptCore,SpiderMonkey,JScriptを探してきて使います。
PyPIとGithubで公開しています。
まぁ、PyV8は
$ pip install PyV8
だけでWindowsにも簡単にインストール出来るので、わざわざ遅いPyExecJSを使う必要性は低いと思いますが。