Overview
Extract the howtogalaxy Jupyter notebook lecture series from autogalaxy_workspace into its own standalone repository at PyAutoLabs/HowToGalaxy, following the exact pattern used for PyAutoLabs/HowToLens (shipped via autolens_workspace#78, HowToLens#1, autolens_workspace#80, PyAutoLens#468). This is sub-task 1 of 3 — workspace cleanup and PyAutoGalaxy docs updates follow in separate issues once HowToGalaxy ships with tag 2026.4.13.6.
Plan
- Transfer the existing placeholder
Jammy2211/HowToGalaxy (LICENSE only) to the PyAutoLabs org, matching HowToLens's ownership.
- Populate the repo with the
howtogalaxy content currently living under autogalaxy_workspace/{scripts,notebooks}/howtogalaxy/ — chapters 1-4, optional chapter, and simulators — following the workspace folder layout (config / dataset / notebooks / output / scripts).
- Copy CI scaffolding (
smoke_tests.yml, url_check.yml), top-level dotfiles (CITATIONS.rst, CONTRIBUTING.md, CODE_OF_CONDUCT.md, requirements.txt, runtime.txt, smoke_tests.txt, start_here.py, welcome.py, version.txt) from HowToLens as a template, swapping PyAutoLens references for PyAutoGalaxy.
- Tag
2026.4.13.6 — matches the current autogalaxy_workspace version and the URLs already baked into PyAutoGalaxy docs, giving Colab links a stable snapshot to point at.
- Smoke-test the chapter-1 tutorials to confirm they still run after the move. Any tutorial depending on pre-simulated datasets shipped only by the workspace (same situation as HowToLens tutorials 0 and 7) gets excluded from the smoke list and tracked as a follow-up content-alignment pass.
Detailed implementation plan
Affected Repositories
- PyAutoLabs/HowToGalaxy (new, primary)
- PyAutoLabs/autogalaxy_workspace (source — read-only during bootstrap; cleanup comes in sub-task 2)
Work Classification
Workspace
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autogalaxy_workspace |
main |
untracked: path/ only |
| PyAutoLabs/HowToGalaxy |
(transfer pending) |
— |
Suggested branch: feature/howtogalaxy-bootstrap
Worktree root: ~/Code/PyAutoLabs-wt/howtogalaxy-bootstrap/ (created later by /start_workspace)
Implementation Steps
- Transfer
Jammy2211/HowToGalaxy → PyAutoLabs/HowToGalaxy via gh api. Clone it locally into ~/Code/PyAutoLabs/HowToGalaxy.
- Populate the repo skeleton by copying
autogalaxy_workspace/{scripts,notebooks,config,dataset}/howtogalaxy/ trees to the new repo's top level (dropping the howtogalaxy/ prefix), alongside simulators/. Preserve per-chapter README files.
- Scaffold CI and top-level files from HowToLens:
.github/workflows/smoke_tests.yml and .github/workflows/url_check.yml (update search strings PyAutoLens → PyAutoGalaxy, al → ag, etc.)
.github/scripts/run_smoke.py (identical between the two repos)
CITATIONS.rst, CODE_OF_CONDUCT.md, CONTRIBUTING.md, requirements.txt (swap autolens → autogalaxy), runtime.txt
start_here.py, welcome.py (rewrite prose for galaxy modeling)
smoke_tests.txt (chapter-1 tutorials only; exclude any that rely on external datasets — mirror of HowToLens tutorial 0 / 7 exclusions)
README.rst based on HowToLens's, rewritten for HowToGalaxy
version.txt with 2026.4.13.6
- Push
main, tag 2026.4.13.6, push the tag. This gives us the URL pattern https://colab.research.google.com/github/PyAutoLabs/HowToGalaxy/blob/2026.4.13.6/notebooks/<chapter>/<tutorial>.ipynb that sub-task 3's PyAutoGalaxy doc migration will point at.
- Smoke-test via
/smoke_test on the chapter-1 tutorials. Resolve regressions by either fixing the tutorial (if it's a trivial import path issue) or excluding it from smoke_tests.txt and filing a follow-up (if the fix needs scientific judgement).
- Follow-up notes: register HowToGalaxy in PyAutoBuild (tracked in complete.md from sub-task 1 of HowToLens — same gap applies here).
Key Files
HowToGalaxy/scripts/chapter_1_introduction/*.py — extracted from autogalaxy_workspace/scripts/howtogalaxy/chapter_1_introduction/
HowToGalaxy/notebooks/chapter_1_introduction/*.ipynb — extracted equivalents
HowToGalaxy/smoke_tests.txt — chapter-1 smoke list
HowToGalaxy/.github/workflows/smoke_tests.yml — CI workflow
HowToGalaxy/README.rst, start_here.py, welcome.py — top-level reader-facing content
Original Prompt
Click to expand starting prompt
Extract the HowToGalaxy Jupyter notebook lectures from @autogalaxy_workspace into their own standalone GitHub repo, following the exact same pattern we just used for HowToLens.
Starting state mirrors HowToLens pre-extraction:
autogalaxy_workspace/scripts/howtogalaxy/ and autogalaxy_workspace/notebooks/howtogalaxy/ hold the content.
- Structure:
chapter_1_introduction, chapter_2_modeling, chapter_3_search_chaining, chapter_4_pixelizations, chapter_optional, simulators.
Jammy2211/HowToGalaxy exists but is empty (LICENSE only). It needs to be transferred to PyAutoLabs/HowToGalaxy (same "forgot to put it in the org" situation as HowToLens).
@PyAutoGalaxy docs reference HowToGalaxy under Colab URLs pointing at autogalaxy_workspace/.../howtogalaxy/... — these need to migrate to the new repo.
Do this as three sub-tasks, with three separate GitHub issues:
-
Bootstrap PyAutoLabs/HowToGalaxy (current scope).
- Transfer
Jammy2211/HowToGalaxy → PyAutoLabs/HowToGalaxy.
- Populate it from the existing
autogalaxy_workspace/howtogalaxy/ content, following the same folder layout as every other workspace (config / dataset / notebooks / output / scripts).
- Copy CI workflows, pre-commit configs, and release automation from HowToLens as a template.
- Tag
2026.4.13.6 — same tag as HowToLens, matches the current autogalaxy_workspace version, lets Colab URLs reference a stable snapshot.
- Smoke-test the chapter-1 tutorials to confirm they still run after the move.
-
Workspace cleanup (autogalaxy_workspace).
- Remove
scripts/howtogalaxy/ and notebooks/howtogalaxy/.
- Rewrite internal references (READMEs, modeling.py prose mentioning
howtogalaxy, build configs like env_vars.yaml and no_run.yaml).
- Add a pointer to
PyAutoLabs/HowToGalaxy wherever the old folder was referenced.
-
PyAutoGalaxy docs update.
- Migrate every HowToGalaxy Colab URL from
autogalaxy_workspace/.../notebooks/howtogalaxy/... to PyAutoLabs/HowToGalaxy/blob/2026.4.13.6/notebooks/....
- Rewrite README,
docs/index.rst, docs/general/workspace.rst, docs/overview/, per-chapter docs/howtogalaxy/ pages, and paper/paper.md prose to frame HowToGalaxy as a standalone repo alongside the workspace (not a sub-folder inside it).
Reference: the HowToLens trio is complete and shipped as:
HowToFit is the third and final extraction, but it is out of scope for this task — handle it in its own follow-up.
Overview
Extract the
howtogalaxyJupyter notebook lecture series fromautogalaxy_workspaceinto its own standalone repository atPyAutoLabs/HowToGalaxy, following the exact pattern used forPyAutoLabs/HowToLens(shipped via autolens_workspace#78, HowToLens#1, autolens_workspace#80, PyAutoLens#468). This is sub-task 1 of 3 — workspace cleanup and PyAutoGalaxy docs updates follow in separate issues once HowToGalaxy ships with tag2026.4.13.6.Plan
Jammy2211/HowToGalaxy(LICENSE only) to thePyAutoLabsorg, matching HowToLens's ownership.howtogalaxycontent currently living underautogalaxy_workspace/{scripts,notebooks}/howtogalaxy/— chapters 1-4, optional chapter, and simulators — following the workspace folder layout (config / dataset / notebooks / output / scripts).smoke_tests.yml,url_check.yml), top-level dotfiles (CITATIONS.rst,CONTRIBUTING.md,CODE_OF_CONDUCT.md,requirements.txt,runtime.txt,smoke_tests.txt,start_here.py,welcome.py,version.txt) from HowToLens as a template, swapping PyAutoLens references for PyAutoGalaxy.2026.4.13.6— matches the currentautogalaxy_workspaceversion and the URLs already baked into PyAutoGalaxy docs, giving Colab links a stable snapshot to point at.Detailed implementation plan
Affected Repositories
Work Classification
Workspace
Branch Survey
Suggested branch:
feature/howtogalaxy-bootstrapWorktree root:
~/Code/PyAutoLabs-wt/howtogalaxy-bootstrap/(created later by/start_workspace)Implementation Steps
Jammy2211/HowToGalaxy→PyAutoLabs/HowToGalaxyviagh api. Clone it locally into~/Code/PyAutoLabs/HowToGalaxy.autogalaxy_workspace/{scripts,notebooks,config,dataset}/howtogalaxy/trees to the new repo's top level (dropping thehowtogalaxy/prefix), alongsidesimulators/. Preserve per-chapter README files..github/workflows/smoke_tests.ymland.github/workflows/url_check.yml(update search strings PyAutoLens → PyAutoGalaxy,al→ag, etc.).github/scripts/run_smoke.py(identical between the two repos)CITATIONS.rst,CODE_OF_CONDUCT.md,CONTRIBUTING.md,requirements.txt(swapautolens→autogalaxy),runtime.txtstart_here.py,welcome.py(rewrite prose for galaxy modeling)smoke_tests.txt(chapter-1 tutorials only; exclude any that rely on external datasets — mirror of HowToLens tutorial 0 / 7 exclusions)README.rstbased on HowToLens's, rewritten for HowToGalaxyversion.txtwith2026.4.13.6main, tag2026.4.13.6, push the tag. This gives us the URL patternhttps://colab.research.google.com/github/PyAutoLabs/HowToGalaxy/blob/2026.4.13.6/notebooks/<chapter>/<tutorial>.ipynbthat sub-task 3's PyAutoGalaxy doc migration will point at./smoke_teston the chapter-1 tutorials. Resolve regressions by either fixing the tutorial (if it's a trivial import path issue) or excluding it fromsmoke_tests.txtand filing a follow-up (if the fix needs scientific judgement).Key Files
HowToGalaxy/scripts/chapter_1_introduction/*.py— extracted fromautogalaxy_workspace/scripts/howtogalaxy/chapter_1_introduction/HowToGalaxy/notebooks/chapter_1_introduction/*.ipynb— extracted equivalentsHowToGalaxy/smoke_tests.txt— chapter-1 smoke listHowToGalaxy/.github/workflows/smoke_tests.yml— CI workflowHowToGalaxy/README.rst,start_here.py,welcome.py— top-level reader-facing contentOriginal Prompt
Click to expand starting prompt
Extract the HowToGalaxy Jupyter notebook lectures from
@autogalaxy_workspaceinto their own standalone GitHub repo, following the exact same pattern we just used for HowToLens.Starting state mirrors HowToLens pre-extraction:
autogalaxy_workspace/scripts/howtogalaxy/andautogalaxy_workspace/notebooks/howtogalaxy/hold the content.chapter_1_introduction,chapter_2_modeling,chapter_3_search_chaining,chapter_4_pixelizations,chapter_optional,simulators.Jammy2211/HowToGalaxyexists but is empty (LICENSE only). It needs to be transferred toPyAutoLabs/HowToGalaxy(same "forgot to put it in the org" situation as HowToLens).@PyAutoGalaxydocs reference HowToGalaxy under Colab URLs pointing atautogalaxy_workspace/.../howtogalaxy/...— these need to migrate to the new repo.Do this as three sub-tasks, with three separate GitHub issues:
Bootstrap
PyAutoLabs/HowToGalaxy(current scope).Jammy2211/HowToGalaxy→PyAutoLabs/HowToGalaxy.autogalaxy_workspace/howtogalaxy/content, following the same folder layout as every other workspace (config / dataset / notebooks / output / scripts).2026.4.13.6— same tag as HowToLens, matches the currentautogalaxy_workspaceversion, lets Colab URLs reference a stable snapshot.Workspace cleanup (autogalaxy_workspace).
scripts/howtogalaxy/andnotebooks/howtogalaxy/.howtogalaxy, build configs likeenv_vars.yamlandno_run.yaml).PyAutoLabs/HowToGalaxywherever the old folder was referenced.PyAutoGalaxy docs update.
autogalaxy_workspace/.../notebooks/howtogalaxy/...toPyAutoLabs/HowToGalaxy/blob/2026.4.13.6/notebooks/....docs/index.rst,docs/general/workspace.rst,docs/overview/, per-chapterdocs/howtogalaxy/pages, andpaper/paper.mdprose to frame HowToGalaxy as a standalone repo alongside the workspace (not a sub-folder inside it).Reference: the HowToLens trio is complete and shipped as:
HowToFit is the third and final extraction, but it is out of scope for this task — handle it in its own follow-up.