close
Skip to content

MAST: New Catalogs module using VO-TAP#3582

Draft
snbianco wants to merge 17 commits intoastropy:mainfrom
snbianco:catalogs-main
Draft

MAST: New Catalogs module using VO-TAP#3582
snbianco wants to merge 17 commits intoastropy:mainfrom
snbianco:catalogs-main

Conversation

@snbianco
Copy link
Copy Markdown
Contributor

@snbianco snbianco commented Apr 28, 2026

This pull request introduces a major refactor and modernization of the Catalogs interface in the MAST module, focusing on switching from the portal and catalogs.mast to VO-TAP. This interface has unified query workflows and enhanced discovery and filtering capabilities. It's a big one!

For a quick rundown of the intended workflow, I recommend starting with the new documentation (mast_catalog.rst).

MAST Catalogs Interface Refactor and Enhancements:

  • The Catalogs interface is now centered around VO-TAP queries, replacing previous catalog-specific assumptions. It introduces new discovery helpers (get_collections, get_catalogs, get_column_metadata) and adds a supports_spatial_queries method to check for positional-query support before querying.
  • Query methods (query_criteria, query_region, query_object) have been unified to support both positional and non-positional searches, with features such as cone and region searches, column selection, sorting, count-only queries, pagination (limit/offset), and advanced filtering.
  • Several legacy parameters and methods are deprecated, including version, pagesize, page, and HSC-specific helpers, in favor of the new, more general interface.
  • The CatalogCollection class represents a collection of catalogs. The Catalogs class uses an internal CatalogCollection object in both the discovery and query methods.

Testing and Documentation Updates:

  • The test data README now includes detailed instructions for generating new TAP-related test files, such as tap_collections.json, tap_catalogs.vot, tap_columns.vot, tap_capabilities.xml, and tap_results.vot, supporting the new catalog interface.
  • mast_catalog.rst is updated to reflect the new refactor.

@snbianco snbianco force-pushed the catalogs-main branch 3 times, most recently from d6dfa92 to 6a8e22d Compare April 28, 2026 16:57
snbianco and others added 13 commits April 28, 2026 12:59
Updating docstrings, clarity
TAP URL constant, add comments

Updating docstrings, don't set `available_collections` in method
Minor refactoring, more comments

style

Update default catalogs mapping name

copilot comments

Fixing collection names

Update docstrings to be more explicit about region types

fix style

Add TODO about sky region classes
addressing comments from Sam

uncommenting out line

adjusting to new naming convention

addressing more comments

Starting off non-remote testing

More test examples

Style fixes to test_mast_remote

Notes for non-remote tests
Adjusting from rebase

Clear cache in non-remote tests
Catch up rebase
do not call network for default initializations of Catalogs
snbianco and others added 2 commits April 28, 2026 13:32
Avoid overflow errors

updating tap_collections.json

slight adjustments to parsing logic

catalog tests

typo correction

addressing comments

Some rebase fixes

Rebase fix
Co-authored-by: Copilot <copilot@github.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 28, 2026

Codecov Report

❌ Patch coverage is 97.30114% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.76%. Comparing base (a1fee2a) to head (b16163e).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/mast/collections.py 97.11% 14 Missing ⚠️
astroquery/mast/catalog_collection.py 97.66% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3582      +/-   ##
==========================================
+ Coverage   73.22%   73.76%   +0.53%     
==========================================
  Files         226      227       +1     
  Lines       21000    21479     +479     
==========================================
+ Hits        15378    15844     +466     
- Misses       5622     5635      +13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-authored-by: Copilot <copilot@github.com>

More doc fixes

Co-authored-by: Copilot <copilot@github.com>

Typos

Co-authored-by: Copilot <copilot@github.com>
@snbianco snbianco marked this pull request as ready for review April 28, 2026 18:54
@snbianco snbianco marked this pull request as draft April 28, 2026 19:06
@snbianco snbianco marked this pull request as ready for review April 28, 2026 19:25
@snbianco snbianco marked this pull request as draft April 30, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants