npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jp-babel

v2.1.0

Published

jp-babel is a babel kernel for the Jupyter notebook

Downloads

33

Readme

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