Skip to content

A JupyterLab extension for displaying dashboards of GPU usage.

License

Notifications You must be signed in to change notification settings

h2oai/jupyterlab-nvdashboard

 
 

Repository files navigation

JupyterLab GPU Dashboards

PyPI npm

A JupyterLab extension for displaying dashboards of GPU usage.

demo

Built with JupyterLab and Bokeh Server

What's here

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.

Prerequisites

  • JupyterLab 1.0
  • bokeh
  • pynvml

Installation

This extension has a server-side (Python) and a client-side (Typescript) component, and we must install both in order for it to work.

Note: Currently nvdashboard does not support Windows

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

Development

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

Publishing

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

About

A JupyterLab extension for displaying dashboards of GPU usage.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 60.1%
  • TypeScript 18.8%
  • Shell 15.8%
  • CSS 4.6%
  • JavaScript 0.7%