skillfed

pyvo

Astropy affiliated package for accessing Virtual Observatory data and services

pyvo v1.9.1 442.0K downloads/30d#6,638 on PyPI88
Permissive license BSD-3-Clause Active released

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 pyvo

uv

uv add pyvo

poetry

poetry add pyvo

Installing 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

Intended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: DatabaseTopic :: Scientific/Engineering :: AstronomyTopic :: Software Development :: Libraries

Tags

virtual observatory data accessastronomical catalog queriesVO standards pythonremote astronomy archivesastropy vo servicessky survey data retrievalvo protocol client
astronomyvirtual-observatoryastropy-affiliated

More Libraries packages