Remove PyIMRPhenomD dependency and the IMRPhenomD waveform model - #51
Merged
Merged
Conversation
PyIMRPhenomD is not published on PyPI and can only be installed from source, which made the `imrphenomd` extra uninstallable and forced PyIMRPhenomD-specific carve-outs into every type-checking configuration. Drop the dependency and the code that needed it. The TaylorF2 models are unaffected and remain the supported waveform family. Removed: - LisaWaveformTools/imrphenomd_waveform.py (the PyIMRPhenomD-backed model) - tests/test_imrphenomd.py (cross-checked that module against PyIMRPhenomD) - the `model_select == 'imrphenomd'` branch in taylorf2_intrinsic_freq - the `imrphenomd` optional-dependency extra and its README section - the PyIMRPhenomD entries/notes in [tool.pyrefly] and .pre-commit-config.yaml - `reportMissingImports = "none"` in [tool.pyright], plus the matching note in .github/workflows/typecheck.yml. That setting existed only to tolerate PyIMRPhenomD; with it gone, every import the project makes resolves in the pyright job's environment, so the check is restored to its default strength rather than left globally disabled. Other changes: - tests/test_binary_load.py no longer imports chiPN from PyIMRPhenomD; it uses a local chi_postnewtonian_reference helper computing the same PN reduced spin parameter (Eq 5.9 of arXiv:1107.1267v2), so the test keeps an oracle independent of BinaryIntrinsicParamsManager. Its docstring now describes what it actually tests. - demo_likelihood.py switches from 'imrphenomd' to 'taylorf2_aligned'. - Dropped a stale "use imrphenomd instead" TODO in taylorf2_helpers.py. The IMRPhenom literature citations in taylorf2_helpers.py are kept: they document the phenomenological amplitude coefficients used by the TaylorF2 aligned-spin model and are not a dependency on PyIMRPhenomD.
mcdigman
force-pushed
the
remove-pyimrphenomd
branch
from
September 17, 2026 02:43
d32e17d to
9626189
Compare
mcdigman
force-pushed
the
remove-pyimrphenomd
branch
from
September 17, 2026 02:46
dd5c82b to
9626189
Compare
numba 0.66.0 (released 2026-07-01) stopped re-exporting the `errors` submodule from the top-level `numba` package, so pyright 1.1.410 flags `numba.errors.TypingError` as reportPrivateImportUsage and the Type Check CI job fails. Import TypingError directly from its defining module (numba.core.errors), which is stable across numba versions and creates no new version floor. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The TaylorF2 models are kept and unaffected — they remain the supported waveform family.
Removed
LisaWaveformTools/imrphenomd_waveform.py— the PyIMRPhenomD-backed waveform model (679 lines)tests/test_imrphenomd.py— cross-checked that module againstPyIMRPhenomDinternals (1171 lines)model_select == 'imrphenomd'branch intaylorf2_intrinsic_freq, plus the now-unusednumpyimport intaylorf2_freq_source.pyimrphenomdoptional-dependency extra inpyproject.tomland its README sectionPyIMRPhenomDentries and explanatory notes in[tool.pyrefly]and.pre-commit-config.yamlreportMissingImports = "none"in[tool.pyright], plus the matching comment in.github/workflows/typecheck.yml