Track deprecations in igwn_ligolw
Detailed Description
-
igwn_ligolw.array
is deprecated; all functionality moved toigwn_ligolw.ligolw.Array
. -
igwn_ligolw.param
id deprecated; all functionality moved toigwn_ligolw.ligolw.Param
. Note that there is a bug upstream that the placeholder moduleigwn_ligolw.param
does not import theParam
class, which caused code that requires it to fail prior to the expiration of the deprecation. See computing/software/igwn-ligolw!27 (merged). - Content handlers for param, array, and lsctables are active by default and no longer necessary.
Fixes #796.
API Changes
Please tick one of the following options:
-
These changes do not modify the API. -
These changes do modify the API, and are backwards compatible. -
These changes do modify the API, and are backwards incompatible.
For examples of changes that do not modify the API and/or are considered backwards (in)compatible, please see the contributing guide.
Justification for Backwards Incompatible Changes
Review Status
Merge request reports
Activity
mentioned in issue #796
added apinone lal lalapps lalburst lalinference lalinspiral labels
assigned to @leo-singer
requested review from @john-veitch, @kipp, @patricia-schmidt, @adam-mercer, @gregory.ashton, @marco-drago, @vivien, @salvatore-vitale, @bfarr, @soichiro.kuwahara, @daichi.tsuna, @ian-harry, @aaron.zimmerman, @florent-robinet, @jolien-creighton, @duncanmmacleod, and @cjhaster
I'm not sure what the objective is, I got pinged by an MR bot, but it looks like this is part of an effort to have igwn-ligolw track the API of python-ligo-lw. It certainly would be convenient for me if the people responsible are willing to put in the work to make that happen, I don't want to discourage it necessarily, but I also would not recommend it. Since you people forked python-ligo-lw and migrated almost all users of the library to igwn-ligolw, I have enjoyed the freedom of no longer caring about maintaining backwards compatibility for the uncooperative contrarian users I have been catering to over the years. So ... the API is being ripped up. A decade of deferred clean-up is being pushed through in a short period of time, all in one go, with no effort made whatsoever to retain backwards compatibility. Even when compatibility would be easy to maintain I'm making a deliberate point of not doing so to help find and port affected codes in our own projects as quickly as possible.
I would not make the changes that I'm making the way that I'm making them if I thought anybody other than myself and my close circle of collaborators, with whom I discuss the changes face to face, were relying on the code. When copying code changes from python-ligo-lw, therefore, please understand that those changes are not being made with the same level of attention to the convenience of end users as has been the standard with that project in the past. Depending on what level of API churn you choose to expose your igwn-ligolw users to, you might need to put additional effort into adding compatibility stubs, planning and managing an orderly sequence of incremental releases to allow smooth API transitions, and so on. Or not. Either way, please do not expect my management of python-ligo-lw to provide that for you.
Anyway, other changes upstream in python-ligo-lw:
- instead of "from ligolw import types as ligolw_types", access the module as ligolw.types (it's already in the ligolw module's namespace)
- instead of "from ligolw import utils as ligolw_utils", do "import ligolw.utils" and access as ligolw.utils (also: expect this to change to ligolw.io or something similar in the future)
- remove all content handler definitions, just use the default. for example in series.py the PSD content handler definition should be removed
- the ligolw.utils.process module no longer exists, its functions are absorbed into the class definitions in ligolw
- the ligolw.utils.search_summary module no longer exists, its functions are absorbed into the class definitions in ligolw
- the ligolw.utils.time_slide module no longer provides the functions referenced in lalsuite, they are absorbed into the class definitions in ligolw.
I misspoke; this tracks deprecations, not API changes. These deprecations occurred in python-ligo-lw before the fork (see kipp/python-ligo-lw@437761b0).
@patricia-schmidt @salvatore-vitale @vivien @gregory.ashton @aaron.zimmerman @bfarr @john-veitch @cjhaster This merge request needs you to approve changes to
lalinference/
.Please review the changes, and either add your approval or leave comments for @leo-singer to address.
@leo-singer are you able to fix the merge conflict in lalinference_pipe? Thanks !
@leo-singer The changes in this merge request conflict with the latest version of the target branch.
Please resolve these conflicts and update the merge request.
You can see the conflicts by looking at the Changes tab.
If this merge request is not ready yet, please mark it as a draft: click on the 3 dots next to the Edit and Code buttons at the top of the merge request page, then click Mark as draft.
added 69 commits
-
cf5a5a86...43f7fe50 - 68 commits from branch
lscsoft:master
- 1dcef8d6 - Track API changes in igwn_ligolw
-
cf5a5a86...43f7fe50 - 68 commits from branch