What's new?
Version 0.10 re-measures the background scatter on each frame it corrects (science spectra change for every instrument with a scatter step), adds the extraction_weights setting for pixel-weighted slit decomposition, fixes slit decomposition at exact sub-pixel boundaries, and ships Python 3.15 wheels. See CHANGELOG.md for all changes.
PyReduce
A data reduction pipeline for echelle spectrographs (HARPS, UVES, XSHOOTER, CRIRES+, JWST/NIRISS, ANDES, MOSAIC, NEID, and more).
Based on the REDUCE package. See the papers:
- Piskunov & Valenti (2001) doi:10.1051/0004-6361:20020175
- Piskunov, Wehrhahn & Marquart (2021) doi:10.1051/0004-6361/202038293
Installation
# Using uv (recommended)
uv add pyreduce-astro
# Or pip
pip install pyreduce-astro
For development:
git clone https://github.com/ivh/PyReduce
cd PyReduce
uv sync
uv run reduce-build
No wheel for your platform, or the C extension won't build?
Extraction also runs in pure Python. Set PYREDUCE_EXTRACTION=numpy (or pass
--extraction numpy) and nothing needs compiling — numpy and scipy are already
core dependencies:
PYREDUCE_EXTRACTION=numpy uv run reduce run UVES -t HD132205
It is ~2x slower than the C extension and produces bit-identical output files.
PYREDUCE_EXTRACTION=numba is ~1.5-1.8x with uv sync --extra numba installed.
See Extraction Backends.
Quick Start
# Download sample data
uv run reduce download UVES
# Run reduction
uv run reduce run UVES -t HD132205 --steps bias,flat,trace,science
# Or run individual steps
uv run reduce bias UVES -t HD132205
uv run reduce flat UVES -t HD132205
Or use the Python API:
from pyreduce.pipeline import Pipeline
Pipeline.from_instrument(
instrument="UVES",
target="HD132205",
night="2010-04-01",
channel="middle",
steps=("bias", "flat", "trace", "science"),
).run()
Plotting
Control plotting with environment variables:
# Save plots to files (headless/CI)
PYREDUCE_PLOT=1 PYREDUCE_PLOT_DIR=/tmp/plots PYREDUCE_PLOT_SHOW=off uv run reduce run ...
# Show all plots at end (browser via webagg)
MPLBACKEND=webagg PYREDUCE_PLOT=1 PYREDUCE_PLOT_SHOW=defer uv run reduce run ...
See How To for details.
Documentation
Full documentation at ReadTheDocs.
Output
PyReduce creates .fits files (standard FITS with binary table extension). Headers include original keywords plus PyReduce-specific ones prefixed with e_.
Metadata
Release files for pyreduce-astro 0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyreduce_astro-0.10.tar.gz | 4.1 MB | With provenance | Details |
Built distributions (wheels)
Total release size: 35.6 MB
Release files / pyreduce_astro-0.10.tar.gz
| Download URL | pyreduce_astro-0.10.tar.gz |
|---|---|
| Size | 4.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9ea9ec0f17b84216931b99f1de90d0405a341eb18a5c695d974ca53d5d0b6c6
|
|
BLAKE2b-256 checksum How to use checksums |
effd1f18fc2bda024287e6a595b57f720126b602f212971766a03b36e0001c9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyreduce_astro-0.10-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d4bbb1eebaf8c0bbd2a2413b267e5b2e5c577a2436b46124223057224797600
|
|
BLAKE2b-256 checksum How to use checksums |
1137e137a8c62726247df434593803b897b53e90f2154512a41d83e55a0ad7fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp315-cp315-macosx_11_0_arm64.whl
| Download URL | pyreduce_astro-0.10-cp315-cp315-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.15 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b852cb5f92a8807ea449fa578939a47f1022cead5815060c0a587f964c3659e0
|
|
BLAKE2b-256 checksum How to use checksums |
561e658b930e4eb7bdee44920d1cc544814390b07f9d9eecf01cf06c7d29bcef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyreduce_astro-0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
06449a4f0a7333bb60eb629ed0133637a78b93cd32c655daa3c7be738d473eab
|
|
BLAKE2b-256 checksum How to use checksums |
5fe2788e9b1ab95eda11214fc89a2818013bf3653e023a15a20421c09cdec094
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pyreduce_astro-0.10-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2610bc9ac8b01af251dc605bf41a0e0c8a198569fa140f7dda87c390befdc29d
|
|
BLAKE2b-256 checksum How to use checksums |
8d206c506868085942d4e759af5d15236d07ece19f1343e2448f5a942f010255
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyreduce_astro-0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7e1dc5fad95b439102f5386b65cd578b800efb1a495d762d237ea11ba6c588bc
|
|
BLAKE2b-256 checksum How to use checksums |
432c9186e9a7d29d7b96df94b923c207a04eab581ec738462c941293b0d6a194
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyreduce_astro-0.10-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fa750a26984c769b7d59d33acdbc8404b889374536c0fff71e48f45c05f4dc76
|
|
BLAKE2b-256 checksum How to use checksums |
4517b0c2677bbb922e55472c22180ba3f9e3c9e6b5ee5d26602699898d7cd519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyreduce_astro-0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f1ca0acbf427d26148bdfd5af7d0871ba06754a1143ff473cb86ebf490ead36a
|
|
BLAKE2b-256 checksum How to use checksums |
8105a54e2b00cb3d48829e4cf4410a7766a2e05575602b0fad3ef613f5d8b18c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / pyreduce_astro-0.10-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pyreduce_astro-0.10-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
034fbefadbfea631faa71307e0503c42504805f88a3ae03acaa83cdb36a2203f
|
|
BLAKE2b-256 checksum How to use checksums |
01c50cad6112d72690ee5ba6524b73d9187744934b78bce52c8d20169e7e72a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for pyreduce-astro 0.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 9 files in this release have been uploaded with provenance metadata.
Attestation for pyreduce_astro-0.10.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.