Support IPython interactive widgets used in Python code
- Ngôn ngữ chính
- Julia
- Star
- 1.5k
- Fork
- 186
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- jupyter, python
- Lĩnh vực
- tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100