A JupyterLab extension for displaying dashboards of GPU usage.
Built with JupyterLab and Bokeh Server
This repository contains two sets of code:
- Python code defining a Bokeh Server application that generates the dashboards
in the
jupyterlab_nvdashboard/
directory - TypeScript code integrating these dashboards into JupyterLab in the
src/
directory
You should be able to modify only the Python code to edit the dashboards without modifying the TypeScript code.
- JupyterLab 1.0
- bokeh
- pynvml
This extension has a server-side (Python) and a client-side (Typescript) component, and we must install both in order for it to work.
To install the server-side component, run the following in your terminal
pip install jupyterlab-nvdashboard
To install the client-side component, run
jupyter labextension install jupyterlab-nvdashboard
To install the server-side part, run the following in your terminal from the repository directory:
pip install -e .
In order to install the client-side component (requires node version 8 or later), run the following in the repository directory:
jlpm install
jlpm run build
jupyter labextension install .
To rebuild the package and the JupyterLab app:
jlpm run build
jupyter lab build
This application is distributed as two subpackages.
The JupyterLab frontend part is published to npm, and the server-side part to PyPI.
Releases for both packages are done with the jlpm
tool, git
and Travis CI.
Note: Package versions are not prefixed with the letter v
. You will need to disable this.
$ jlpm config set version-tag-prefix ""
Making a release
$ jlpm version [--major|--minor|--patch] # updates package.json and creates git commit and tag
$ git push && git push --tags # pushes tags to GitHub which triggers Travis CI to build and deploy