kinow / kinoshita.eti.br

kinow website
https://kinoshita.eti.br
Other
4 stars 2 forks source link

GSoC - develop a sample Jupyter notebook widget #134

Closed kinow closed 4 years ago

kinow commented 4 years ago

The idea is to mime the features of the Active Choices plug-in. And since JupyterLab appears to be the future replacement of Jupyter Notebooks, it might be a good idea to write a widget compatible with JupyterLab (see https://github.com/jupyter-widgets/ipywidgets/issues/2488 for example of existing issues).

kinow commented 4 years ago

To simplify the development, perhaps ship something simpler:

This is pretty much how reactivity works in Active Choices. Then the next step would be to validate that we can modify this widget to execute commands. This is how the Groovy script execution works in Activate Choices.

The difference with this widget is that since IPython supports multiple kernels, the script could be written in any language, given the user has a kernel installed for that language. We had a similar idea before in BioUno to extend Scriptler and support multiple languages, not only Groovy (in special R, since we maintain the R Plug-in too).

kinow commented 4 years ago

With this working prototype, it would be up to the student to:

The last step could be a simple Python script that executes a remote call to Jenkins - preferably authenticated, supporting SSH, but OK if not possible. But it would be better if instead if supported different backends, such as Jenkins, PBSServer, Cylc Flow, Airflow, Galaxy, Taverna, etc.

kinow commented 4 years ago

WIP Prototype

There is a list of IPython widgets here. And also a tutorial here.

kinow commented 4 years ago

This tutorial is quite complete too: https://www.japonin.com/free-learning-tools/teachers-blog/207-apple-blossoms.html

The .observe is probably what we need for the Active Choices Reference parameter.

kinow commented 4 years ago

Done: https://twitter.com/kinow/status/1234053592203481090

kinow commented 4 years ago

Now maybe blog about it to take some notes about interact, observe, investigate interactive, etc.