2.1.0 • Published 6 years ago

jp-babel v2.1.0

Weekly downloads
11
License
BSD-3-Clause
Repository
github
Last release
6 years ago

jp-babel: A babel Kernel for the Jupyter Notebook

jp-babel is an npm package that implements a babel kernel for the Jupyter notebook). A Jupyter notebook combines the creation of rich-text documents (including equations, plots 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. There are kernels available for Python, Julia, Ruby, Haskell and many other languages.

Proof-of-Concept and Goals

jp-babel came to existence prompted by a number of requests from IJavascript users. See this issue for further details.

By publishing jp-babel I'm seeking to:

  • provide users with a "usable" babel kernel that with some support may become a fully featured kernel,

  • reuse the IJavascript code and develop a Node.js library to implement Jupyter kernels for other languages.

Installation

Please, refer to the installation notes for IJavascript.

For example, in Ubuntu 16.04, you can run:

sudo apt-get install nodejs-legacy npm ipython ipython-notebook
sudo npm install -g jp-babel

babelrc

By default, jp-babel is set to use the preset babel-preset-env. Users can customise their .babelrc. If they do so, they must ensure all the referenced plugins and presets can be required from within the jp-babel session.

Usage

jp-Babel provides 5 executables: jp-babel-install, jp-babel-notebook, jp-babel-console, jp-babel-kernel and jp-babel. Their purpose and basic use is described in the sections below. Please, refer to the usage notes for further details.

jp-babel-install: jp-Babel kernel spec installer

'jp-babel-install` registers the jp-Babel 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)

jp-babel-notebook: jp-Babel notebook

After running jp-babel-install, Jupyter notebook users can invoke the Jupyter notebook as usual. jp-babel-notebook is provided for convenience to users of the IPython notebook prior to version 3. jp-babel-notebook is a wrapper around ipython notebook. It extends the command flags accepted by ipython notebook with the following:

--help                       show jp-Babel and notebook help
--jp-debug                   enable debug messages
--jp-help                    show this help
--jp-hide-undefined          do not show undefined results
--jp-install=[local|global]  install kernel for current user or globally
--jp-protocol=version        set protocol version, e.g. 5.0
--jp-show-undefined          show undefined results
--jp-spec-path=[none|full]   set whether kernel spec uses full paths
--jp-startup-script=path     run script on startup
                             (path can be a file or a folder)
--jp-working-dir=path        set kernel working directory
                             (default = current working directory)
--version                    show kernel version
--versions                   show kernel and library versions

jp-babel-console: jp-Babel console

jp-babel-console is provided for convenience to users as a wrapper around jupyter console. The following command flags are recognised:

--help                       show jp-Babel and notebook help
--jp-debug                   enable debug messages
--jp-help                    show this help
--jp-hide-undefined          do not show undefined results
--jp-install=[local|global]  install kernel for current user or globally
--jp-protocol=version        set protocol version, e.g. 5.0
--jp-show-undefined          show undefined results
--jp-spec-path=[none|full]   set whether kernel spec uses full paths
--jp-startup-script=path     run script on startup
                             (path can be a file or a folder)
--jp-working-dir=path        set kernel working directory
                             (default = current working directory)
--version                    show kernel version
--versions                   show kernel and library versions

jp-babel-kernel: jp-Babel kernel

jp-babel-kernel is the executable invoked by Jupyter tools (e.g. the notebook) and that appears in the kernel spec that jp-babel-install creates for jp-Babel. You won't need this command, unless you want to create a custom kernel spec.

Usage:
    jp-babel-kernel [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)

jp-babel: Deprecated CLI

jp-babel is provided for backwards-compatibility. It will be removed in the next major-version update. Please, use jp-babel-install or jp-babel-notebook instead.

Troubleshooting

  • jp-babel takes 10-15 seconds on the first execution after kernel start (Issue #4): This issue has been seen on a system using npm 2. As suggested here, running npm dedupe on the folder where jp-babel was installed helps reduce this time. Alternatively, using npm 3 to install jp-babel also helps.

Contributions

First of all, thank you for taking the time to contribute. The maintenance of IJavascript is currently my priority. I would really appreciate some help. Please, read CONTRIBUTING and use the issue tracker for any contributions: support requests, bug reports, enhancement requests, pull requests, submission of tutorials...

TO DO

  • Add tests
2.1.0

6 years ago

2.0.0

6 years ago

1.1.4

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago

0.2.0

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago

0.0.9

9 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago