iz3 is a z3+js kernel for the Jupyter notebook
npm install iz3
iz3 is a z^3/Javascript kernel for the Jupyter
notebook. iz3 uses zblack (ZCubes multi-platform REPL Command Line)
to achieve Omni-Functional Computing on the server side.
z^3 provides powerful Array Based Computing, with full backward compatibility with Javascript.
Learn more at https://wiki.zcubes.com/Z3
Derived from IJavascript, which is a Javascript kernel for the Jupyter
notebook.
z^3 related files are prefixed with iz3 (instead of ijs or IJavascript below).
The executable used by iz3 is zblack or zcubes (instead of nodejs for ijavascript).
Please download zblack from (http://downloads.zcubes.com/zblack) for your platform.
Please install zblack on a folder to which the path is set, so it can be invoked simply by tyoing zblack on the command prompt.
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:
!Screenshot: Notebook Hello Sample
- Announcements
- Main Features
- Installation
- Usage
- Contributions
- TODO
- IJavascript v5.2 builds have started to fail in Node.js v0.10, because the
installation of zeromq depends on prebuild-install and they are now
using const declarations.
- SUPPORT NOTICE: IJavascript v5.2 will be the last version supporting
Node.js 0.10, Node.js 4, Node.js 6 and Node.js 8.
- IJavascript v5.1 added new functionality to the API (see
NEL for preliminary documentation):
- $$.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.
- Starting with IJavascript v5.0.11, it is possible to customise the output of
an object based on its type. See the documentation on custom
output for
details.
- The use of $$mimer$$ and $$defaultMimer$$ to customise output is now
deprecated.
- To avoid clutter in the global context, the use of $$async$$, $$done$$,
$$mime$$, $$html$$, $$svg$$, $$png$$ and $$jpeg$$ has also been
deprecated and replaced with the global object $$.
- Run Javascript code inside a Node.js session
- Hello, World!
- Asynchronous
output
- Custom output
for HTML, SVG, PNG, ...
- Autocompletion:
press TAB to complete keywords and object properties
- Object
inspection: press
Shift-TAB to inspect an object and show its content or, if available, its
documentation
IJavascript 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:
`sh`
sudo apt-get install nodejs-legacy npm ipython ipython-notebook
In the command line:
`sh`
pip3 install --upgrade pip
pip3 install jupyter
npm install -g ijavascript
ijsinstallOr 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:
`sh`
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:
`sh`
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 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)
After running ijsinstall, Jupyter notebook users can invoke the Jupyterijsnotebook
notebook as usual. is provided for convenience to users of theijsnotebook
IPython notebook prior to version 3. is a wrapper aroundipython 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 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 is the executable invoked by Jupyter tools (e.g. the notebook) andijsinstall
that appears in the kernel spec that 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 is provided for backwards-compatibility. It will be removed in the nextijsinstall
major-version update. Please, use 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.