A NodeJS application that can display Jupyter notebooks as dynamic dashboards outside of the Jupyter Notebook server.
The Jupyter Incubator Dashboards effort covers:
See https://github.com/jupyter-incubator/dashboards/wiki for an overview of the entire dashboards effort.
The behavior of the application is similar to that of Thebe, but with some key technical differences:
The following libraries are known to work with the dashboard server:
Install Node 5.x and npm 3.5.x. Then install the dashboard server using
npm install -g jupyter-dashboards-server
You can then run the dashboard server from the command line. See the next section about how to install and configure the other prerequisite components.
# shows a list of all nconf optionsjupyter-dashboards-server --help# runs the server pointing to a public kernel gatewayjupyter-dashboards-server --KERNEL_GATEWAY_URL=# runs the server pointing to a kernel gateway that requires token authexport KG_AUTH_TOKEN='somesecretinenvironment'jupyter-dashboards-server --KERNEL_GATEWAY_URL=
The dashboard server is meant to enable the following workflow:
This workflow requires multiple components working in concert.
To bring all of these pieces together, you can start with the recipes in the jupyter-incubator/dashboards_setup repo. (We'll gladly take PRs that reduce the complexity of getting everything set up!)
Alternatively, you can clone this git repository and build the Docker images we use for development in order to run the demos in
etc/notebooks. After setting up Docker (e.g. using docker-machine), run the following and then visit
http://<your docker host ip>:3000.
make buildmake examplesmake demo-container
To setup a development environment, install these minimum versions on your host machine.
With these installed, you can use the
make dev-* targets. Run
make help to see the full gamut of targets and options. See the next few sections for the most common patterns.
# re-run if the Dockerfile.kernel changesmake kernel-gateway-image# re-run if package.json changesmake dev-install# run if you want to try the preliminary jupyter-incubator/declarativewidgets supportmake examples
# uses gulp:watch to restart on any changesmake dev# mac shortcut for visiting URL in a browseropen
make dev-logging# mac shortcut for visiting URL in a browseropen
npm install -g node-inspectormake dev-debug# a browser tab should open with the debugger visible# refresh if it errors: the server might not be running yet
make dev USERNAME=admin PASSWORD=password# mac shortcut for visiting URL in a browseropen
See the Authentication wiki page for information about configuring alternative authentication mechanisms.
make certsmake dev HTTPS_KEY_FILE=certs/server.pem HTTPS_CERT_FILE=certs/server.pem# mac shortcut for visiting URL in a browseropen
# unit testsmake test# backend integration testsmake integration-test# installation testsmake install-test