xpublish
xpublish copied to clipboard
OpenDAP endpoint
I recently learned about zarrdap. ZarrDAP is a FastAPI project that provides access to Zarr and NetCDF data in remote object storage using the Open-source Project for a Network Data Access Protocol (OPeNDAP).
This has me wondering if we can plug in the xarray opendap handler here. @markccapece, wondering if you have run across xpublish before and if you have thoughts on how the xarray handler in zarrdap could be used outside of zarrdap?
xref: #50
I've got the start of a xpublish compatible OpenDAP router at https://github.com/gulfofmaine/xpublish-opendap
@abkfenris - thanks for sharing! I plan to take a look at what you've written this week. Do you have any interest in adding this as a router to this project?
I would be interested in adding it, though after playing around with building a bunch of routers in https://github.com/asascience/restful-grids , I'm wondering if including too many routers into the core project is the right track, especially if they potentially have different requirements for data structure? Might it make more sense to have an ecosystem of router libraries that can evolve at their own pace?
Pondering some of the implications/implementation of having router libraries out loud
What about having libraries register routers with entrypoints? If a user doesn't specify certain routers to load, xpublish can find all the registered routers and set them up with default paths/tags, or users could explicitly setup certain routers as it currently works (might also want to have a way to just load the built in set of routers).
I also just started playing around with entrypoints to add new data formats for an OGC EDR style router: https://github.com/gulfofmaine/xpublish-edr/ For that I was thinking it might be possible to bring in matplotlib or bokeh to allow returning plots while keeping the core data slicing the same.
@abkfenris can this be closed with the existence of xpublish-opendap?
Thanks @xaviernogueira , yes this and a few other issues can be closed by pointing to specific plugins now.