Initial implementation of abstract class#126
Conversation
Separated out the Ginga implementation. Re-organized and updated tests.
cb4e10e to
9800195
Compare
TST: Update test matrix and added a test. DOC: Re-organized doc and notebooks. DOC: Update example notebooks
This comment has been minimized.
This comment has been minimized.
|
Note to reviewers: I don't expect you to go through all that diffs. This is probably the page you want to focus on: https://astrowidgets--126.org.readthedocs.build/en/126/abstract.html @mwcraig , also note the API changes reflected in the example notebooks diff. |
|
@pllim, are any of 'pycairo', 'pillow', 'opencv' or 'aggdraw' installed in the test environment? One of them is needed for the web backend to function, but I don't think any of them are in |
|
Ah, thanks, @ejeschke ! It is fixed now. |
|
pycairo will give you the most capability... |
1f3baf9 to
debe04e
Compare
|
Hoping to take a look at this later today...if not, then first thing wednesday. |
a9a7c2d to
a62d31f
Compare
DOC: Cannot use automodapi for Ginga API because we need to inherit docstring. DOC: Do not display inherited members because too confusing. [ci skip]
4d6579e to
678a2e4
Compare
|
Thanks, @mwcraig ! Your feedback would be very valuable. I was just playing with finalizing the rendered API appearance and I think I finally got it working. |
eteq
left a comment
There was a problem hiding this comment.
Have not managed a proper review of this, but given #142 I figure I should hold off anyway.
Conceptually I like this on its own, but with the caveat of all the points @mwcraig makes in #142. That is, using subclasses like this might turn off downstream users who want their astrowidgets backend to be the "real" viewer objects. It's easy to imagine a lot of dragons in managing the __init__, possible metaclasses, etc.
That said, I think basically everything in the "Understanding BaseImageWidget" section basically is still good even in the #142-style approach! That is, this captures what the user wants to see regardless of whether the backends are implemented as subclasses vs interfaces.
|
|
||
| .. code-block:: python | ||
|
|
||
| from astrowidgets.somebackend import ImageWidget |
There was a problem hiding this comment.
Conceptually I wonder if this is better presented as
| from astrowidgets.somebackend import ImageWidget | |
| from somevizpackage.astrowidget_backend import ImageWidget |
? That is, make it clear that external packages can and should write their own backends, rather than it being an import from astrowidgets?
|
In some out-of-band discussion, @mwcraig, @pllim, and I concluded we want to try the |
|
Superseded by #162 |
Fix #93
Pre-requisite for #122
Bonus:
TODO
docsexample_notebooksImageWidgetto inherit docstring fromBaseImageWidget?