Installation

Overview:

  • Teaching: 10 min
  • Exercises: 0 min

Questions

  • How do I install NBfancy?
  • How do I configure NBfancy for first use?

Objectives

  • Know how to install NBfancy!

Virtual environments

We recommend that you install NBfancy in a virtual environment. You can do this with Python venvs or (Ana)conda. Be sure to activate the virtual environment before carrying out the installation.

Install

NBfancy is available in the Python Package index (PyPI), and can be installed using the command pip as follows

In [1]:
pip install nbfancy
Requirement already satisfied: nbfancy in /home/travis/build/JDBetteridge/nbfancy (0.1.dev2)
Requirement already satisfied: ipython>=6 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbfancy) (7.8.0)
Requirement already satisfied: jupyter in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbfancy) (1.0.0)
Requirement already satisfied: jedi>=0.10 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (0.15.1)
Requirement already satisfied: pexpect; sys_platform != "win32" in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (4.7.0)
Requirement already satisfied: decorator in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (4.4.0)
Requirement already satisfied: pygments in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (2.4.2)
Requirement already satisfied: backcall in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (0.1.0)
Requirement already satisfied: prompt-toolkit<2.1.0,>=2.0.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (2.0.9)
Requirement already satisfied: setuptools>=18.5 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (40.8.0)
Requirement already satisfied: pickleshare in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (0.7.5)
Requirement already satisfied: traitlets>=4.2 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipython>=6->nbfancy) (4.3.2)
Requirement already satisfied: nbconvert in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (5.6.0)
Requirement already satisfied: jupyter-console in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (6.0.0)
Requirement already satisfied: qtconsole in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (4.5.5)
Requirement already satisfied: ipykernel in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (5.1.2)
Requirement already satisfied: notebook in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (6.0.1)
Requirement already satisfied: ipywidgets in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter->nbfancy) (7.5.1)
Requirement already satisfied: parso>=0.5.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jedi>=0.10->ipython>=6->nbfancy) (0.5.1)
Requirement already satisfied: ptyprocess>=0.5 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from pexpect; sys_platform != "win32"->ipython>=6->nbfancy) (0.6.0)
Requirement already satisfied: wcwidth in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from prompt-toolkit<2.1.0,>=2.0.0->ipython>=6->nbfancy) (0.1.7)
Requirement already satisfied: six>=1.9.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from prompt-toolkit<2.1.0,>=2.0.0->ipython>=6->nbfancy) (1.11.0)
Requirement already satisfied: ipython-genutils in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from traitlets>=4.2->ipython>=6->nbfancy) (0.2.0)
Requirement already satisfied: pandocfilters>=1.4.1 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (1.4.2)
Requirement already satisfied: mistune<2,>=0.8.1 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (0.8.4)
Requirement already satisfied: jupyter-core in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (4.5.0)
Requirement already satisfied: entrypoints>=0.2.2 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (0.3)
Requirement already satisfied: defusedxml in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (0.6.0)
Requirement already satisfied: testpath in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (0.4.2)
Requirement already satisfied: jinja2>=2.4 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (2.10.1)
Requirement already satisfied: nbformat>=4.4 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (4.4.0)
Requirement already satisfied: bleach in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbconvert->jupyter->nbfancy) (3.1.0)
Requirement already satisfied: jupyter-client in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter-console->jupyter->nbfancy) (5.3.1)
Requirement already satisfied: tornado>=4.2 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipykernel->jupyter->nbfancy) (6.0.3)
Requirement already satisfied: pyzmq>=17 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from notebook->jupyter->nbfancy) (18.1.0)
Requirement already satisfied: terminado>=0.8.1 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from notebook->jupyter->nbfancy) (0.8.2)
Requirement already satisfied: prometheus-client in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from notebook->jupyter->nbfancy) (0.7.1)
Requirement already satisfied: Send2Trash in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from notebook->jupyter->nbfancy) (1.5.0)
Requirement already satisfied: widgetsnbextension~=3.5.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from ipywidgets->jupyter->nbfancy) (3.5.1)
Requirement already satisfied: MarkupSafe>=0.23 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jinja2>=2.4->nbconvert->jupyter->nbfancy) (1.1.1)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from nbformat>=4.4->nbconvert->jupyter->nbfancy) (3.0.2)
Requirement already satisfied: webencodings in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from bleach->nbconvert->jupyter->nbfancy) (0.5.1)
Requirement already satisfied: python-dateutil>=2.1 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jupyter-client->jupyter-console->jupyter->nbfancy) (2.8.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.4->nbconvert->jupyter->nbfancy) (0.15.4)
Requirement already satisfied: attrs>=17.4.0 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.4->nbconvert->jupyter->nbfancy) (18.2.0)
Note: you may need to restart the kernel to use updated packages.

Configure

In order to view the rendered material in a notebook you must add a custom CSS file to your Jupyter global config. This step is not necessary if you only want to build HTML documents.

To add the custom CSS, you can use NBfancy's configure command, and it will add the file custom.css to the correct directory.

In [2]:
!nbfancy configure -y jupyter_css
Your global config has been updated

Executing at the command line in notebooks

You may not have seen ! commands in a notebook before. This allows the command that follows to be run at the command line, rather than by the notebook kernel. The pip command above uses notebook magic for the Python kernel to allow it to be executed without the !. For NBfancy commands to be executed at the command line, we need the !.

Key Points:

  • NBfancy is available using the Python package manager pip
  • To view rendered material as a notebook, an additional configuration step is required