Skip to content

nitely/v8-cffi

Repository files navigation

V8-CFFI

Build Status Coverage Status pypi licence

Embed the V8 Javascript engine into Python.

Note: The initial purpose of this library is to render React components server side.

Compatibility

  • GCC +4.8
  • G++ +4.8
  • Python 2.7, 3.4, 3.5 and PyPy 5.3

Note: Linux-x64 is the only (officially) supported platform. To build the binaries for other platforms, the ./dev steps must be adapted (probably to vagrant instead of docker) accordingly. PRs are welcome.

Usage

from v8cffi import shortcuts
shortcuts.set_up()

ctx = shortcuts.get_context()
ctx.load_libs(['./foo_bundled.js'])
ctx.run_script('foo.render("hola mundo");')
# "hola mundo"

Read the docs.

Notes

  • Currently ships with V8 4.9.385.33 (stable).
  • This repo contains V8 static files for Linux-x64, built with CentOS 6.7 (glibc 2.12), it's known to work in Ubuntu 12.04/14.04/16.04.

Resources

Devs

Devs

Benchmarks

This will run some silly benchmarks. It runs about ~110k ops/s on a 1.8GHz CPU.

$ make benchmarks

License

MIT