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

Partial rewrite of the MOCServer module #3139

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

ManonMarchand
Copy link
Member

@ManonMarchand ManonMarchand commented Nov 27, 2024

Hello astroquery,

This is a quite big rewrite of the MOS Server module.

The two main motivations behind it were:

  • there was a bug that using query_region with a MOC would write a real file on the people's current folder. This file would be named moc.fits and could potentially overwrite a pre-existing file with the same name silently.
  • the MOC server upstream now works with time MOCs and space-time MOCs, so these features were needed here

The actual changes in this PR

  • new method query_hips allows to filter only hips in a shortcut rather than having to remember all the time to have to type hips_frame=* in the meta_data (convenience method)
  • before, you could only search by region or by meta_data. This was unnecessary, and now the two methods are exactly the same and allow to filter on region and to add a criteria. I was wondering whether find_datasets should be deprecated
  • new parameters casesensitive and spacesys allow to chose whether the query will respect the case, and to chose a specific system for the datasets (ex: mars, venus, C where C is the sky)
  • new methods list_spacesys that prints the currently available spacesys (can evolve as providers post new datasets)
  • new method list_fields to see the possible fields (there are 134 today) sorted by occurrence and with an example
  • the default returned table now have a sub-selection of fields rather than the whole 134 ones (this speeds up the module considerably)
  • return_moc is no longer oly a boolean. It keeps it former behavior (True means Space MOC) but it can now also take the values smoc, tmoc, or stmoc to specify the kind of MOC that should be returned
  • in query_region, the region argument can now also be a mocpy.TimeMOC and a mocpy.STMOC on top of the previously accepted classes
  • removed the regions module from the mandatory dependencies

Changes while I was there

mostly achieved by looking at a small MOC in test_moc_order_param rather than the whole sky
for tables, we use the fact that Table accepts dictionnaries. For MOCs, the dictionnary parsing has been improved in MOCpy > 0.12 and does not require to remove empty orders anymore
@pep8speaks
Copy link

pep8speaks commented Nov 27, 2024

Hello @ManonMarchand! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2024-11-27 15:53:16 UTC

@ManonMarchand ManonMarchand force-pushed the mocserver branch 4 times, most recently from 68d1db0 to 065b393 Compare November 27, 2024 15:43
@ManonMarchand

This comment was marked as outdated.

Copy link

codecov bot commented Nov 27, 2024

Codecov Report

Attention: Patch coverage is 92.45283% with 8 lines in your changes missing coverage. Please review.

Project coverage is 67.68%. Comparing base (ce16157) to head (199c5d4).
Report is 49 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/mocserver/core.py 92.38% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3139      +/-   ##
==========================================
+ Coverage   67.53%   67.68%   +0.15%     
==========================================
  Files         233      233              
  Lines       18487    18471      -16     
==========================================
+ Hits        12486    12503      +17     
+ Misses       6001     5968      -33     

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

this is mainly motivated by the new support for time mocs and space-time mocs upstream
@bsipocz bsipocz added this to the v0.4.8 milestone Nov 27, 2024
@ManonMarchand ManonMarchand marked this pull request as draft December 2, 2024 16:47
@ManonMarchand
Copy link
Member Author

Switching to draft as I asked for a review internally in CDS

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