Skip to main content

Run JavaScript code from Python

Project description

PyExecJS

Run JavaScript code from Python.

PyExecJS is a porting of ExecJS from Ruby. PyExecJS automatically picks the best runtime available to evaluate your JavaScript program, then returns the result to you as a Python object.

A short example:

>>> 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

Of course, you can pick particular JavaScript runtime by get() function:

>>> default = execjs.get() # the automatically picked runtime
>>> default.eval("1 + 2")
3
>>> jscript = execjs.get("JScript")
>>> jscript.eval("1 + 2")
3
>>> node = execjs.get("Node")
>>> node.eval("1 + 2")
3

If EXECJS_RUNTIME environment variable is specified, PyExecJS pick the JavaScript runtime as a default:

>>> #execjs.get().name # this value is depends on your environment.
>>> os.environ["EXECJS_RUNTIME"] = "Node"
>>> execjs.get().name
'Node.js (V8)'

PyExecJS supports these runtimes:

Installation

$ pip install PyExecJS

or

$ easy_install PyExecJS

License

Copyright (c) 2012 Omoto Kenji. Copyright (c) 2011 Sam Stephenson and Josh Peek.

Released under the MIT license. See LICENSE for details.

Changes

1.0.5

  • Supported Python 3.3

  • Fixed file handle leaking

  • Fixed issue with passenger-nginx-4.0

1.0.4

  • Removed “import execjs” (it prevent execution of setup.py by Python 2.6)

1.0.3

  • Javascript sources were embeded in init.py. ‘which’ command were reimplemented by pure python.

1.0.2

  • Python 2.6.x was supported.

1.0.1

  • Forgotten shell=True was added to Popen.

1.0.0

  • First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

PyExecJS-1.0.5.zip (15.6 kB view details)

Uploaded Source

PyExecJS-1.0.5.tar.gz (10.1 kB view details)

Uploaded Source

File details

Details for the file PyExecJS-1.0.5.zip.

File metadata

  • Download URL: PyExecJS-1.0.5.zip
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyExecJS-1.0.5.zip
Algorithm Hash digest
SHA256 0ddfb6cc6de41dc1c2def52134ec26146acb9679b71c38692618b63108579ab7
MD5 6ca97550d4a6b4cc641f459a20971f08
BLAKE2b-256 12ffaf8bf21e2d6ae48280ca1e28e781cd2c138b188e63058b00289734622a45

See more details on using hashes here.

File details

Details for the file PyExecJS-1.0.5.tar.gz.

File metadata

  • Download URL: PyExecJS-1.0.5.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyExecJS-1.0.5.tar.gz
Algorithm Hash digest
SHA256 95adfddc64aaf95d330c715a248ce0ff32facf33740c6de619658b5c588939fb
MD5 98a4824d6f21e7d0d6f51959d6945e41
BLAKE2b-256 a5d36068858d2c34cea1ad4dd24184758c9904c7dc1293146bb6bf9f09812da0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page