Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul registry interface #289

Merged
merged 49 commits into from
Jun 3, 2022
Merged

Commits on Jun 1, 2022

  1. Adding a basic framework to build RegTAP constraints, and the first A…

    …uthor and Freetext constraints
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    511d9cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8077a3a View commit details
    Browse the repository at this point in the history
  3. Column selection and grouping for datasearch.

    This introduces expected_columns in existing regtap.RegistryResource,
    which I now intend to re-use (and evolve) for the data discovery, too.
    It will now declare what columns are required from the queries itself
    (where I suspect we'll have to be a bit niftier if we want more
    advanced categories of data we get in the initial discovery query).
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    e095876 View commit details
    Browse the repository at this point in the history
  4. Now caching the RegTAP service object.

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    c95758b View commit details
    Browse the repository at this point in the history
  5. Adding a Servicetype constraint.

    Also, I've found that we can keep the existing registry.search interface
    (and adding another interface isn't worth the extra effort).  Hence,
    I've renamed the previous datasearch to rtcons ("RegTAP constraints").
    
    This breaks regtap.search, though, because I'm already preparing the move
    to using rtcons in there (maintaining includeaux).
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    5cdfef0 View commit details
    Browse the repository at this point in the history
  6. Adding a waveband constraint

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    f47dde2 View commit details
    Browse the repository at this point in the history
  7. Adding a datamodel keyword.

    Also, adding the forgotten _keyword attributes for Waveband and Servicetype
    so they'll later be found when moving regtap.search.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    4622f68 View commit details
    Browse the repository at this point in the history
  8. Reworking regtap.query to work with our new constraints.

    This required changing some of the constraints in order to keep the
    existing call patterns stable.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    6512104 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    767f16d View commit details
    Browse the repository at this point in the history
  10. Adding an Interface class to regtap to hold results for our now regul…

    …arly
    
    multi-interface results.
    
    We're now also retrieving the interface type because we may want
    to do something with web interfaces at some point.
    
    Also, waveband validation is now case-insenstitive.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    aa930d3 View commit details
    Browse the repository at this point in the history
  11. Extracting registry.search query building to a get_RegTAP_query funct…

    …ion.
    
    Also, refactoring service type selection to use a global SERVICE_TYPE_MAP
    for the various aliases for the standards.
    
    Also, adding an Ivoid constraint for just retrieving a specific resource.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    85e9f00 View commit details
    Browse the repository at this point in the history
  12. Further steps towards improved service selection.

    Interfaces now know if they're VOSI and are filtered by service,
    new way of expanding and shortinging standard ids.
    
    But we're stuck a bit because of a conspiracy between RegTAP's
    NULL mapping rules, ivo_string_agg's NULL skipping, and the lack of COALESCE
    in ADQL.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    a9ca306 View commit details
    Browse the repository at this point in the history
  13. RegTAP now employs COALESCE in the interface aggregates.

    This is nice and makes our "get all interfaces"-queries work.  It's
    only downside: This only exists in bleeding-edge DaCHSes, as far as
    ADQL is concerned.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    c1fb437 View commit details
    Browse the repository at this point in the history
  14. Work on interface selection by ~standard id.

    The effect of this commit is that you can say svc.get_service("tap") and receive
    a TAP service if there's a tap or tap#aux capability.  You can now also say
    svc.get_service("web") to get a browser interface.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    eed306e View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    df923b0 View commit details
    Browse the repository at this point in the history
  16. Adding a get_contact method to RegistryResource to figure out who cou…

    …ld do tech support.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    c411f8b View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    ee73bab View commit details
    Browse the repository at this point in the history
  18. Adding a UCD constraint.

    Also, changing the default endpoint to reg.g-vo.org, which is dc.g-vo with
    failovers in case anything is funny in Heidelberg.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    10ce5ce View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    da6d4c3 View commit details
    Browse the repository at this point in the history
  20. Editorial work on the documentation

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    e9a2be8 View commit details
    Browse the repository at this point in the history
  21. registry: Adding a workaround for automatic access URL selection

    when services declare multiple data models with matching prefixes.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    663befe View commit details
    Browse the repository at this point in the history
  22. Docstring regularisation in rtcons

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    d4f4661 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    16d3d78 View commit details
    Browse the repository at this point in the history
  24. + RegTAP Spectral constraint.

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    4611a4e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    52e5b29 View commit details
    Browse the repository at this point in the history
  26. + RegTAP Temporal constraints

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    d3741aa View commit details
    Browse the repository at this point in the history
  27. Making resource lists accessibles through short names, too

    Actually, you can even use ivoids if things really need to be repeatable.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    b8c84be View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    9fffbbe View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    d68a27e View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    04dd076 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    b617f28 View commit details
    Browse the repository at this point in the history
  32. flake8 cosmetics

    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    799abe0 View commit details
    Browse the repository at this point in the history
  33. Fixes for Birgitta's first review comments.

    That is:
    
    * Changelog mentions PR rather than bugs
    * __all__ declaration for the rtcons module.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    8590490 View commit details
    Browse the repository at this point in the history
  34. Fixing RegistryResource.describe for multi-capability resources.

    The previous code assumed that typically, records only have one capability,
    which is no longer true as soon as people do not constrain by servicetype
    (actually, it hasn't been true before either).
    
    So, describe() now gives the various access methods and no longer tries
    to indicate a specific capability.  I have re-shuffled the order of
    the outputs a bit in consequence.
    
    And I wonder if this should show contact information by default.  The
    main counterargument at this point: That requires a network request.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    ea4787e View commit details
    Browse the repository at this point in the history
  35. The Servicetype constraint now accepts local parts of the ivoid, too.

    This corresponds to the legacy behaviour.
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    b9bd35e View commit details
    Browse the repository at this point in the history
  36. Adding (back?) source_value to RegistryResource.

    This addresses review comment
    astropy#289 (review)
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    10e4ccb View commit details
    Browse the repository at this point in the history
  37. Adding an origin attribute to VOSI tables coming from RegistryResource.

    This points back to the parent instance.
    
    This is an attempt to address
    astropy#289 (comment)
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    293be23 View commit details
    Browse the repository at this point in the history
  38. Minor editorial changes, mainly to documentation.

    Also, adding a __repr__ method to regtap.Interface that returns a
    constructor call literal.
    
    This is in response to
    astropy#289 (review)
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    fb750cc View commit details
    Browse the repository at this point in the history
  39. Renaming previous RegistryResults.to_table to get_summary.

    This is because overwriting DALResults.to_table proved a bad idea
    (see astropy#289 (comment))
    msdemlei authored and bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    10452ec View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    1b5a2e1 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    b3ba96d View commit details
    Browse the repository at this point in the history
  42. Fixing docstring examples

    bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    0c313f7 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    9f4bfe5 View commit details
    Browse the repository at this point in the history
  44. Fix directive typo [skip ci]

    bsipocz committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    2314e27 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    ae43aa1 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2022

  1. Making tests using the messenger vocabulary non-remote.

    The messenger_vocabulary fixture should have made them non-remote, but
    I've never actually tested that.  It now turns out that astropy.data doesn't
    use requests and hence my nice requests mocker just didn't work.
    
    I've now replaced it by code seeding astropy.data's cache.  This is a
    pattern we ought to use whenever code uses IVOA vocabularies.  I wonder
    where we should document this?
    msdemlei committed Jun 2, 2022
    Configuration menu
    Copy the full SHA
    cc2967c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6dc5dd7 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2022

  1. Adding forgotten registry.tests.commonfixtures.

    (sorry; also, I'm busy elsewhere, so I'll address the remaining issues on
    Monday)
    msdemlei committed Jun 3, 2022
    Configuration menu
    Copy the full SHA
    53dee40 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    47026f1 View commit details
    Browse the repository at this point in the history