pyvo
Astropy affiliated package for accessing Virtual Observatory data and services
What it is and what it does
PyVO is an Astropy-affiliated package that bridges Python and the Virtual Observatory ecosystem, a standardized infrastructure for sharing astronomical data and services across institutions. It abstracts away the complexity of VO protocols (like cone search, SIA, and TAP) so astronomers and developers can query remote archives, catalogs, and analysis tools as if they were local Python objects.
The package sits between your Python code and thousands of distributed VO-compliant resources worldwide. Instead of learning multiple archive APIs, you use PyVO's unified interface to discover and retrieve data—spectroscopy, images, catalogs, time series—from any participating observatory or data center. It integrates tightly with astropy and numpy, so results come back as familiar data structures ready for analysis.
Use it for:
- Query multiple sky surveys for objects in a region without learning each archive's API separately.
- Build automated pipelines that fetch spectroscopic or photometric data from remote VO services.
- Prototype new VO-based analysis tools before they become formal standards.
- Combine data from distributed archives in a single Python workflow.
- Access specialized databases (time series, variable stars, exoplanet catalogs) through a uniform interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyVO provides Python access to Virtual Observatory data archives, catalogs, and web services using standardized VO protocols, leveraging astropy and requests to query thousands of remote astronomical resources.
Yes. PyVO is actively maintained, has low install friction, carries a permissive license, and fills a real gap for astronomers needing programmatic access to distributed VO resources. It is the standard Python tool for this task and backed by the Astropy project. No security vulnerabilities reported.
Install
pyvo on PyPI
pip
pip install pyvouv
uv add pyvopoetry
poetry add pyvoInstalling pyvo
Before you install
Low install friction; pure Python wheel with only astropy and requests as runtime dependencies. Actively maintained with recent commits and releases since 2013, supporting current Python versions (3.10+).
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pyvo
import pyvo as vo
# Query a VO service
result = vo.conesearch(ra=0, dec=0, radius=0.1)
Requires Python 3.10 or later; network access needed for most queries.
Verify before relying
- Specific number of accessible catalogs and archives claimed in description ('thousands') not independently verified in fact sheet.
- Performance characteristics for large result sets or concurrent queries not documented in fact sheet.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — astropy, requests |
| Maintenance | actively maintained — 64 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 441,991/month — #6,638 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyvo-1.9.1-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
astroqueryAstroquery provides a Python interface to query…
permissive · top 15,000 on PyPI
pyds9pyds9 provides a Python interface to…
unclear · top 15,000 on PyPI
PyAVMPyAVM reads, writes, and embeds Astronomy…
permissive · top 15,000 on PyPI
regionsRegions provides tools for defining,…
permissive · top 15,000 on PyPI
asdf-astropyProvides ASDF serialization plugins for astropy…
unclear · top 15,000 on PyPI
reprojectReproject astronomical images between different…
permissive · top 15,000 on PyPI
astropy-healpixProvides HEALPix spherical pixelization for…
permissive · top 15,000 on PyPI
skyfield-dataProvides pre-packaged astronomical data files…
permissive · top 15,000 on PyPI
lsst-daf-butlerProvides an abstraction layer for reading and…
unclear · top 15,000 on PyPI
specutilsSpecutils provides Python representations of…
permissive · top 15,000 on PyPI