Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save joelhoro/15b9318232c7d162864f0a83f452d097 to your computer and use it in GitHub Desktop.
Save joelhoro/15b9318232c7d162864f0a83f452d097 to your computer and use it in GitHub Desktop.
Run Python code from JavaScript in a Jupyter notebook
// %%javascript
window.executePython = function(python) {
return new Promise((resolve, reject) => {
var callbacks = {
iopub: {
output: (data) => resolve(data.content.text.trim())
}
};
Jupyter.notebook.kernel.execute(`print(${python})`, callbacks);
});
}
// Use it in any Jupyter JS/HTML cell like this
%%javascript
window.executePython("1 + 1")
.then(result => console.log(result)); // Logs 2
// You can access any defined object/method in the notebook
// I suggest writing a function that returns your data as JSON and just calling the function.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment