Jupyter/Extensions: Difference between revisions
From charlesreid1
| Line 71: | Line 71: | ||
=Making An Extension= | =Making An Extension= | ||
==Rolling Your Own== | |||
See ipyvolume: https://github.com/maartenbreddels/ipyvolume | See ipyvolume: https://github.com/maartenbreddels/ipyvolume | ||
| Line 104: | Line 106: | ||
$ jupyter nbextension enable --py --sys-prefix ipyvolume | $ jupyter nbextension enable --py --sys-prefix ipyvolume | ||
</pre> | </pre> | ||
==Using User Contributed Notebook Extensions== | |||
Use this repo as a template: https://github.com/ipython-contrib/jupyter_contrib_nbextensions | |||
This repo contains a large selection of extensions for notebook. An extension consists of a Javascript file and, optionally, a CSS file. | |||
By loading an extension, you can provide functionality from the Javascript portion of a Jupyter notebook (ajax, updating text, rendering equations, etc.) | |||
Start by checking out a copy (optional): | |||
<pre> | |||
git clone https://github.com/ipython-contrib/jupyter_contrib_nbextensions | |||
</pre> | |||
Now build nb extensions: | |||
<pre> | |||
cd jupyter_contrib_nbextensions | |||
pip install -e . | |||
</pre> | |||
or directly from pip to just use the extensions: | |||
<pre> | |||
pip install jupyter_contrib_nbextensions | |||
</pre> | |||
or directly from github to also just use the extensions: | |||
<pre> | |||
pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master | |||
</pre> | |||
[[Category:Jupyter]] | [[Category:Jupyter]] | ||
Revision as of 02:03, 9 December 2017
Notebook extensions
To enable/install a notebook extension:
jupyter nbextension enable <nbextension require path>
Example: Jupyter/Base16mpl
Also see: https://github.com/ipython-contrib/jupyter_contrib_nbextensions
Server extensions
To enable/install a server extension:
jupyter serverextension enable <sererextension require path and flags>
Example: Jupyter/MPI
User-Contributed Notebook Extensions
Full instructions here:
Start by installing the different nb extensions available:
pip3 install jupyter_contrib_nbextensions
Install the notebook extension files:
jupyter contrib nbextension install --user
Command line options:
--user to install into the user's home jupyter directories
--system to perform installation into system-wide jupyter directories
--sys-prefix to install into python's sys.prefix, useful for instance in virtual environments, such as with conda
--symlink to symlink the nbextensions rather than copying each file (recommended, on non-Windows platforms).
--debug, for more-verbose output
To enable an extension:
jupyter nbextension enable <nbextension require path>
for example,
jupyter nbextension enable codefolding/main jupyter nbextension enable toc2/main
To disable the extension again, use
jupyter nbextension disable <nbextension require path>
Making An Extension
Rolling Your Own
See ipyvolume: https://github.com/maartenbreddels/ipyvolume
Basically just defines a function _jupyter_nbextension_paths: https://github.com/maartenbreddels/ipyvolume/blob/master/ipyvolume/__init__.py#L12
And that's it.
def _jupyter_nbextension_paths():
return [{
'section': 'notebook',
'src': 'static',
'dest': 'ipyvolume',
'require': 'ipyvolume/extension'
}]
To install it, the recommended method is:
pip install ipyvolume jupyter nbextension enable --py --sys-prefix ipyvolume
Or with a dev version (git):
$ git clone https://github.com/maartenbreddels/ipyvolume.git $ cd ipyvolume $ pip install -e . $ jupyter nbextension install --py --symlink --sys-prefix ipyvolume $ jupyter nbextension enable --py --sys-prefix ipyvolume
Using User Contributed Notebook Extensions
Use this repo as a template: https://github.com/ipython-contrib/jupyter_contrib_nbextensions
This repo contains a large selection of extensions for notebook. An extension consists of a Javascript file and, optionally, a CSS file.
By loading an extension, you can provide functionality from the Javascript portion of a Jupyter notebook (ajax, updating text, rendering equations, etc.)
Start by checking out a copy (optional):
git clone https://github.com/ipython-contrib/jupyter_contrib_nbextensions
Now build nb extensions:
cd jupyter_contrib_nbextensions pip install -e .
or directly from pip to just use the extensions:
pip install jupyter_contrib_nbextensions
or directly from github to also just use the extensions:
pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master