{"id":13669715,"url":"https://github.com/sony/v8eval","last_synced_at":"2025-04-12T18:46:49.186Z","repository":{"id":59158895,"uuid":"42712757","full_name":"sony/v8eval","owner":"sony","description":"Multi-language bindings to JavaScript engine V8","archived":false,"fork":false,"pushed_at":"2020-12-29T12:49:19.000Z","size":122,"stargazers_count":403,"open_issues_count":14,"forks_count":37,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-30T00:36:44.619Z","etag":null,"topics":["golang","python","ruby","v8"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-18T09:38:02.000Z","updated_at":"2024-08-30T21:58:23.000Z","dependencies_parsed_at":"2022-09-13T20:11:17.138Z","dependency_job_id":null,"html_url":"https://github.com/sony/v8eval","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fv8eval","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fv8eval/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fv8eval/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fv8eval/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sony","download_url":"https://codeload.github.com/sony/v8eval/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248617653,"owners_count":21134196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","python","ruby","v8"],"created_at":"2024-08-02T09:00:20.496Z","updated_at":"2025-04-12T18:46:49.154Z","avatar_url":"https://github.com/sony.png","language":"C++","readme":"# v8eval\n\n[![PyPI version](https://badge.fury.io/py/v8eval.svg)](http://badge.fury.io/py/v8eval)\n[![Gem Version](https://badge.fury.io/rb/v8eval.svg)](https://badge.fury.io/rb/v8eval)\n[![GoDoc](https://godoc.org/github.com/sony/v8eval/go/v8eval?status.svg)](http://godoc.org/github.com/sony/v8eval/go/v8eval)\n\nMulti-language bindings to JavaScript engine V8.\n\nCurrently v8eval provides Go, Python and Ruby bindings to the latest V8 7.1 and supports Linux and Mac OS X.\nv8eval uses SWIG and can be extended easily for other languages.\n\n## Pre-installation\n\n#### Linux\n\nSee [Dockerfile](https://github.com/sony/v8eval/blob/master/Dockerfile).\n\n#### Mac\n\nSee [.travis.yml](https://github.com/sony/v8eval/blob/master/.travis.yml).\n\n## Installation\n\nThe installation takes several tens of minutes due to V8 build.\n\n#### Go\n\nv8eval requires Go 1.10 or later.\n\n```\ngit clone https://github.com/sony/v8eval.git ${GOPATH}/src/github.com/sony/v8eval\n${GOPATH}/src/github.com/sony/v8eval/go/build.sh install\n```\n\nIn the case of Linux, you need to build your Go program with `build.sh`:\n\n```\n${GOPATH}/src/github.com/sony/v8eval/go/build.sh go build\n```\n\n#### Python\n\n```\npip install v8eval\n```\n\n#### Ruby\n\n```\ngem install v8eval\n```\n\n## Documentation\n\n#### Go\n\nSee [godoc.org](http://godoc.org/github.com/sony/v8eval/go/v8eval).\n\n#### Python\n\nYou can create the Sphinx documentation under python/docs.\n\n```\npython/build.sh docs\n```\n\n#### Ruby\n\nYou can create the YARD documentation under ruby/doc.\n\n```\nruby/build.sh docs\n```\n\n## Examples\n\n#### Go\n\n```go\nimport \"github.com/sony/v8eval/go/v8eval\"\n\nfunc Add(x, y int) int {\n\tvar v8 = v8eval.NewV8()\n\tv8.Eval(\"var add = (x, y) =\u003e x + y;\", nil)\n\n\tvar sum int\n\tv8.Call(\"add\", []int{x, y}, \u0026sum)\n\treturn sum\n}\n```\n\n#### Python\n\n```python\nimport v8eval\n\ndef add(x, y):\n    v8 = v8eval.V8()\n    v8.eval('var add = (x, y) =\u003e x + y;')\n    return v8.call('add', [x, y])\n```\n\n#### Ruby\n\n```ruby\nrequire 'v8eval'\n\ndef add(x, y)\n  v8 = V8Eval::V8.new\n  v8.eval('var add = (x, y) =\u003e x + y;')\n  v8.call('add', [x, y])\nend\n```\n\n## License\n\nThe MIT License (MIT)\n\nSee [LICENSE](https://github.com/sony/v8eval/blob/master/LICENSE) for details.\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsony%2Fv8eval","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsony%2Fv8eval","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsony%2Fv8eval/lists"}