Skip to content
/ nova Public

Simple method to create notebook-ready visual analytics tools!

License

Notifications You must be signed in to change notification settings

poloclub/nova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOVA

Github Actions Status license pypi Lite Binder Open In Colab arxiv badge

A simple and flexible method to create notebook-ready visual analytics tools!

"NOVA: A Practical Method for Creating Notebook-Ready Visual Analytics"

Overview

NOVA is a simple and flexible method to adapt existing web-based visual analytics (VA) tools to support computational notebooks. Web apps are a popular medium for developing interactive visualization systems that users can access in their web browsers. NOVA converts web apps developed with diverse web technologies, such as programming languages and frameworks, to notebook widgets that end-users can easily install and use in different notebook environments.

NOVA Details

There are three simple steps to apply NOVA:

  1. Convert the VA tool into a single HTML file
  2. Design Python wrapper API
  3. Publish the VA widget in a software repository

The implementation details of each step vary depending on the VA tool's development stack. We provide three detailed examples with a toy VA tool to demonstrate how to apply NOVA on VA systems developed with diverse web technologies.

You can navigate to the folders below and read their individual README.md files for implementation details.

Example Web Development Stack Bundler Comment
svelte-ts Svelte + SCSS + TypeScript Vite It also explains how to set up a demo page
react-js React Webpack
vanilla-js HTML + CSS + JavaScript Rollup

Live Demo

For a live web demo of this toy VA tool, visit: https://poloclub.github.io/nova

You can also directly try out the notebook widget in your favorite computational notebooks (e.g. Jupyter Notebook/Lab, Google Colab, and VS Code Notebook).

Check out three live notebook demos below.

Jupyter Lite Binder Google Colab
Lite Binder Open In Colab

Open-source VA tools that use NOVA

If your open-source VA tool also applies NOVA to create notebook widgets, please submit a pull request to add your tool on top of this table :)

Name Description
Visual Auditor Interactive visualization system for identifying and understanding biases in machine learning models.
TimberTrek Visual analytics tool to help data scientists curate decision trees that align with their knowledge and values.
GAM Changer Interactive visualization tool to help domain experts and data scientist easily and responsibly edit Generalized Additive Models (GAMs)

Credits

NOVA is created by Jay Wang, David Munechika, Seongmin Lee, and Polo Chau.

Citation

@article{wangNOVAPracticalMethod2022,
  title = {{{NOVA}}: {{A Practical Method}} for {{Creating Notebook-Ready Visual Analytics}}},
  shorttitle = {{{NOVA}}},
  author = {Wang, Zijie J. and Munechika, David and Lee, Seongmin and Chau, Duen Horng},
  year = {2022},
  month = may,
  journal = {arXiv:2205.03963 [cs]},
  archiveprefix = {arXiv}
}

License

The code is available under the MIT License.

Contact

If you have any questions, feel free to open an issue or contact Jay Wang.