CamCEAD
Open source package
PyAPS
Version 2.0
P

The Python framework that turns WEAVE Level 1 data into quality controlled Level 2 products.

Key features

One data model

Fibre spectra at several stacking levels and reconstructed LIFU and mIFU cubes share one data and memory model, for every arm and resolution mode.

Careful classification

Quality aware spectral preparation and guarded class routing, together with fibre aware propagation of the line spread function.

Wrapped scientific software

Standard wrappers prepare inputs, monitor runs and resource use, check outputs and assemble traceable Level 2 products.

Contributed software

The framework hosts codes from the survey science teams without changes elsewhere in the pipeline.

From a laptop to a survey

Shared arrays, cached calibrations and parallel work at target, arm and patch level. Runs locally or under Slurm.

Interactive explorer

Browse Level 1 and Level 2 products in a web application, on your own computer or as a shared service.

Paper

PyAPS: A Unified and Scalable Processing Framework for the WEAVE Spectroscopic Survey

Molaeinezhad et al.

In preparation

Releases

Version 2.0

Latest 9 October 2026

The version label stays 2.0, the version cited in the paper. This snapshot supersedes the earlier public release and adds: the corrected Redrock per-arm solve with the --rr_solver switch, one aperture convention (A_world/B_world are full axis lengths) with the gal_aperture_factor option, NumPy 2 and cache fixes in the Level 2 jobs, an environment checker and configuration templates. It requires Python 3.12 or newer; the test suite passes (217 passed, 0 failed).

Previous versions (1)

Version 2.0 - first public release (superseded)

29 September 2026

PyAPS 2.0 is the public release series described in the accompanying paper. This first public release is a standalone, installable package built on the earlier 1.9 development version. It adds documented installation options, settings through environment variables, a multi user explorer image and automated tests on Python 3.9 to 3.12 (imports, explorer and unit tests; the processing checks that need WEAVE data are run separately).

Extra information

Technical details that support the paper: data formats, module interfaces, scientific methods and operations.

W1

L1 product depth and stacking hierarchy

The stacking depths of Level 1 data and how the stacking level records which observations contribute to an input.

W2

Resolution-calibration inputs at the L1/APS boundary

The calibration products that bring wavelength solutions and line spread information into PyAPS.

W3

Static and dynamic data model

The APSOB, APSTARG and APSSPEC objects: what is fixed by design, what is read at run time and in which order objects are built.

W4

Module input/output contracts

For each scientific module, the inputs it receives from PyAPS, the outputs it returns and the meaning of the quality flags.

W5

From an input product to the executed modules

How the product type decides which modules run, the fallback rules and how the integral field branches are chosen.

W6

L1-to-L2 routes through APSOB

The routes from Level 1 input to Level 2 output through APSOB, with the contract at each step.

W7

IFU ExGal configuration parameters

The binning, stellar fitting and emission line parameters that control integral field extragalactic analysis.

W8

Scientific engines and configuration contracts

How each scientific engine is configured and run, including the settings used for Redrock, RVSpecFit and FERRE.

W9

APS Explorer coverage and deployment

Which product families the explorer displays and how it is deployed for one user or as a shared service.

W10

Modular scientific-software integration

How PyAPS manages execution around the scientific engines and how contributed software is added.

W11

Execution, products and traceability

How processing is exchanged and automated, and how each product records where it came from.

W12

On-sky LSF ingestion and resolution propagation

How the measured line spread function is read from calibration data and carried to each fibre, spaxel and bin.

W13

Verification and scientific validation

The checks used to verify PyAPS and the scientific validation of its measurements, with historical capacity planning, local loading tests and development optimisation measurements.

Developers (CamCEAD team)

Alireza Molaeinezhad
Alireza Molaeinezhad

Lead developer

Assistant Research Professor

Anke Ardern-Arentsen
Anke Ardern-Arentsen

Developer

Research Associate

Thomas Hajnik
Thomas Hajnik

Developer

Postgraduate Student