What’s new in PyHDRL 1.0

PyHDRL 1.0 is the first stable release for production use.

Changed

  • Refactoring of the hdrl.core.Spectrum1D and the hdrl.core.Spectrum1DList classes. The Python API changed to be more in line with the look and feel of other classes of _PyHDRL_ with similar functionality. (!40)

  • Refactoring of the hdrl.func.Efficiency and the hdrl.func.Response classes. Methods do no longer return or take an opaque hdrl.core.Parameter but the relevant, specific parameter objects. (!40)

Fixed

  • Fix hdrl.func.Airmass unit test failures due to comparison of floating-point numbers. See PIPE-12905. (!37)

  • Add explicit hdrl::func::Resample lifecycle management (virtual destructor, nullptr init, move-only semantics) and pass resample method/outgrid by const reference to prevent double-free when calling compute. See PIPE-12929. (!38)

  • Fix deferred initialization from the public Strehl API using a private function parameter_create_. Construct parameters in the constructor, add destructor/move-only ownership semantics, and add a regression test for repeated compute calls on the same instance. See PIPE-12930. (!39)

Added

  • Explicit efficiency parameter types hdrl.func.EfficiencyParameter and hdrl.func.EfficiencyResponseParameter. (!40)

  • Explicit response parameter types hdrl.func.ResponseVelocityParameter, hdrl.func.ResponseCalcParameter, hdrl.func.ResponseTelluricParameter, and hdrl.func.ResponseFitParameter. (!40)

  • Updated the API documentation.

Removed

  • The Python API of the opaque hdrl.core.Parameter class. (!40)