nexsci-rv

nexsci-rv is a Python client for the radial-velocity (RV) data archives hosted at NExScI. It gives every archive the same interface: search observations by date, position, target, or program, get the results back as an astropy table, and download the data products you need.

Supported archives

Archive

What it holds

Class

NEID

NEID spectra and RVs at all data levels (L0, L1, L2, engineering), plus the solar feed

NEIDArchive

EXPRES

EXPRES solar-feed spectra and RVs (solar L1 and L2)

EXPRESArchive

Each archive is a class with the same query and download methods, so what you learn on one carries over to the others.

A quick example

Find all NEID Level-2 spectra taken in a given week:

from nexsci_rv import NEIDArchive

neid = NEIDArchive()
table = neid.query_datetime("l2", ("2024-11-01", "2024-11-06"))
print(table)

What you can do

Search any supported archive the way you actually think about your data, then pull down the files you need:

  • Find spectra by observation date, sky position, target name, Gaia ID, observing program, or PI.

  • Combine criteria — for example, a target name and a date range — in a single query.

  • Download the FITS data products for the rows you selected.

  • Run long searches asynchronously so a big query doesn’t block your session.

Every search returns an astropy.table.Table, so you can filter, sort, and join results with the tools you already use.

Relationship to pyNEID

nexsci-rv is a clean-room successor to pyNEID. It is not API-compatible: existing pyNEID users rewrite their imports and call sites — see Migrating from pyNEID for the call-by-call mapping. Where pyNEID served NEID only, nexsci-rv is built to cover multiple archives through one shared interface.

Project status

Stable (1.0.0). The public API follows Semantic Versioning: breaking changes come only in a new major version. Issues and design feedback are welcome at github.com/Caltech-IPAC/nexsci-rv/issues.

Getting help

Never include a password or session cookie in an issue or an email. See Authentication & your credentials for how credentials are handled.

Next steps