Skip to content

Remove pynufft following its removal from PyAutoArray - #583

Merged
Jammy2211 merged 1 commit into
mainfrom
claude/remove-pynufft-6uwt2z
Aug 22, 2026
Merged

Remove pynufft following its removal from PyAutoArray#583
Jammy2211 merged 1 commit into
mainfrom
claude/remove-pynufft-6uwt2z

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Companion to PyAutoLabs/PyAutoArray#475, which removes TransformerNUFFTPyNUFFT and the pynufft dependency.

Drops the TransformerNUFFTPyNUFFT re-export from autogalaxy/__init__.py:29 — it would raise ImportError at import once PyAutoArray's removal lands — and removes pynufft from the optional extra.

Also updates the live documentation and citation surface, which still described PyNUFFT as the interferometer NUFFT backend. The installation pages actively instructed users to pip install pynufft; they now point at nufftax, the feature overview names the backend actually in use, and the citation lists cite nufftax in PyNUFFT's place (PyAutoGalaxy had no nufftax entry at all, so this adds @nufftax and @finufft to files/citations.bib).

paper/ is deliberately untouched — those are published JOSS records of what the software used at time of publication, not live documentation.

Merge order: this one first, then PyAutoLens, then PyAutoArray#475 last. Dropping a re-export is safe against an autoarray that still has the class, so main is never red.

API Changes

Breaking: autogalaxy.TransformerNUFFTPyNUFFT is no longer re-exported (the class itself is removed upstream in PyAutoArray#475). Migration is autogalaxy.TransformerNUFFT, or autogalaxy.TransformerDFT where JAX is unavailable. pynufft is no longer an optional dependency.

See full details below.

Test Plan

  • pytest test_autogalaxy1103 passed, 1 skipped against PyAutoArray's claude/remove-pynufft-6uwt2z branch (Python 3.13)
  • import autogalaxy succeeds; hasattr(ag, "TransformerNUFFTPyNUFFT") is False
  • No pynufft references remain outside paper/
Full API Changes (for automation & release notes)

Removed

  • autogalaxy.TransformerNUFFTPyNUFFT — re-export of the class removed in PyAutoArray#475; replaced by autogalaxy.TransformerNUFFT
  • pynufft from [project.optional-dependencies] optional

Changed Behaviour

  • None in library code. Documentation and citation changes only, beyond the dropped re-export.

Migration

  • Before: transformer = ag.TransformerNUFFTPyNUFFT(uv_wavelengths=uv, real_space_mask=mask)
  • After: transformer = ag.TransformerNUFFT(uv_wavelengths=uv, real_space_mask=mask)
  • Without JAX (e.g. Intel macOS): transformer = ag.TransformerDFT(uv_wavelengths=uv, real_space_mask=mask)

Generated by Claude Code

Drops the `TransformerNUFFTPyNUFFT` re-export from `autogalaxy/__init__.py`,
which would raise ImportError once PyAutoArray removes the class, and
removes `pynufft` from the `optional` extra.

Also updates the live documentation and citation surface, which described
PyNUFFT as the interferometer NUFFT backend: the installation pages now
point at `nufftax`, the feature overview names the backend actually in
use, and the citation lists (`files/citations.{md,tex,bib}`) cite nufftax
in its place.

`paper/` is deliberately untouched — those are published records of what
the software used at time of publication, not live documentation.

Must merge together with the PyAutoArray removal.
@Jammy2211
Jammy2211 merged commit f2daa84 into main Aug 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants