PyChakra is a Python binding to Microsoft Chakra(v1.11.16) Javascript engine.
Chakra is a modern JavaScript engine for Microsoft Edge, it support 96% ES6 feature, Complete info see https://kangax.github.io/compat-table/es6/
pip install PyChakra
from PyChakra import Runtime
# create runtime instance
runtime = Runtime()
# eval JavaScript code
runtime.eval("(() => 2)();") # (True, 2)
runtime.eval("(() => a)();") # (False, "ReferenceError: 'a' is not defined")
# set or get variable
runtime.set_variable("foo", "'bar'") # True
runtime.get_variable("foo") # 'bar'
Eval JavaScript code string.
Parameters:
js_string: str
: JavaScript code string
Returns: (is_successful: bool, result: any)
is_successfully
: indicates whether JavaScript is running successfully.result
:- if s is True, result is the JavaScript running return value.
- if is_successfully is False and result is string, result is the JavaScript running exception.
- if is_successfully is False and result is number, result is the chakra internal error code. see(github)
Set variable in global scope.
Parameters:
variable_name: str
: JavaScript variable name.variable_value: str
: JavaScript variable value in Python str.
Returns: same as eval
Get variable in global scope.
Parameters:
variable_name: str
: JavaScript variable name.
Returns: variable_value: str
- if returns value is None, it indicates there is no
variable_name
in the global scope.
- Python2 >= 2.7
- Python3 >= 3.4
- macOS x64
- Linux x64
- Windows x86/x64 (tested on Windows 10 x64, Python 3.7)