Support IPython interactive widgets used in Python code
- Langage dominant
- Julia
- Étoiles
- 1.5k
- Forks
- 186
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
If I load something like vispy or Matplotlib's new nbagg backend, which displays in IPython using IPython's interactive-widget API, it would be good to have it work in Julia as well via PyCall ~~and Interact~~.
What I think this would involve:
- Have a new PyInteract package (that requires PyCall, ~~Interact~~, and IJulia).
- `using PyInteract` would `pyimport("IPython.html.widgets")`, and then monkey-patch it to remap some of the low-level function calls:
- Creating a comm object in Python should instead call the corresponding IJulia/Interact routine
- The `on_msg` callback function of that comm object should call back to IPython to handle the message on the Python side.
I don't know the internals of IPython at all, so some advice from @minrk, @fperez, @ellisonbg, and/or @Carreau would be very helpful:
- What is the minimal set of low-level IPython functions to monkey-patch in order to hook up IPython's widget code to the IJulia plumbing?
- Is monkey-patching the right thing here, or is there some better way to install hooks into IPython to change the widget plumbing?
cc: @shashi, @dcjones
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Start by reviewing PyCall, IJulia, Interact, and the IPython.html.widgets API described in the issue. Determine the minimal widget and comm hooks needed, and whether monkey-patching is appropriate. Done means a PyInteract package can make IPython interactive widgets such as vispy or Matplotlib nbagg work through Julia.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- jupyter, python
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100