ASPCS
 
Back to Volume
Paper: PyCPL: Using pybind11 to bring and adapt the C CPL libraries to Python
Volume: 535, Astronomical Data Analysis Software and Systems XXXI
Page: 183
Authors: Heng, A.; Horton, A.; Farrell, A.; Lorente, N.; Palsa, R.; Lundin, L.; Sealey, K.
Abstract: The ESO Common Pipeline Library (CPL) comprises a set of ISO-C libraries that provide a comprehensive, efficient and robust software toolkit to develop astronomical data-reduction recipes, which has been the fundamental tool for building data reduction pipelines for ESO VLT instruments since its original release in 2003, and which will continue to be the basis for ELT instrument pipelines. CPL was developed in C for reasons of efficiency and speed of execution, and because of its maturity and widespread use, it is well tested and understood. However, as the astronomical community’s preference moves more and more towards Python as the language of choice for algorithm prototyping and data reduction, there has emerged a need to provide access to CPL for users who wish to make use of the power of CPL from a Python environment. The PyCPL project aims to provide this access to CPL within Python. Compiled CPL structures and algorithms will be mapped to Python equivalent objects. This presents the opportunity to execute existing data reduction pipelines from within the Python environment, in addition to providing Python developers the opportunity to write their own pipelines using the existing CPL structures and algorithms, leveraging the efficiency, speed, and maturity of CPL from a pure Python ecosystem. Included with the PyCPL package is the PyEsoRex recipe execution module, which is a Python analogue of the EsoRex execution tool. PyEsoRex allows the user to run both existing C Recipes and new Python recipes and provides a standardised interface for Python recipe development.
Back to Volume