or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

general-databases.mdindex.mdipac-services.mdobservatory-archives.mdsolar-system-services.mdspace-mission-archives.mdspectroscopic-databases.mdsurvey-image-services.mdvo-services.md
tile.json

tessl/pypi-astroquery

Functions and classes to access online astronomical data resources

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/astroquery@0.4.x

To install, run

npx @tessl/cli install tessl/pypi-astroquery@0.4.0

index.mddocs/

Astroquery

A comprehensive Python library providing unified access to astronomical data resources and web services. Astroquery contains a collection of tools organized into sub-modules, each designed to interface with specific astronomical databases and web services such as SIMBAD, ALMA, ESO, CDS, and many others, enabling astronomers and researchers to programmatically retrieve data from dozens of astronomical archives and catalogs.

Package Information

  • Package Name: astroquery
  • Language: Python
  • Installation: pip install astroquery
  • Dependencies: astropy, requests, beautifulsoup4, html5lib, keyring, pyvo

Core Imports

import astroquery

Common service imports:

from astroquery.simbad import Simbad
from astroquery.vizier import Vizier
from astroquery.gaia import Gaia
from astroquery.alma import Alma
from astroquery.mast import Observations, Catalogs

Basic Usage

from astroquery.simbad import Simbad
from astroquery.vizier import Vizier
import astropy.units as u
from astropy.coordinates import SkyCoord

# Query SIMBAD for object information
result = Simbad.query_object('M1')
print(result['main_id', 'ra', 'dec'])

# Query VizieR catalogs around a position
coords = SkyCoord('05h35m17.3s -05h23m28s', frame='icrs')
result = Vizier.query_region(coords, radius=2*u.arcmin)

# Query Gaia for sources in a region
result = Gaia.query_object(coords, radius=1*u.deg)
print(f"Found {len(result)} sources")

Architecture

Astroquery follows a consistent architecture across all service modules:

  • Base Classes: BaseQuery for standard HTTP queries, BaseVOQuery for Virtual Observatory services, QueryWithLogin for authenticated services
  • Service Classes: Each astronomical service (SIMBAD, Vizier, etc.) implements a service-specific class
  • Common Patterns: All services support query_object() and query_region() methods with both synchronous and asynchronous variants
  • Configuration: Each service has configurable parameters (server URLs, timeouts, row limits) via astropy's configuration system
  • Decorators: @async_to_sync automatically creates synchronous methods from asynchronous implementations

Capabilities

General Astronomical Databases

Core astronomical data services including object catalogs, stellar databases, and multi-wavelength surveys that form the foundation of astronomical research.

# SIMBAD - Astronomical object database
from astroquery.simbad import Simbad
result = Simbad.query_object(object_name: str, **kwargs)
result = Simbad.query_region(coordinates, radius=None, **kwargs)

# VizieR - Catalog access service  
from astroquery.vizier import Vizier
result = Vizier.query_object(object_name: str, radius=None, catalog=None, **kwargs)
result = Vizier.query_region(coordinates, radius=None, catalog=None, **kwargs)

# Gaia - European Space Agency's Gaia mission data
from astroquery.gaia import Gaia
result = Gaia.query_object(coordinate, radius=None, **kwargs)
result = Gaia.cone_search(coordinate, radius=None, **kwargs)

General Databases

Observatory Archives

Data archives from major ground-based and space-based observatories providing access to processed observations, raw data, and metadata.

# ALMA - Atacama Large Millimeter Array
from astroquery.alma import Alma
result = Alma.query_object(object_name: str, public=True, **kwargs)
result = Alma.query_region(coordinates, radius=None, public=True, **kwargs)

# MAST - Space Telescope Science Institute archives
from astroquery.mast import Observations, Catalogs
result = Observations.query_object(objectname: str, radius=None, **kwargs)
result = Catalogs.query_object(objectname: str, radius=None, catalog="Gsc", **kwargs)

# ESO - European Southern Observatory
from astroquery.eso import Eso
result = Eso.query_object(name: str, **kwargs)
result = Eso.query_region(coordinates, radius=None, **kwargs)

Observatory Archives

Space Mission Archives

Archives from space missions and satellites providing specialized astronomical data including gamma-ray, X-ray, infrared, and ultraviolet observations.

# ESA - European Space Agency missions
from astroquery.esa.jwst import Jwst
from astroquery.esa.hubble import Hubble
result = Jwst.query_object(name: str, **kwargs)
result = Hubble.query_object(name: str, **kwargs)

# Fermi - Fermi Gamma-ray Space Telescope
from astroquery.fermi import Fermi
result = Fermi.query_object(object_name: str, energyrange_MeV=(100, 100000), **kwargs)

Space Mission Archives

IPAC Services

Services provided by the Infrared Processing and Analysis Center including infrared surveys, extragalactic databases, and exoplanet archives.

# IRSA - Infrared Science Archive
from astroquery.ipac.irsa import Irsa
result = Irsa.query_region(coordinates, catalog=None, spatial="Cone", radius=None, **kwargs)

# NED - NASA Extragalactic Database
from astroquery.ipac.ned import Ned
result = Ned.query_object(object_name: str, **kwargs)
result = Ned.query_region(coordinates, radius=None, **kwargs)

# NASA Exoplanet Archive
from astroquery.ipac.nexsci.nasa_exoplanet_archive import NasaExoplanetArchive
result = NasaExoplanetArchive.query_object(object_name: str, table="pscomppars", **kwargs)

IPAC Services

Spectroscopic Databases

Specialized databases for atomic, molecular, and spectroscopic data used in astronomical spectroscopy and laboratory astrophysics.

# Splatalogue - Spectroscopy database
from astroquery.splatalogue import Splatalogue
result = Splatalogue.query_lines(min_frequency, max_frequency, **kwargs)

# LAMDA - Leiden Atomic and Molecular Database
from astroquery.lamda import Lamda
result = Lamda.query(molecule=None, **kwargs)

# NIST - Atomic spectral lines
from astroquery.nist import Nist
result = Nist.query(linename: str, **kwargs)

# Hitran - Molecular absorption database
from astroquery.hitran import Hitran
result = Hitran.query_lines(molecule_number: int, isotopologue_number: int, **kwargs)

Spectroscopic Databases

Solar System Services

Services providing ephemerides, orbital elements, and physical data for solar system objects including planets, asteroids, comets, and spacecraft.

# JPL Horizons - Ephemerides service
from astroquery.jplhorizons import Horizons
horizons = Horizons(id='Ceres', location='500', epochs='2023-01-01')
result = horizons.ephemerides(**kwargs)
result = horizons.elements(**kwargs)

# JPL Small Body Database
from astroquery.jplsbdb import SBDB
result = SBDB.query(targetname: str, **kwargs)

# Minor Planet Center
from astroquery.mpc import MPC
result = MPC.query_object(target: str, **kwargs)

Solar System Services

Survey and Image Services

Services for accessing astronomical survey data, image cutouts, and all-sky survey information across multiple wavelengths.

# SkyView - All-sky survey images
from astroquery.skyview import SkyView
result = SkyView.get_images(position, survey: str, **kwargs)

# HiPS2FITS - Hierarchical Progressive Survey conversion
from astroquery.hips2fits import Hips2fitsClass
result = Hips2fitsClass.query_with_wcs(hips: str, wcs, **kwargs)
result = Hips2fitsClass.query_with_circle(hips: str, center, radius, **kwargs)

Survey and Image Services

Virtual Observatory Services

Services implementing Virtual Observatory standards for interoperability, cross-matching, and standardized data access protocols.

# VO Cone Search
from astroquery.vo_conesearch import conesearch
result = conesearch(center, radius, **kwargs)

# Cross-match service
from astroquery.xmatch import XMatch
result = XMatch.query(cat1, cat2, max_distance, **kwargs)

Virtual Observatory Services

Configuration and Utilities

Global Configuration

# Global cache configuration
from astroquery import cache_conf
cache_conf.cache_timeout = 3600  # seconds
cache_conf.cache_active = True

# Service-specific configuration
from astroquery.simbad import conf
conf.server = 'simbad.cds.unistra.fr'
conf.timeout = 60
conf.row_limit = 1000

Common Types and Parameters

# Common parameter types used across services
from typing import Union, Optional, List, Dict, Any
from astropy.coordinates import SkyCoord
from astropy.units import Quantity
from astropy.table import Table

# Coordinate types
coordinates: Union[SkyCoord, str]  # Sky position
radius: Union[Quantity, str, None]  # Search radius

# Common parameters
get_query_payload: bool = False    # Return query parameters instead of executing
cache: bool = True                 # Enable result caching  
verbose: bool = False             # Show detailed output

# Common return types
query_result: Table               # Structured tabular data
image_result: List               # FITS image data or file handles

Error Handling

# Common exceptions
from astroquery.exceptions import (
    InvalidQueryError,           # Invalid query parameters
    TimeoutError,               # Request timeout
    LoginError,                 # Authentication failure
    NoResultsWarning,           # Query returned no results
    TableParseError,            # Data parsing error
    RemoteServiceError          # Service unavailable
)

# Usage example
try:
    result = Simbad.query_object('invalid_object_name')
except InvalidQueryError as e:
    print(f"Query error: {e}")
except TimeoutError as e:
    print(f"Request timed out: {e}")