Overview
Sub-task 2 of 3 of the HowToGalaxy extraction (parent tracker was #35, auto-closed by the bootstrap PR).
Sub-task 1 shipped PyAutoLabs/HowToGalaxy#1 at tag 2026.4.13.6, copying the tutorial series from this workspace into its own repo. This issue covers removing scripts/howtogalaxy/ and notebooks/howtogalaxy/ from this workspace and fixing the cross-references.
Plan
- Move
scripts/howtogalaxy/simulators/sersic.py → scripts/imaging/simulator_sersic.py (sits alongside existing simulator.py and simulator_sample.py). This simulator produces dataset/imaging/simple__sersic and is used by 9 non-howtogalaxy scripts outside the tutorial tree.
- Delete
scripts/howtogalaxy/ and notebooks/howtogalaxy/.
- Rewrite the subprocess path
scripts/howtogalaxy/simulators/sersic.py → scripts/imaging/simulator_sersic.py in 9 scripts + 9 matching notebooks.
- Rewrite prose pointers in
README.rst, start_here.py, start_here.ipynb to point at https://github.com/PyAutoLabs/HowToGalaxy instead of notebooks/howtogalaxy.
- Smoke-test one shapelets script + one guides script under
PYAUTO_TEST_MODE=2 to confirm the new subprocess path works.
Detailed implementation plan
Affected callers (subprocess path rewrite)
Scripts:
- `scripts/imaging/features/shapelets/{fit,modeling}.py`
- `scripts/imaging/features/pixelization/{fit,modeling,source_science}.py`
- `scripts/guides/modeling/customize.py`
- `scripts/guides/plot/examples/searches.py`
- `scripts/guides/advanced/over_sampling.py`
- `scripts/multi/plot.py`
Notebooks (matching set, JSON-escaped subprocess string):
- `notebooks/imaging/features/shapelets/{fit,modeling}.ipynb`
- `notebooks/imaging/features/pixelization/{fit,modeling,source_science}.ipynb`
- `notebooks/guides/modeling/customize.ipynb`
- `notebooks/guides/plot/examples/searches.ipynb`
- `notebooks/guides/advanced/over_sampling.ipynb`
- `notebooks/multi/plot.ipynb`
Prose rewrites
- `README.rst` — any "explore notebooks/howtogalaxy" → external repo link
- `start_here.py` / `start_here.ipynb` — same
Out of scope for this PR
- PyAutoGalaxy docs / Colab URLs (sub-task 3 of 3, separate issue)
- PyAutoBuild `howtogalaxy` target registration (separate follow-up)
- Content-alignment pass on HowToGalaxy chapter-1 tutorials 0 and 3 (separate follow-up on the new repo)
Branch: `feature/howtogalaxy-sub2`
Worktree root: `~/Code/PyAutoLabs-wt/howtogalaxy-sub2/`
No version bump — structural refactor, not functional.
Follows the HowToLens extraction pattern, but improves on it by actually wiring the non-tutorial callers to a workspace-level simulator rather than leaving broken subprocess paths.
Overview
Sub-task 2 of 3 of the HowToGalaxy extraction (parent tracker was #35, auto-closed by the bootstrap PR).
Sub-task 1 shipped PyAutoLabs/HowToGalaxy#1 at tag
2026.4.13.6, copying the tutorial series from this workspace into its own repo. This issue covers removingscripts/howtogalaxy/andnotebooks/howtogalaxy/from this workspace and fixing the cross-references.Plan
scripts/howtogalaxy/simulators/sersic.py→scripts/imaging/simulator_sersic.py(sits alongside existingsimulator.pyandsimulator_sample.py). This simulator producesdataset/imaging/simple__sersicand is used by 9 non-howtogalaxy scripts outside the tutorial tree.scripts/howtogalaxy/andnotebooks/howtogalaxy/.scripts/howtogalaxy/simulators/sersic.py→scripts/imaging/simulator_sersic.pyin 9 scripts + 9 matching notebooks.README.rst,start_here.py,start_here.ipynbto point athttps://github.com/PyAutoLabs/HowToGalaxyinstead ofnotebooks/howtogalaxy.PYAUTO_TEST_MODE=2to confirm the new subprocess path works.Detailed implementation plan
Affected callers (subprocess path rewrite)
Scripts:
Notebooks (matching set, JSON-escaped subprocess string):
Prose rewrites
Out of scope for this PR
Branch: `feature/howtogalaxy-sub2`
Worktree root: `~/Code/PyAutoLabs-wt/howtogalaxy-sub2/`
No version bump — structural refactor, not functional.
Follows the HowToLens extraction pattern, but improves on it by actually wiring the non-tutorial callers to a workspace-level simulator rather than leaving broken subprocess paths.