Skip to content

jaeger 1.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 29 Apr 22:17
· 87 commits to main since this release

This is marked as a minor version although it should not have any visible changes, but the codebase has significantly changed and there's potential for regression issues that are better tracked as a clearly different version.

⚙️ Engineering

  • #202 This started as a quick rewrite of some parts to use polars and ended as a mid-to-large refactor of significant parts of the code, especially the Configuration and Assignment classes.

    The main highlights are:

    • Dropped support for Python 3.9 and extended support up to 3.12. For Python >=3.11 the 1.4.0b1 version of kaiju is used.
    • The code does not use pandas anymore, and polars data frames are used everywhere. jaeger still handles pandas dataframes when they are returned by other libraries (mostly from the FVCTransform code in coordio).
    • The Configuration and Assignment classes have been completely rewritten. Coordinate transformations code is now mostly in jaeger.target.coordinates. The new code should be significantly cleaner and easier to maintain.
    • AssignmentData* has been renamed to Assignment*.
    • Some modest efficiency improvements to the coordinate transformations in Assignment. Before some conversions from ICRS to wok and vice-versa were done on a per-target bases. Now they are doing for all the targets at once, but the bottleneck is still the conversion between wok and positioner (and vice-versa) which has to be done as a loop for each target.
    • Simplified the singleton patter for FPS.
    • Significantly extended the test suite. Now Design/Configuration/Assignment and FVC are reasonably covered.
    • Added a test database for CI testing.
    • Added a configuration_to_dataframe function that generates a confSummary-like dataframe that could be saved to sdsscore as Parquet (currently not doing that).
    • Added ra/dec/alt/az_observed to confSummary.
    • Moved all codebase from python/ to src/.