Skip to content

Migrated ESASky module to use EsaTap/PyVO instead of TAPPlus#3572

Open
imbasimba wants to merge 6 commits intoastropy:mainfrom
imbasimba:esasky-pyvo
Open

Migrated ESASky module to use EsaTap/PyVO instead of TAPPlus#3572
imbasimba wants to merge 6 commits intoastropy:mainfrom
imbasimba:esasky-pyvo

Conversation

@imbasimba
Copy link
Copy Markdown
Contributor

Following the merge of #3511, here is the migration for the ESASky module

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 31, 2026

Codecov Report

❌ Patch coverage is 64.55696% with 28 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.14%. Comparing base (dbf41fd) to head (d0d5448).
⚠️ Report is 68 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/esasky/core.py 53.65% 19 Missing ⚠️
astroquery/esasky/__init__.py 76.31% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3572      +/-   ##
==========================================
+ Coverage   73.10%   73.14%   +0.04%     
==========================================
  Files         224      224              
  Lines       20839    20871      +32     
==========================================
+ Hits        15234    15266      +32     
  Misses       5605     5605              

☔ 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.

@bsipocz bsipocz added the esasky label Apr 3, 2026
@bsipocz bsipocz added this to the 0.4.12 milestone Apr 3, 2026
Copy link
Copy Markdown
Member

@bsipocz bsipocz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Big picture looks OK, but we will need to think a bit more about what deprecations will need to be done; or if we want to do a clear break and call this a major enough refactor where we don't provide non-breaking API changes.

Comment on lines -9 to -19
urlBase = _config.ConfigItem(
'https://sky.esa.int/esasky-tap',
'ESASky base URL')

timeout = _config.ConfigItem(
1000,
'Time limit for connecting to template_module server.')

row_limit = _config.ConfigItem(
10000,
'Maximum number of rows returned (set to -1 for unlimited).')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are public attributes, so I don't think we can remove them without doing a deprecation first.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(you can make them an alias to the new variables along with a warning)

Comment on lines -82 to +85
def __init__(self, tap_handler=None):
super().__init__()
def __init__(self, *, show_messages=False, auth_session=None, tap_url=None):
super().__init__(auth_session=auth_session, tap_url=tap_url)
Copy link
Copy Markdown
Member

@bsipocz bsipocz Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so this PR will add some backwards incompatible api changes. If we clearly communicate that in the changelog, I think we can be OK with it even if we decide of not doing a deprecation, but we definitely need to communicate that.

cc @keflavich

Copy link
Copy Markdown
Member

@bsipocz bsipocz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a lot of remote test failures, changing the review status to make sure those will get fixed up before we merge this.

@imbasimba
Copy link
Copy Markdown
Contributor Author

Now, I have improved the backward compatibility. I deprecated the old properties and used aliases, restored get_columns, restored and deprecated get_tap, and deprecated parameter tap_handler. Hopefully, that is all the API breaks.
Let me know if I got the property deprecation/aliases right. I’ve never used them myself.

Regarding the failing remote tests, they seem unrelated to the ESASky module and appear to be a cache and hooks issue in astroquery.query. See imbasimba@6266128
Let me know your thoughts on this workaround, and if acceptable, I can merge it into this PR.

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