Details
-
Type:
RFC
-
Status: Implemented
-
Resolution: Done
-
Component/s: DM
-
Labels:None
Description
In what I'd hoped to be a prelude to implementing DM-15749, I recently took a shot at removing pex_policy from the stack (because its extensive usage of PropertySet is making it hard to make changes to PropertySet).
That didn't work out as well as I'd hoped, but I did make a lot of progress that I'd like to merge, which you can see directly on DM-15767. The changes include:
- Making PropertySet not inherit from Persistable.
- Removing nearly all C++ from daf_persistence (which was most of the usage of pex_policy).
- Removing support for pex_policy in obs mapper policy files; in addition to obs_base, this required changing obs_ctio0m9. All other active obs packages already use YAML.
- Removing usage of pex_policy to initialize afw.image.Filter objects. This was only used in rather stale test code (in afw, coadd_utils, coadd_chisquared), which has now been updated to use afw.image.utils.defineFilter.
For the curious (or ambitious), the reason this effort stalled there is that ctrl_orca and ctrl_execute still use pex_policy extensively, and I know next to nothing about those packages. There are also still some instances of pex_policy usage in (at least) meas_algorithms and ip_diffim; I believe those are fairly straightforward cases where PropertySet or a C++ "Control struct" could be used instead.
It now uses YAML:
DM-15082andDM-15653