Skip to content

EUCLID: new method get_sia to access the Simple Image Access Protocol (SIAP) v2.0#3569

Draft
cosmoJFH wants to merge 1 commit into
astropy:mainfrom
esdc-esac-esa-int:ESA_euclid_EUCLIDSWRQ-250_siaps_function_new
Draft

EUCLID: new method get_sia to access the Simple Image Access Protocol (SIAP) v2.0#3569
cosmoJFH wants to merge 1 commit into
astropy:mainfrom
esdc-esac-esa-int:ESA_euclid_EUCLIDSWRQ-250_siaps_function_new

Conversation

@cosmoJFH

Copy link
Copy Markdown
Contributor

Dear astroquery team,

we would like to implement a new method for the Simple Image Access Protocol (SIAP) v2.0 exposed by the Euclid project.

The Euclid Archive applies the following IVOA standard to serve:

  1. Tables (catalogues), via the IVOA Table Access Protocol TAP
  2. Spectra, via the IVOA DataLink prococol.
  3. Images (and cutouts), via the Simple Image Access (SIA)

The new get_sia method will allow users to obtain the “file_name” and “file_path” of the FITS files that contain the observations of the input coordinates.

cc @esdc-esac-esa-int
jira: EUCLIDSWRQ-250

Note that this PR clones #3506, that was closed due to an error when updating the remote branch.

@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch 4 times, most recently from 60634c4 to 5316272 Compare March 25, 2026 15:11
@codecov

codecov Bot commented Mar 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.84848% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.28%. Comparing base (9bfbce7) to head (3147aed).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/esa/euclid/core.py 88.33% 7 Missing ⚠️
astroquery/utils/tap/core.py 50.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3569      +/-   ##
==========================================
+ Coverage   73.24%   73.28%   +0.03%     
==========================================
  Files         230      230              
  Lines       21299    21363      +64     
==========================================
+ Hits        15601    15655      +54     
- Misses       5698     5708      +10     

☔ View full report in Codecov by Harness.
📢 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.

@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from 5316272 to c98b8e9 Compare March 25, 2026 19:19
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from 5a6fea2 to 249f1dc Compare April 13, 2026 18:20
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from 249f1dc to 715c40b Compare April 24, 2026 19:32
@cosmoJFH

cosmoJFH commented Apr 27, 2026

Copy link
Copy Markdown
Contributor Author

Hi @bsipocz, we’re planning to include this feature in the next release scheduled for the end of May. Would the team have time to review this pull request?

@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from c1c5536 to ae192c7 Compare May 25, 2026 10:09
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from ae192c7 to 31ebb5b Compare June 12, 2026 05:17
@cosmoJFH

Copy link
Copy Markdown
Contributor Author

Hi @bsipocz,

We'd like to merge this new method into the develop branch because we need it for the DataLabs service. Would you have time to review the changes when you get a chance?

Thanks very much in advance!

@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from 20afd77 to 5745cde Compare June 16, 2026 16:38
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch 2 times, most recently from 2ebfc32 to af93218 Compare July 15, 2026 07:35
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from af93218 to 54f3e1a Compare July 23, 2026 10:51
@cosmoJFH

Copy link
Copy Markdown
Contributor Author

Hi @bsipocz,

we’re planning to include this new feature in the next release scheduled for the end of July. Would the team have time to review this pull request?

Comment thread astroquery/esa/euclid/core.py Outdated
Comment thread astroquery/esa/euclid/core.py Outdated

return not isinstance(value, int) and ((isinstance(value, (list, tuple)) and len(value) > 1) or ',' in value)

def get_sia(self, *, search_type='CIRCLE', ra, dec, radius, calibration=2, instrument='ALL', band=None,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

there are non-keyword arguments after a keyword argument. I thought this was syntactically disallowed?

We also prefer using coordinate (a skycoord) rather than manually specified ra/dec

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the order should be required positional arguments (e.g., coordinate, radius, search_type), then *, then keyword arguments.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The parameter coordinates accepts a str or SkyCoord, since it is parsed by the method commons.parse_coordinates.

We would like to define the parameters as keyword-only arguments, because get_sia has many optional arguments, and requiring keywords makes calls much more self-documenting. We do not set a default value for coordinates, so callers must provide the coordinates argument.

Comment thread astroquery/esa/euclid/core.py Outdated
Comment on lines +1584 to +1586
ra_deg = self.coordinates_degrees(ra)
dec_deg = self.coordinates_degrees(dec)
radius_deg = self.coordinates_degrees(radius)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this should be handled by standard astroquery coordinate handling mechanisms

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We fully agree with you. We make use of the methods commons.parse_coordinates(coordinates=coordinates) and
esautils.get_degree_radius(radius)

Comment thread astroquery/utils/tap/core.py Outdated
Comment thread astroquery/utils/tap/core.py Outdated
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch 3 times, most recently from 2da12bb to 2f5637b Compare July 24, 2026 19:19
@cosmoJFH
cosmoJFH marked this pull request as draft July 24, 2026 19:39
@cosmoJFH

Copy link
Copy Markdown
Contributor Author

Converted to a draft till is fully validated by our team.

@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch 4 times, most recently from 4749718 to c9ce096 Compare July 25, 2026 12:38
@cosmoJFH
cosmoJFH force-pushed the ESA_euclid_EUCLIDSWRQ-250_siaps_function_new branch from 15c3dd2 to 3147aed Compare July 25, 2026 12:46
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.

2 participants