PyVO is an Astropy affiliated package that provides a Python interface to access data and services from the Virtual Observatory (VO). It allows users to query astronomical catalogs, image archives, and spectral data through standard VO protocols like TAP, SIA, and SSA. The current version is 1.8.1, and it maintains an active release cadence with regular updates and bug fixes.
pip install pyvoVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to search the Virtual Observatory registry for services and then execute a simple ADQL query against a public TAP (Table Access Protocol) service using PyVO. Results are returned as Astropy Table objects, integrating well with the broader Astropy ecosystem.
Review your code for positional arguments, especially for optional parameters, and explicitly pass them as keyword arguments (e.g., `func(arg1, arg2=value)` instead of `func(arg1, value)`).
Upgrade to PyVO >= 1.8.1 to ensure proper timeout handling for asynchronous TAP jobs. If upgrading is not possible, implement external timeout mechanisms or carefully monitor job status.
Upgrade to PyVO >= 1.8.1 to leverage `DALRateLimitError` for more robust handling of rate limits, including automatic retry logic where available. For older versions, implement custom retry logic for HTTP 429 errors.
Install Astropy: `pip install astropy`.
Check the specific HTTP error code for details. Verify the service URL, ensure your query is valid, and check the service's status if possible. Network connectivity issues can also cause this.
Identify the method in question and change its call signature to use keyword arguments for all optional parameters. For example, change `method(param1, value_for_optional)` to `method(param1, optional_param=value_for_optional)`.