PyHDRL – Python Language Bindings for HDRL

PyHDRL provides Python 3 language bindings for the API of all high level algorithms of the ESO High-level Data Reduction Library (HDRL) (under construction!).

PyHDRL is complemented by PyCPL, which provides Python 3 language bindings for the complete programming API of the ESO Common Pipeline Library (CPL) toolkit including the CPL plugin interface, and by PyEsoRex, a command line tool which can serve as a drop-in replacement for EsoRex, which can execute both existing pipeline recipes implemented using the CPL C API and recipes implemented using the PyCPL Python API.

Release Notes

The latest release is PyHDRL 0.1.0.

PyHDRL 0.1.0 (2025-12-17):

PyHDRL 0.1.0 is an early release version. It is made available for review and to collect feedback primarily regarding the Python API design (possible improvements), but also to identify remaining issue which may have slipped through tests and reviews until now. The Python API should not be considered final at this point.

Downloads

The latest PyHDRL source packages are available here:

Please refer to Installation from Sources for software prerequisites and detailed instructions on installing the source packages.

User Guide

For detailed instructions please see the PyHDRL User Guide.

API Reference

For complete documentation of the PyHDRL interfaces please refer to the API Reference.

Known Issues

For any known issues please refer to the Section Known Issues of the user guide.

Getting Support

To report bugs and documentation issues, submit feature reqeustes, and to get support for PyHDRL please send an an email to the CPL team starting the subject with PyHDRL:.

Bug reports should contain the following information:

  • PyHDRL version

  • PyCPL, CPL, and HDRL versions

  • Python version

  • Operating system and version

  • Type of installation (system-wide, user, python virtual environment, local build, RPM, MacPorts, etc.)

  • If possible, the description how the issue can be reproduced.

Users who have access to the ESO JIRA ticket system are encouraged to create tickets for bug reports or feature requests, selecting

  • Project ‣ PIPE

  • Component ‣ CPL

and the appropriate Issue type (Bug, Doc Bug, New Feature, or Improvement) in the dialog.

Frequently Asked Questions

Q:

Can PyHDRL be used for production code?

A:

PyHDRL is not yet officially released for use in instrument pipeline projects! The Python API may change between the current early release versions and the future PyHDRL v1.0 release. However, instrument pipeline projects in early development phases are encouraged to test early PyHDRL releases in their context and provide feedback to iron out remaining issues quickly.