"""
Dynamically discovered metadata for all astroquery services.
Generated by discover_services.py
"""
ASTROQUERY_SERVICE_INFO = { 'alfalfa': { 'capabilities': ['query_region'],
'data_types': ['catalogs', 'spectra'],
'description': 'ALFALFA Spectra Archive Query Tool',
'example_queries': [ { 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'ALFALFA Archive',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Infrared'},
'alma': { 'capabilities': [ 'query_object',
'query_region',
'query',
'query_async',
'query_object_async',
'query_region_async',
'query_sia',
'query_tap'],
'data_types': ['unknown'],
'description': 'ALMA Archive service.',
'example_queries': [ {'description': 'Use query_async method', 'query': 'query_async(...)'},
{'description': 'Query specific object', 'query': 'query_object("M31")'},
{ 'description': 'Use query_object_async method',
'query': 'query_object_async(...)'}],
'full_name': 'ALMA Science Archive',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'Radio'},
'besancon': { 'capabilities': ['query', 'query_async'],
'data_types': ['unknown'],
'description': 'Besancon Query Tool',
'example_queries': [{'description': 'Use query_async method', 'query': 'query_async(...)'}],
'full_name': 'BESANCON Service',
'object_types': ['galaxies'],
'requires_auth': False,
'wavelength_coverage': 'all'},
'cadc': { 'capabilities': [ 'query_region',
'get_images',
'get_image_list',
'query_name',
'query_name_async',
'query_region_async'],
'data_types': ['images'],
'description': 'Class for accessing CADC data. Typical usage:',
'example_queries': [ {'description': 'Use query_name method', 'query': 'query_name(...)'},
{'description': 'Use query_name_async method', 'query': 'query_name_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'CADC Service',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'},
'casda': { 'capabilities': ['query_region', 'query_region_async'],
'data_types': ['unknown'],
'description': 'Class for accessing ASKAP data through the CSIRO ASKAP Science Data Archive (CASDA). '
'Typical usage:',
'example_queries': [ { 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'},
{ 'description': 'Use query_region_async method',
'query': 'query_region_async(...)'}],
'full_name': 'CASDA Archive',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'Radio'},
'cds': { 'capabilities': ['query_region', 'query_async', 'query_hips'],
'data_types': ['unknown'],
'description': 'Query the `CDS MOCServer <http://alasky.unistra.fr/MocServer/query>`_.',
'example_queries': [ {'description': 'Use query_async method', 'query': 'query_async(...)'},
{'description': 'Use query_hips method', 'query': 'query_hips(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'CDS Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Infrared'},
'eso': { 'capabilities': ['query_apex_quicklooks', 'query_instrument', 'query_main', 'query_surveys'],
'data_types': ['unknown'],
'description': 'ESO service.',
'example_queries': [ { 'description': 'Use query_apex_quicklooks method',
'query': 'query_apex_quicklooks(...)'},
{'description': 'Use query_instrument method', 'query': 'query_instrument(...)'},
{'description': 'Use query_main method', 'query': 'query_main(...)'}],
'full_name': 'European Southern Observatory Archive',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'},
'gaia': { 'capabilities': ['query_object', 'query_object_async'],
'data_types': ['unknown'],
'description': 'Proxy class to default TapPlus object (pointing to Gaia Archive)',
'example_queries': [ {'description': 'Query specific object', 'query': 'query_object("M31")'},
{ 'description': 'Use query_object_async method',
'query': 'query_object_async(...)'}],
'full_name': 'Gaia Data Release Archive',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'Optical'},
'gemini': { 'capabilities': ['query_object', 'query_region', 'query_criteria', 'query_raw'],
'data_types': ['unknown'],
'description': 'No description available',
'example_queries': [ {'description': 'Use query_criteria method', 'query': 'query_criteria(...)'},
{'description': 'Query specific object', 'query': 'query_object("M31")'},
{'description': 'Use query_raw method', 'query': 'query_raw(...)'}],
'full_name': 'GEMINI Service',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'},
'heasarc': { 'capabilities': [ 'query_object',
'query_region',
'query_mission_cols',
'query_mission_list',
'query_tap'],
'data_types': ['catalogs'],
'description': 'Class for accessing HEASARC data with VO protocol using the Xamin backend.',
'example_queries': [ { 'description': 'Use query_mission_cols method',
'query': 'query_mission_cols(...)'},
{ 'description': 'Use query_mission_list method',
'query': 'query_mission_list(...)'},
{'description': 'Query specific object', 'query': 'query_object("M31")'}],
'full_name': 'High Energy Astrophysics Science Archive',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'X-ray, Gamma-ray'},
'hitran': { 'capabilities': ['query_lines', 'query_lines_async'],
'data_types': ['catalogs'],
'description': 'HITRAN Catalog Query Tool',
'example_queries': [ {'description': 'Use query_lines method', 'query': 'query_lines(...)'},
{ 'description': 'Use query_lines_async method',
'query': 'query_lines_async(...)'}],
'full_name': 'HITRAN Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'ibe': { 'capabilities': ['query_region', 'query_region_async', 'query_region_sia'],
'data_types': ['images'],
'description': 'This is the old namespace for querying the NASA/IPAC Infrared Science Archive Image '
'Server (IBE).',
'example_queries': [ { 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'},
{ 'description': 'Use query_region_async method',
'query': 'query_region_async(...)'},
{'description': 'Use query_region_sia method', 'query': 'query_region_sia(...)'}],
'full_name': 'IBE Archive',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Infrared'},
'irsa': { 'capabilities': ['query_region', 'query_sia', 'query_ssa', 'query_tap'],
'data_types': ['catalogs'],
'description': 'This is the old namespace for querying the NASA/IPAC Infrared Science Archive (IRSA).',
'example_queries': [ { 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'},
{'description': 'Use query_sia method', 'query': 'query_sia(...)'},
{'description': 'Use query_ssa method', 'query': 'query_ssa(...)'}],
'full_name': 'NASA/IPAC Infrared Science Archive',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Infrared'},
'magpis': { 'capabilities': ['get_images'],
'data_types': ['images', 'catalogs'],
'description': 'MAGPIS Image and Catalog Query Tool',
'example_queries': [],
'full_name': 'MAGPIS Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'mast': { 'capabilities': [],
'data_types': ['unknown'],
'description': 'MAST query class.',
'example_queries': [],
'full_name': 'Mikulski Archive for Space Telescopes',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'Infrared'},
'mocserver': { 'capabilities': ['query_region', 'query_async', 'query_hips'],
'data_types': ['unknown'],
'description': 'Query the `CDS MOCServer <http://alasky.unistra.fr/MocServer/query>`_.',
'example_queries': [ {'description': 'Use query_async method', 'query': 'query_async(...)'},
{'description': 'Use query_hips method', 'query': 'query_hips(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'MOCSERVER Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Infrared'},
'nasa_exoplanet_archive': { 'capabilities': [ 'query_object',
'query_region',
'query_criteria',
'query_aliases',
'query_criteria_async',
'query_object_async',
'query_region_async'],
'data_types': ['unknown'],
'description': 'The interface for querying the NASA Exoplanet Archive TAP and API '
'services',
'example_queries': [ { 'description': 'Use query_aliases method',
'query': 'query_aliases(...)'},
{ 'description': 'Use query_criteria method',
'query': 'query_criteria(...)'},
{ 'description': 'Use query_criteria_async method',
'query': 'query_criteria_async(...)'}],
'full_name': 'NASA_EXOPLANET_ARCHIVE Archive',
'object_types': ['exoplanets'],
'requires_auth': False,
'wavelength_coverage': 'all'},
'ned': { 'capabilities': [ 'query_object',
'query_region',
'get_images',
'get_image_list',
'query_object_async',
'query_refcode',
'query_refcode_async',
'query_region_async',
'query_region_iau',
'query_region_iau_async'],
'data_types': ['images', 'spectra'],
'description': 'Class for querying the NED (NASA/IPAC Extragalactic Database) system',
'example_queries': [ { 'description': "Query a circular region. IMPORTANT: This service requires a 'coordinates' parameter created via `astropy.coordinates.SkyCoord` and a 'radius' created via `astropy.units`. The LLM must construct these objects.",
'query': "from astropy.coordinates import SkyCoord; from astropy import units as u; astroquery_query(service_name='ned', query_type='query_region', coordinates=SkyCoord(ra=320.1, dec=2.8, unit=(u.deg, u.deg)), radius=0.01*u.deg)"},
{'description': "Query specific object by name. The 'get_images' function also uses this method.",
'query': 'astroquery_query(service_name="ned", query_type="query_object", object_name="M31")'},
{'description': 'Use query_refcode method', 'query': 'query_refcode(...)'}],
'full_name': 'NASA/IPAC Extragalactic Database',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'nist': { 'capabilities': ['query', 'query_async'],
'data_types': ['spectra'],
'description': 'Fetches line spectra from the NIST Atomic Spectra Database.',
'example_queries': [{'description': 'Use query_async method', 'query': 'query_async(...)'}],
'full_name': 'NIST Database',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'nvas': { 'capabilities': ['get_images', 'get_image_list'],
'data_types': ['images'],
'description': '.. topic:: Revision History',
'example_queries': [],
'full_name': 'NVAS Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'oac': { 'capabilities': ['query_object', 'query_region', 'query_object_async', 'query_region_async'],
'data_types': ['catalogs', 'spectra', 'photometry'],
'description': 'OAC class.',
'example_queries': [ {'description': 'Query specific object', 'query': 'query_object("M31")'},
{ 'description': 'Use query_object_async method',
'query': 'query_object_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'OAC Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'ogle': { 'capabilities': ['query_region', 'query_region_async'],
'data_types': ['unknown'],
'description': 'OGLE Query Tool',
'example_queries': [ { 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'},
{ 'description': 'Use query_region_async method',
'query': 'query_region_async(...)'}],
'full_name': 'OGLE Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'sdss': { 'capabilities': [ 'query_region',
'get_images',
'query_crossid',
'query_crossid_async',
'query_photoobj',
'query_photoobj_async',
'query_region_async',
'query_specobj',
'query_specobj_async',
'query_sql',
'query_sql_async'],
'data_types': ['images', 'spectra'],
'description': 'SDSS Spectra/Image/SpectralTemplate Archive Query Tool',
'example_queries': [ { 'description': "Get an image cutout. The 'coordinates' parameter must be a dictionary specifying ra, dec, and unit (e.g., 'deg'). The 'radius' must be a simple number in degrees.",
'query': "astroquery_query(service_name='sdss', query_type='get_images', coordinates={'ra': 197.6, 'dec': 1.9, 'unit': 'deg'}, radius=0.02)"},
{'description': 'Use query_crossid method', 'query': 'query_crossid(...)'},
{ 'description': 'Use query_crossid_async method',
'query': 'query_crossid_async(...)'},
{'description': 'Use query_photoobj method', 'query': 'query_photoobj(...)'}],
'full_name': 'Sloan Digital Sky Survey',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'Optical'},
'simbad': { 'capabilities': [ 'query_object',
'query_region',
'query_criteria',
'query_bibcode',
'query_bibobj',
'query_catalog',
'query_hierarchy',
'query_objectids',
'query_objects',
'query_tap'],
'data_types': ['catalogs'],
'description': 'The class for querying the SIMBAD web service.',
'example_queries': [ {'description': 'Use query_bibcode method', 'query': 'query_bibcode(...)'},
{'description': 'Use query_bibobj method', 'query': 'query_bibobj(...)'},
{'description': 'Use query_catalog method', 'query': 'query_catalog(...)'}],
'full_name': 'SIMBAD Astronomical Database',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'splatalogue': { 'capabilities': ['query_lines', 'query_lines_async'],
'data_types': ['catalogs'],
'description': 'Splatalogue Catalog Query Tool',
'example_queries': [ {'description': 'Use query_lines method', 'query': 'query_lines(...)'},
{ 'description': 'Use query_lines_async method',
'query': 'query_lines_async(...)'}],
'full_name': 'SPLATALOGUE Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'template_module': { 'capabilities': [ 'query_object',
'query_region',
'get_images',
'get_image_list',
'query_object_async',
'query_region_async'],
'data_types': ['images'],
'description': 'Not all the methods below are necessary but these cover most of the common',
'example_queries': [ { 'description': 'Query specific object',
'query': 'query_object("M31")'},
{ 'description': 'Use query_object_async method',
'query': 'query_object_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'TEMPLATE_MODULE Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'ukidss': { 'capabilities': [ 'query_region',
'get_images',
'get_image_list',
'query_cross_id',
'query_cross_id_async',
'query_region_async'],
'data_types': ['images', 'catalogs'],
'description': 'The UKIDSSQuery class. Must instantiate this class in order to make any',
'example_queries': [ {'description': 'Use query_cross_id method', 'query': 'query_cross_id(...)'},
{ 'description': 'Use query_cross_id_async method',
'query': 'query_cross_id_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'UKIDSS Service',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'},
'vamdc': { 'capabilities': ['query_molecule'],
'data_types': ['unknown'],
'description': '.. deprecated:: 0.4.2',
'example_queries': [{'description': 'Use query_molecule method', 'query': 'query_molecule(...)'}],
'full_name': 'VAMDC Database',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'vizier': { 'capabilities': [ 'query_object',
'query_region',
'query_constraints',
'query_constraints_async',
'query_object_async',
'query_region_async'],
'data_types': ['catalogs'],
'description': 'VizieR Query Tool',
'example_queries': [ { 'description': 'Use query_constraints method',
'query': 'query_constraints(...)'},
{ 'description': 'Use query_constraints_async method',
'query': 'query_constraints_async(...)'},
{'description': 'Query specific object', 'query': 'query_object("M31")'}],
'full_name': 'VizieR Catalog Service',
'object_types': 'all',
'requires_auth': False,
'wavelength_coverage': 'all'},
'vsa': { 'capabilities': [ 'query_region',
'get_images',
'get_image_list',
'query_cross_id',
'query_cross_id_async',
'query_region_async'],
'data_types': ['images', 'catalogs'],
'description': 'The VsaQuery class. Must instantiate this class in order to make any',
'example_queries': [ {'description': 'Use query_cross_id method', 'query': 'query_cross_id(...)'},
{ 'description': 'Use query_cross_id_async method',
'query': 'query_cross_id_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'VSA Service',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'},
'wfau': { 'capabilities': [ 'query_region',
'get_images',
'get_image_list',
'query_cross_id',
'query_cross_id_async',
'query_region_async'],
'data_types': ['images', 'catalogs'],
'description': 'The BaseWFAUQuery class. This is intended to be inherited by other classes',
'example_queries': [ {'description': 'Use query_cross_id method', 'query': 'query_cross_id(...)'},
{ 'description': 'Use query_cross_id_async method',
'query': 'query_cross_id_async(...)'},
{ 'description': 'Search region around coordinates',
'query': 'query_region(coord, radius=0.1*u.deg)'}],
'full_name': 'WFAU Archive',
'object_types': 'all',
'requires_auth': True,
'wavelength_coverage': 'all'}}
def get_service_info(service_name: str) -> dict:
"""Get detailed information about a specific astroquery service."""
return ASTROQUERY_SERVICE_INFO.get(service_name, {
'full_name': f'{service_name.upper()} Service',
'description': 'No detailed information available',
'data_types': ['unknown'],
'wavelength_coverage': 'unknown',
'object_types': 'unknown',
'example_queries': []
})