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

  • Supported Python 3.4

  • Supported SlimerJS as runtime

  • Supported PhantomJS as runtime

  • Fixed JScript runtime on Windows 8

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.1.0.zip (16.2 kB view details)

Uploaded Source

PyExecJS-1.1.0.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file PyExecJS-1.1.0.zip.

File metadata

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

File hashes

Hashes for PyExecJS-1.1.0.zip
Algorithm Hash digest
SHA256 6618c54af7fc74cd4ec0428533885d8dfbbb321bb84b517498803a7498385af0
MD5 027bcbc0a2f44419a6be1e3c4d5d68a1
BLAKE2b-256 e742875e018d76b484acac221adb241183982ca9c60250bc52917397673b9882

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for PyExecJS-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d476a03baf5c011879df802ac1b1cfebd743c53872e920d089926d1324599f20
MD5 7b7e1a5aa0b0f257439d01c2cb7a3884
BLAKE2b-256 0d6b5183948f2a12b7df0d597273f941a26baa35520505ec8d670f4c9b568749

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