Skip to content

feat: bootstrap PyAutoLabs/HowToGalaxy from autogalaxy_workspace #35

@Jammy2211

Description

@Jammy2211

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

  1. Transfer Jammy2211/HowToGalaxyPyAutoLabs/HowToGalaxy via gh api. Clone it locally into ~/Code/PyAutoLabs/HowToGalaxy.
  2. 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.
  3. Scaffold CI and top-level files from HowToLens:
    • .github/workflows/smoke_tests.yml and .github/workflows/url_check.yml (update search strings PyAutoLens → PyAutoGalaxy, alag, etc.)
    • .github/scripts/run_smoke.py (identical between the two repos)
    • CITATIONS.rst, CODE_OF_CONDUCT.md, CONTRIBUTING.md, requirements.txt (swap autolensautogalaxy), 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
  4. 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.
  5. 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).
  6. 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:

  1. Bootstrap PyAutoLabs/HowToGalaxy (current scope).

    • Transfer Jammy2211/HowToGalaxyPyAutoLabs/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.
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions