ginga icon indicating copy to clipboard operation
ginga copied to clipboard

Make loaders discoverable via entry points

Open ejeschke opened this issue 2 years ago • 4 comments

This makes loaders for a Ginga viewer discoverable via entry points. This will make it possible to write 3rd-party loaders that are not bundled with Ginga.

Loaders are consolidated in ginga.util.io. Legacy stubs with warning on import are left in ginga.util.io_rgb and ginga.util.io_fits.

ejeschke avatar Aug 23 '22 00:08 ejeschke

I like the concept but +1,557 −1,541 😱

Also, how backward compatible is this?

pllim avatar Aug 23 '22 15:08 pllim

The large line change is because I left stubs in place for backward compatibility for anyone that might be importing io_fits or io_rgb from the previous location. The actual operation of the opener hasn't really changed as far as API.

Not quite ready for testing or review yet...

ejeschke avatar Aug 24 '22 01:08 ejeschke

@pllim, do you have time to take a look and/or test? This is the last PR to be merged for 4.0, unless we want to try to tackle #1011. I pushed the due date for 4.0 to 2022-12-15.

Don't be daunted by LOC change, almost all is due to moving io_fits.py and io_rgb.py from ginga.util to ginga.util.io, but leaving placeholders in the old location--thus it looks like two new files and big changes to the old two files. There is no significant change to the loaders. I will probably add some documentation still.

ejeschke avatar Nov 03 '22 01:11 ejeschke

do you have time

Not much. Maybe I can look at the documentation when you add them and go from there. It is unlikely that STScI will be adding their own loaders at this point.

pllim avatar Nov 03 '22 13:11 pllim

@pllim, I updated the documentation in doc/dev_manual/internals.rst. Since I haven't created a "ginga-loader-template" repo, I don't have new instructions on that. For this PR, just updated the code example that loads HDF5 images and a bit of wording. It recommends installing a new loader using the old ginga_config.py technique (which still works).

Have a look if you have time. Would like to put out a release by the 20th.

ejeschke avatar Dec 15 '22 05:12 ejeschke

I don't think I have time to really review this, so if you think it is ready and it is backward compatible, feel free to merge. Thanks!

pllim avatar Dec 15 '22 15:12 pllim