Skip to content

Conversation

@keflavich
Copy link
Contributor

@keflavich keflavich commented Nov 7, 2025

I'm not as sure as I was at the start of this project that there is enough in common, but maybe.

This relies on other open PRs, #3302 and #3455 should be merged before this one, and then this one needs squashing.

@keflavich
Copy link
Contributor Author

My hacking has hit an awkward position. I wanted to implement a fallback-to-getmolecule approach, but this made me realize that the async-to-sync method prevents returning non-response results and prevents passing arguments directly to _parse_response. Both of these make the workaround a lot more awkward.

There are a couple other approaches I could take, but I really want this fallback because of the unreliability of JPLspec and the hinted-at fragility of other services.

@bsipocz
Copy link
Member

bsipocz commented Nov 8, 2025

What about ditching async to sync? I have my doubts it ever worked in a real async way

@keflavich
Copy link
Contributor Author

yeah, I can get onboard with that. It's a big refactor, but not that hard.

That said, I'd need to feel quite inspired / have little on my plate to want to take that on myself. I think it is not the tallest nail right now

@keflavich
Copy link
Contributor Author

(also most of the problems I'm experiencing here are because the SPCAT format is extraordinarily arcane and has dozens of undocumented edge cases....)

@bsipocz
Copy link
Member

bsipocz commented Nov 8, 2025

Of, I don't mean to refactor the machinery, but feel free to cut the usage of it. We don't use it in the vo backed modules anyway, so it's more like a slow cleanup rather than one big push.

@keflavich
Copy link
Contributor Author

right, good point. OK, I'll think about that - once I get out of qn-parsing hell

@codecov
Copy link

codecov bot commented Nov 9, 2025

Codecov Report

❌ Patch coverage is 79.61783% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.67%. Comparing base (3418e41) to head (4843bf0).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/linelists/jplspec/core.py 73.39% 29 Missing ⚠️
astroquery/linelists/cdms/core.py 94.11% 2 Missing ⚠️
astroquery/linelists/core.py 91.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3456      +/-   ##
==========================================
+ Coverage   71.48%   71.67%   +0.19%     
==========================================
  Files         234      236       +2     
  Lines       20096    20228     +132     
==========================================
+ Hits        14365    14498     +133     
+ Misses       5731     5730       -1     

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

@keflavich keflavich marked this pull request as ready for review November 9, 2025 21:05
@keflavich
Copy link
Contributor Author

I had an LLM write some of the tests to increase coverage. I reviewed those tests, and they look right, but I'm not certain. I can say that they revealed genuine bugs that I had to fix, so that was good.

@keflavich
Copy link
Contributor Author

#3302 and #3455 should be merged before this one, and then this one needs squashing.

@bsipocz
Copy link
Member

bsipocz commented Nov 12, 2025

@keflavich - I believe you pushed to the wrong branch

@keflavich
Copy link
Contributor Author

oh ffs.... you're right.

@keflavich
Copy link
Contributor Author

I'll have to rebase this one after merging #3455 anyway.

@bsipocz bsipocz added this to the 0.4.12 milestone Nov 19, 2025
@bsipocz
Copy link
Member

bsipocz commented Nov 19, 2025

As both parent PRs are merged, can you rebase this and squash out iterations as necessary here?

@keflavich
Copy link
Contributor Author

Yes, let me handle that - it will be complex and I will need to remove some things

The commit messages below come from individual commits that were
squashed into one.  A lot of other messages were redundant and manually
edited out:

factor pseudo-common code into linelists from cdms/jplspec

refactor jplspec to not use async machinery

refactor to use absolute imports
@keflavich
Copy link
Contributor Author

This should be ready for review, but I'm less confident than I'd like to be about the rebase. vscode created ridiculous, incomprehensible merge failures in the changelog, so I basically rewrote it from scratch. The rest... most of the conflicts were just import or whitespace errors, so I'll check back through these.

@keflavich
Copy link
Contributor Author

I verified that the doctests whitespace are correct with these commands, which resulted in no diff (to my shock!):

pytest docs/linelists/jplspec/jplspec.rst --doctest-plus-generate-diff=overwrite -R 
pytest docs/linelists/cdms/cdms.rst --doctest-plus-generate-diff=overwrite -R 

@keflavich
Copy link
Contributor Author

Tests are passing. The OSX failure was unrelated, caused by something in ESA. I'm re-running, but I recommend ignoring that fail even if it re-fails.

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