Add ipywidgets backend
This PR will add ipywidgets as a widget backend for the jupyter environment (using magicgui.use_app('ipynb')). Things are coming together pretty well, with most widgets and events working nicely:
https://user-images.githubusercontent.com/1609449/103779235-76028c80-5001-11eb-8504-20907c620c62.mov
😍
Hey @Czaki, if you have a moment to review this, mostly paying attention to the minimal changes outside of the new backends/_ipynb directory (i.e. the stuff that has any potential to interact with existing non-notebook usage) that would be great.
Since it's a new/independent feature that doesn't really affect much of the Qt-based usage, I'll probably merge this soon to make it available for playing with
Codecov Report
Merging #87 (288e0d0) into main (284999e) will decrease coverage by
1.68%. The diff coverage is64.15%.
:exclamation: Current head 288e0d0 differs from pull request most recent head 080e366. Consider uploading reports for the commit 080e366 to get more accurate results
@@ Coverage Diff @@
## main #87 +/- ##
==========================================
- Coverage 89.02% 87.33% -1.69%
==========================================
Files 30 33 +3
Lines 3953 4208 +255
==========================================
+ Hits 3519 3675 +156
- Misses 434 533 +99
| Impacted Files | Coverage Δ | |
|---|---|---|
| magicgui/widgets/_bases/widget.py | 84.92% <26.66%> (-2.98%) |
:arrow_down: |
| magicgui/backends/_ipynb/widgets.py | 63.91% <63.91%> (ø) |
|
| magicgui/backends/_ipynb/application.py | 90.90% <90.90%> (ø) |
|
| magicgui/backends/__init__.py | 100.00% <100.00%> (ø) |
|
| magicgui/backends/_ipynb/__init__.py | 100.00% <100.00%> (ø) |
|
| magicgui/backends/_qtpy/widgets.py | 86.95% <100.00%> (ø) |
|
| magicgui/widgets/__init__.py | 100.00% <100.00%> (ø) |
|
| magicgui/widgets/_bases/button_widget.py | 100.00% <100.00%> (ø) |
|
| magicgui/widgets/_protocols.py | 100.00% <100.00%> (ø) |
|
| magicgui/_type_wrapper.py | 65.70% <0.00%> (-2.53%) |
:arrow_down: |
| ... and 1 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
thanks @Czaki ... i made all the changes requested