Skip to content

ESA: abstract EsaTap using PyVO, HST and ISLA refactored, EMDS module and EinsteinProbe module#3511

Open
jespinosaar wants to merge 24 commits intoastropy:mainfrom
esdc-esac-esa-int:ESA_isla-emds-epsa_improvements
Open

ESA: abstract EsaTap using PyVO, HST and ISLA refactored, EMDS module and EinsteinProbe module#3511
jespinosaar wants to merge 24 commits intoastropy:mainfrom
esdc-esac-esa-int:ESA_isla-emds-epsa_improvements

Conversation

@jespinosaar
Copy link
Contributor

Dear Astroquery team,

We come from PR 3501: #3501

As part of the migration to PyVO, we have generated a more general class called EsaTap, extending PyVO capabilities with custom code (authentication, parameters in the request, methods to query tables with specific filters...). We will be using this class to extend ESA modules, so the common code will remain under EsaTap and the mission-specific methods will be defined in their specific modules. As a reference, we have already applied this approach to eHST and ISLA.

In addition to this, we have generated a new module called ESDC Multi-Mission Data Services (EMDS). Then, inside it, we have generated the module for Einstein Probe module, that depends on the EMDS one.

Please let us know if this is ok with you.

Happy to receive your feedback and implement any change you require!

Kind regards,
@jespinosaar and @pdmElisa

cc @esdc-esac-esa-int

@jespinosaar
Copy link
Contributor Author

Great, so after some iterations it seems that the only pending things are unrelated errors (it seems there are several deprecation warnings there...). So, we are ready for the review, @bsipocz .

And thanks @pdmElisa for your contributions!

@jespinosaar
Copy link
Contributor Author

Thanks for the updates @pdmElisa !

@jespinosaar
Copy link
Contributor Author

It seems that the workflows are waiting for the approval of a maintainer. I cannot see any button to launch them, @bsipocz . Can you please execute them to verify that the changes are ok?

@jespinosaar
Copy link
Contributor Author

Hi @bsipocz ! We are in the process of creating additional PRs from other ESA modules soon, based on the code included in this branch. Sorry for the rush, but it would be great if we could iterate on it and try to merge it as soon as possible.

FYI, these future PRs will include a new module, and we will request a formal release by last week of March / first week of April.

@pdmElisa and myself will fix quickly the changes you request.

@bsipocz
Copy link
Member

bsipocz commented Feb 14, 2026

@pllim - could you please add @pdmElisa to the astropy contributors team so we can avoid the need of manual workflow approval?

@bsipocz
Copy link
Member

bsipocz commented Feb 14, 2026

@jespinosaar - I'll try to get back to this one next week. The diff looks enormous, so it hasn't got to the top of the quick-things-to-review list yet.

@bsipocz
Copy link
Member

bsipocz commented Feb 14, 2026

(But I also noticed looking at the cron test jobs that the current integral module is very badly broken, so that definitely bumped up the priority on this one)

@jespinosaar
Copy link
Contributor Author

jespinosaar commented Feb 16, 2026

Hi @bsipocz!
Many thanks for your support!
Some of the ESA Archives are not available right now, this is why you will see some remote tests failing (e.g. ISLA, HST or XMM). The rest of them are up and running. We are working to make them available again as soon as possible. If it is ok with you, let's have a look at the content of this pull request in the meantime, as we can validate EMDS and Einstein-Probe module. Many thanks!

@jespinosaar jespinosaar force-pushed the ESA_isla-emds-epsa_improvements branch from 213f26d to 83ffebe Compare February 25, 2026 14:45
@codecov
Copy link

codecov bot commented Feb 25, 2026

Codecov Report

❌ Patch coverage is 80.30303% with 65 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.66%. Comparing base (e49f51a) to head (f09e2fb).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/esa/utils/utils.py 72.15% 44 Missing ⚠️
astroquery/esa/emds/core.py 77.46% 16 Missing ⚠️
astroquery/esa/emds/einsteinprobe/core.py 92.85% 4 Missing ⚠️
astroquery/esa/integral/core.py 88.88% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main    #3511    +/-   ##
========================================
  Coverage   72.66%   72.66%            
========================================
  Files         219      224     +5     
  Lines       20478    20729   +251     
========================================
+ Hits        14880    15063   +183     
- Misses       5598     5666    +68     

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

@jespinosaar
Copy link
Contributor Author

Dear @bsipocz ,

I have rebased this PR and added some changes to increase code-coverage and ensure sphinx is working as expected. In addition to this, the Archives are available again, so you can now execute all the remote tests.

As we already commented, it would be good if we could review this soon, as we will be using this code to generate other modules as well. We will be waiting for your feedback.

Many thanks for your patience! 😄

@jespinosaar
Copy link
Contributor Author

jespinosaar commented Mar 3, 2026

Dear @bsipocz ,

We would like to merge now another module from a different mission. This should be available at the end of this month (presumably with a released version, if not we can work with a pre-released). The problem here is that we are basing this development on what we have prepared for this PR. How should we proceed? Do you prefer to have this merged and then merge the new module in a different PR? Or should I include that code in this PR? Thanks in advance and sorry for insisting!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants