Code Monkey home page Code Monkey logo

Comments (4)

dvdjlaw avatar dvdjlaw commented on May 28, 2024 1

I think we should start with a JupyterLab (related to #49) extension that adds as a lightweight UI on top of the SDK. The role of the UI should only be to provide UI elements that call existing functions in the Python SDK.

Benefits:

  • We provide interactivity for Jupyter users (expecting Jupyter to be main user base)
  • We rely on Jupyter's pattern of interfacing with a Python SDK
  • Users can use notebook/code side-by-side with the interactive widget. This also helps new users with discovery of the code base, as I imagine we can provide "equivalent Python" tips with the interactive widget to help users learn the SDK
  • Jupyter extensions are npm packages, which is a fairly common skill set as opposed to a more obscure GUI toolkit

Disadvantages:

  • Users have to open Jupyter to use the package
  • The JupyterLab extension is still quite young. I've personally experienced frustration with unsuccessfully getting extensions to install
  • There doesn't seem to be a straightforward way to indicate Lab extension dependencies like in requirements.txt

Unknown:

  • Is the Lab extension framework is generic enough that we can extend or adapt it to a standalone web app/GUI in the future?

from data-describe.

terrytangyuan avatar terrytangyuan commented on May 28, 2024

Plotly has just release a library two days ago called Jupyter Dash that makes it easy to build dashboard apps from Jupyter environments like Jupyter Notebook and Jupyter Lab. This may be something we can leverage? https://github.com/plotly/jupyter-dash

from data-describe.

truongc2 avatar truongc2 commented on May 28, 2024

If we wanted to go with the interactive widgets for jupyter lab, we can leverage voila to render the notebooks into a standalone web application. It also seems to have more community support than Jupyter Dash.

from data-describe.

dvdjlaw avatar dvdjlaw commented on May 28, 2024

Another option is Panel:

  • Claims to work with any type of visualization
  • Works in Jupyter Notebooks and Lab
  • Works outside of Jupyter with the same code

from data-describe.

Related Issues (20)

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.