Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
ijavascript-await
Advanced tools
IJavascript-await is a Javascript kernel (that accepts global await expressions) for the Jupyter notebook
IJavascript is a Javascript kernel for the Jupyter notebook. The Jupyter notebook combines the creation of rich-text documents (including equations, graphs and videos) with the execution of code in a number of programming languages. The execution of code is carried out by means of a kernel that implements the Jupyter messaging protocol.
The IJavascript kernel executes Javascript code inside a Node.js session. And thus, it behaves as the Node.js REPL does, providing access to the Node.js standard library and to any installed npm modules.
There are kernels available for Python, Julia, Ruby, Haskell and many other languages.
Here's a sample notebook that makes use of the IJavascript kernel:
zeromq
depends on prebuild-install
and they are now
using const
declarations.$$.clear({wait})
to send a clear_output
request.$$.display({id})
to send display_data
and update_display_data
messages.$$.input(options, {callback})
to send a input_request
and handle
input_reply
messages.$$mimer$$
and $$defaultMimer$$
to customise output is now
deprecated.$$async$$
, $$done$$
,
$$mime$$
, $$html$$
, $$svg$$
, $$png$$
and $$jpeg$$
has also been
deprecated and replaced with the global object $$
.Node.js
sessionHTML
, SVG
, PNG
, ...TAB
to complete keywords and object propertiesShift-TAB
to inspect an object and show its content or, if available, its
documentationIJavascript is distributed as an npm package and thus it requires:
Depending on your use, other Jupyter tools will be necessary (e.g. Jupyter notebook). Note that IJavascript has been kept backwards-compatibility with IPython v1, so that it's possible to use the IPython notebook distributed in Ubuntu 14.04 LTS and Ubuntu 16.04 LTS.
For other platforms not listed below, or if you find any problems with the instructions above, please, refer to the installation notes.
To install IJavascript in Ubuntu 18.04 for your user only, run:
sudo apt-get install nodejs npm jupyter
npm config set prefix $HOME
npm install -g ijavascript
ijsinstall
Note: if ~/bin
folder didn't exist before, after running this instructions, you may need to log out and back in for ~/bin
to be added to your PATH
.
To install IJavascript in Ubuntu 18.04 for all users, run instead:
sudo apt-get install nodejs npm jupyter
sudo npm install -g --unsafe-perm ijavascript
sudo ijsinstall --install=global
Also, note that older versions of Ubuntu (e.g. Ubuntu 16.04 LTS) depend on nodejs-legacy
and ipython-notebook
instead:
sudo apt-get install nodejs-legacy npm ipython ipython-notebook
In the command line:
pip3 install --upgrade pip
pip3 install jupyter
npm install -g ijavascript
ijsinstall
# Or run: %appdata%\npm\ijsinstall
Then you can run jupyter notebook
in your terminal to load Jupyter Notebook.
When you create a new Jupyter Notebook, you should see the Javascript (Node)
kernel available.
Open the Anaconda prompt and run:
conda install nodejs
npm install -g ijavascript
ijsinstall
Then you can run jupyter notebook
in your terminal to load Jupyter Notebook.
When you create a new Jupyter Notebook, you should see the Javascript (Node)
kernel available.
In macOS, Homebrew and pip can be used to install IJavascript and its prerequisites:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pkg-config node zeromq
sudo easy_install pip
pip install --upgrade pyzmq jupyter
npm install -g ijavascript
ijsinstall
IJavascript provides 5 executables: ijsinstall
, ijsnotebook
, ijsconsole
,
ijskernel
and ijs
. Their purpose and basic use is described in the sections
below. Please, refer to the usage
notes for further
details.
ijsinstall
: IJavascript kernel spec installer'ijsinstall` registers the IJavascript kernel with Jupyter, so that other tools (e.g. the Jupyter notebook) can invoke it. The following command flags are recognised:
--debug enable debug messages
--help show this help
--hide-undefined do not show undefined results
--install=[local|global] install kernel for current user or globally
--protocol=version set messaging protocol version, e.g. 5.0
--show-undefined show undefined results
--spec-path=[none|full] set whether kernel spec uses full paths
--startup-script=path run script on kernel startup
(path can be a file or a folder)
--version show kernel version
--versions show kernel and library versions
--working-dir=path set kernel working directory
(default = current working directory)
ijsnotebook
: IJavascript notebookAfter running ijsinstall
, Jupyter notebook users can invoke the Jupyter
notebook as usual. ijsnotebook
is provided for convenience to users of the
IPython notebook prior to version 3. ijsnotebook
is a wrapper around
ipython notebook
. It extends the command flags accepted by ipython notebook
with the following:
--help show IJavascript and notebook help
--ijs-debug enable debug messages
--ijs-help show this help
--ijs-hide-undefined do not show undefined results
--ijs-install=[local|global] install kernel for current user or globally
--ijs-protocol=version set protocol version, e.g. 5.0
--ijs-show-undefined show undefined results
--ijs-spec-path=[none|full] set whether kernel spec uses full paths
--ijs-startup-script=path run script on startup
(path can be a file or a folder)
--ijs-working-dir=path set kernel working directory
(default = current working directory)
--version show kernel version
--versions show kernel and library versions
ijsconsole
: IJavascript consoleijsconsole
is provided for convenience to users as a wrapper around ipython console
. The following command flags are recognised:
--help show IJavascript and notebook help
--ijs-debug enable debug messages
--ijs-help show this help
--ijs-hide-undefined do not show undefined results
--ijs-install=[local|global] install kernel for current user or globally
--ijs-protocol=version set protocol version, e.g. 5.0
--ijs-show-undefined show undefined results
--ijs-spec-path=[none|full] set whether kernel spec uses full paths
--ijs-startup-script=path run script on startup
(path can be a file or a folder)
--ijs-working-dir=path set kernel working directory
(default = current working directory)
--version show kernel version
--versions show kernel and library versions
ijskernel
: IJavascript kernelijskernel
is the executable invoked by Jupyter tools (e.g. the notebook) and
that appears in the kernel spec that ijsinstall
creates for IJavascript. You
won't need this command, unless you want to create a custom kernel spec.
Usage:
ijskernel [options] connection_file
Options:
--debug enable debug messages
--hide-undefined do not show undefined results
--protocol=Major[.minor[.patch]] set protocol version, e.g. 5.0
--session-working-dir=path set session working directory
--show-undefined show undefined results
--startup-script=path run script on startup
(path can be a file or a folder)
ijs
: Deprecated CLIijs
is provided for backwards-compatibility. It will be removed in the next
major-version update. Please, use ijsinstall
or ijsnotebook
instead.
First of all, thank you for taking the time to contribute. Please, read CONTRIBUTING and use the issue tracker for any contributions: support requests, bug reports, enhancement requests, pull requests, submission of tutorials...
See the issue tracker and the TODO list in the packages jp-kernel and NEL for additional items.
FAQs
IJavascript-await is a Javascript kernel (that accepts global await expressions) for the Jupyter notebook
We found that ijavascript-await demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.