Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Graphnull/jupnode

Open more actions menu

Repository files navigation

jupnode

Jupnode lib for enable a Jupyter Notebook user to invoke Node.js commands.

Screenshot: Notebook Hello Sample

Prerequisites

You need Node.js/npm installed. See the Node.js downloads page to find an installer for your platform.

Using

After this cell other cells will run on node.js.

!npm i jupnode
import jupnode

Use %%py for use python in cell

%%py
print(123)
print(54)

You can use await in top level

fs = require("fs");
await fs.promises.readFile("example.txt");

Use var for global usage. Use let, const variables for local usage in cell

var globalVar = 1;
let variableInCell = 2;
console.log(globalVar, variableInCell);
// 1 2
// 1
console.log(globalVar);
console.log(variableInCell);
// ReferenceError: variableInCell is not defined

Use "sh" global function for system operations

//install npm package
sh("npm i @tensorflow/tfjs-node");
//or
sh`npm i @tensorflow/tfjs-node`;

//download file
let folder = "./";
sh`wget -nv http://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar -P ${folder}/`;

Formatted output

Use "html" or "image" functions for formatted output

//show html
html(`<p>This is html</p>`);

//show image base64
image("data:image/jpeg;base64, LzlqLzRBQ...<!-- base64 data -->");

//show image url
image("https://kstatic.googleusercontent.com/...");

Profiling

Enable profiling for cell and save result as "profile.log" file after cell

await profiler('./profile.log');

Load profile.log file into Chrome dev tools

loadprofiler

Example profile.log

profiler

About

Enable a Jupyter Notebook user to invoke Node.js commands.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.