Code Monkey home page Code Monkey logo

nova's Introduction

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.

nova's People

Contributors

davidmunechika avatar xiaohk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.