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.2.0.

PyHDRL 0.2.0 (2026-04-20):

PyHDRL 0.2.0 is an early release version. It is made available for testing by a wider audience to identify remaining issues which were not found yet during the in house tests. The Python API has matured, however whether some final changes of the API need to be made depends on the outcome of the final testing phase and cannot be fully excluded 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.