Skip to content

CDS Mirrors: document, add mirror-finder routine - #3701

Open
keflavich wants to merge 2 commits into
astropy:mainfrom
keflavich:cds_mirrors
Open

keflavich wants to merge 2 commits into
astropy:mainfrom
keflavich:cds_mirrors

Conversation

@keflavich

@keflavich keflavich commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

The mirrors weren't well-exposed in the docs or even in the API before; minor addition there shows them in the docs and how to access them.

I also added a mirror-checker script to do a minimal HEAD request to find the fastest responder when mirrors are needed.

Right now, none are responding to me.

@ManonMarchand I know you left... just in time apparently.... but can you refer me to who I should be @'ing on this thread from CDS? I hope there's someone who can help out who is not currently running around on fire.

(claude sonnet wrote this the code; I wrote the comment, I told it what to do, it met my expectations)

return tables


def find_fastest_mirror(servers, path="/", timeout=1.0):

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.

I intentionally set a very short timeout

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.

Yes, perfect

"""

# the first item is the default
servers_list = ['vizier.cds.unistra.fr',

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 should be doing this generally, otherwise it's a pain to access this list programatically

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.

Yes! I changed it in SIMBAD but not in VizieR

@codecov

codecov Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 32.55814% with 29 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.86%. Comparing base (c41a46a) to head (a3a96d5).
⚠️ Report is 26 commits behind head on main.

Files with missing lines Patch % Lines
astroquery/utils/commons.py 5.55% 17 Missing ⚠️
astroquery/simbad/core.py 50.00% 6 Missing ⚠️
astroquery/vizier/core.py 45.45% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3701      +/-   ##
==========================================
- Coverage   73.86%   73.86%   -0.01%     
==========================================
  Files         228      228              
  Lines       21475    21613     +138     
==========================================
+ Hits        15863    15964     +101     
- Misses       5612     5649      +37     

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

@ManonMarchand

Copy link
Copy Markdown
Member

I'm still there til January. Thank you for this, I'll have a proper look tomorrow

@bsipocz

bsipocz commented Nov 3, 2026

Copy link
Copy Markdown
Member

@keflavich - please add labels next time :)

@bsipocz bsipocz added this to the 0.4.12 milestone Nov 3, 2026
@aoberto

aoberto commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

The simbad mirror @harvard should be working, let me know if there are issues.

Comment thread astroquery/vizier/__init__.py Resolved
Comment thread docs/simbad/simbad.rst Resolved
@ManonMarchand

Copy link
Copy Markdown
Member

Thank you so much for taking the time to do this! Looks good to me, with the updates to the mirrors list.

I'll do a follow up PR (documentation only) with the list of which mirrors are complete or partial in the next hours.

@keflavich

Copy link
Copy Markdown
Contributor Author

The vizier mirrors weren't working for me yesterday - should they all be?

SESAME has not stopped working; I don't know what mirrors it defaults to.

@ManonMarchand

Copy link
Copy Markdown
Member

They should be, except the indian one (vizier.iucaa.ernet.in) which is down temporarily.

You might have switched to harvard.cfa for SESAME ? It's the only one up right now

@keflavich

Copy link
Copy Markdown
Contributor Author

looks like coordinates.from_name (which uses SESAME) checks all of them, so yes, it must go to cfa.
https://github.com/astropy/astropy/blob/main/astropy/coordinates/name_resolve.py#L45

I'm still getting timeouts on most servers, e.g.:

from astroquery.vizier import Vizier

viz = Vizier(vizier_server='vizier.cfa.harvard.edu')

viz.query_object('Algol')

is that working for you @ManonMarchand ?

@keflavich

Copy link
Copy Markdown
Contributor Author

ah, rather, for cfa:

HTTPError: 502 Server Error: Bad Gateway for url: https://vizier.cfa.harvard.edu/viz-bin/votable

while for idia:

ReadTimeout: HTTPSConnectionPool(host='vizier.idia.ac.za', port=443): Read timed out. (read timeout=5)

@ManonMarchand

ManonMarchand commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Yes, harvard was ddos by bots, the team is working to pull it back up (minutes ago). IDIA should work but query_object is one of the most calculation consuming tasks, and the server there looks either slower or overcrowded. You can try to increase your timeout or to test with find_catalogs instead.

The mirrors have a huge load to absorb right now, as the main traffic usually goes to Strasbourg

PS: there should be a new SESAME mirror at idia in the next hours

This branch has not been deployed

No deployments
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.

4 participants