Testing Site Testing Site

skip to navigation
skip to content

v8eval 0.2.8

Run JavaScript engine V8 in Python

Multi-language bindings to JavaScript engine V8.

Currently v8eval provides Go, Python and Ruby bindings to the latest V8 6.0 and supports Linux and Mac OS X. v8eval uses SWIG and can be extended easily for other languages.

Pre-installation

Linux

See Dockerfile.

Mac

See .travis.yml.

Installation

The installation takes several tens of minutes due to V8 build.

Go

git clone https://github.com/sony/v8eval.git $GOPATH/src/github.com/sony/v8eval
$GOPATH/src/github.com/sony/v8eval/go/build.sh install

Python

pip install v8eval

Ruby

gem install v8eval

Documentation

Go

See godoc.org.

Python

You can create the Sphinx documentation under python/docs.

python/build.sh docs

Ruby

You can create the YARD documentation under ruby/doc.

ruby/build.sh docs

Examples

Go

import "github.com/sony/v8eval/go/v8eval"

func Add(x, y int) int {
    var v8 = v8eval.NewV8()
    v8.Eval("var add = (x, y) => x + y;", nil)

    var sum int
    v8.Call("add", []int{x, y}, &sum)
    return sum
}

Python

import v8eval

def add(x, y):
    v8 = v8eval.V8()
    v8.eval('var add = (x, y) => x + y;')
    return v8.call('add', [x, y])

Ruby

require 'v8eval'

def add(x, y)
  v8 = V8Eval::V8.new
  v8.eval('var add = (x, y) => x + y;')
  v8.call('add', [x, y])
end

License

The MIT License (MIT)

See LICENSE for details.

 
File Type Py Version Uploaded on Size
v8eval-0.2.8.tar.gz (md5) Source 2017-04-21 13KB