astropy / pyvo

An Astropy affiliated package providing access to remote data and services of the Virtual Observatory (VO) using Python.
https://pyvo.readthedocs.io/en/latest
BSD 3-Clause "New" or "Revised" License
74 stars 50 forks source link

Planting the seeds for a `vospace` module #528

Open andamian opened 4 months ago

andamian commented 4 months ago

I started with something very simple - read a node and read a container node and its entire content. There's a lot of functionality missing but initially I'm seeking comments general comments regarding the data representation as well as style and overall functionality. There's already a stand-alone VOSpace Python client (https://github.com/opencadc/vostools/tree/master/vos). This implementation aims to re-use as much as possible the existing PyVO infrastructure. Even if it's work in progress, I still welcome early feedback.

msdemlei commented 4 months ago

I am totally in favour of having VOSpace support in pyVO. Since I've never actually done any work with VOSpace, I can't say much on implementation and API, though.

But this would be a very nice opportunity to finally get VOSpace registration done properly. If I remember right, vos URIs are built around ivoids, and thus to resolve them you'd have to engage the Registry. Last time I looked, that's probably not what happens in practice, as no (active) VOSpace services were actually registered. So... I'd be more than happy to figure out this part of this endeavour.

andamian commented 4 months ago

Yes, it should be able to resolve URIs of the form vos://example.com!vospace/container-6/siap-out-1.vot?foo=bar via dismantle, reg lookup and reassemble which should be quite cool if it works.

Our existing tool installs a number of CLI commands such as vls, vcm etc (similar to their linux counterparts or to the scp remote one). These tools are very popular with our users. Do you see that as being outside the scope of PyVO which is just a library?

msdemlei commented 4 months ago

On Thu, Feb 29, 2024 at 09:01:24PM +0000, Adrian wrote:

Our existing tool installs a number of CLI commands such as vls, vcm etc (similar to their linux counterparts or to the scp remote one). These tools are very popular with our users. Do you see that as being outside the scope of PyVO which is just a library?

I seem to remember astropy came with a few command line programs, even if I now can't find them any more. Me, I'd be fairly relaxed about providing some entry points to some modules.

If, on the other hand, significant amounts of argparse code were necessary to do something useful, that'd be a signal to me that a separate package would probably be a better fit.

bsipocz commented 2 months ago

I seem to remember astropy came with a few command line programs, even if I now can't find them any more.

They are here: https://github.com/astropy/astropy/blob/main/pyproject.toml#L114