Using IPython Widgets

Hi,

I was hoping to replicate some sort of filters/dropdown menu so that charts generated in the Python notebook can change according to the user's selection. This feature would be very helpful - collapses many plots into one area, and instead of scrolling endlessly the user can simply point and click to change the plot to the plot of interest.

But I wasn't successful, here are my steps:

I imported the following packages:

from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
from IPython.display import display as display_widget

Wrote a simple function that generates plots based on some user input:

def fake_function(user_input):
  ...
  plot something

And tried interact:

interact(fake_function,user_input=["Option 1","Option 2"])

And got:

#missing button for user input

#default plot here

<function __main__.fake_function>

Using the function interactive and display seems to only result in the same error without the <function__main__.fake_function> line in the output.

The plotting function (fake_function) is fine - I've tested it separately.

I'm unsure if this is a problem with the way that I'm using the widgets, possibly because the version in Mode is outdated and I'm following the instructions from a tutorial using the updated version of ipywidgets, or is it something intrinsic to the Mode python notebooks.

I'm aware of dynamic parameters, but I'm hoping for post-querying filtering capabilities, such that the report does not need to run again depending on the user's input.

Would appreciate any help or comments!

Bill

5replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Donna McGahan I'm assuming ipython widgets are not supported in Mode?

    Reply Like
  • Hi Vincent ,

    It seems we do have the library ipywidgets version 4.1.1 but I don't think Python Notebook is supporting it really.  Sorry about that!  I can make a request for this on your behalf so the product team will see it.  

    Reply Like
  • As far as I can tell, the ipywidgets need to be enabled for this to work:

    jupyter nbextension enable --py --sys-prefix widgetsnbextension

    See this URL for more info.

    I'd love to see this in Mode, is it possible to add this to environment building? 

    Reply Like 1
  • Hey Will ! Supporting ipywidgets is a very highly requested feature here, so this is definitely on our roadmap. We're unable to provide a concrete ETA right now though.

    That said, I'm sharing this with the respective product team again so you and your team are heard. And we will make sure to keep you posted should we have any updates on this. Thanks!

    Reply Like
  • Thanks for the update!

    Reply Like
Like5 Follow
  • Status Answered
  • 5 Likes
  • 1 mth agoLast active
  • 5Replies
  • 1054Views
  • 8 Following