From 4bf69e0e30457e133f5f1ec97556637777ad4171 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 28 May 2026 19:33:05 -0400 Subject: [PATCH] fix: correct typos, titles, and kernel handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix 'Hypothosis' typo → 'Hypothesis' in testing chapter (2 occurrences) - Fix Week 8 TOC title: removed '& Profiling' (profiling content is in Week 9) - Fix Week 12 TOC title: 'GPUs' → 'Parallel Computing with MPI' (content is MPI, not GPU) - Refactor pixi kernel handling: use --sys-prefix instead of --user, avoid reinstalling on every build via task dependencies - Update AGENTS.md to document the new task flow Assisted-by: OpenCode:Kimi --- AGENTS.md | 3 ++- content/week02_testing/testing.md | 4 ++-- myst.yml | 4 ++-- pixi.toml | 7 ++++--- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ad1ce5d..550ee4b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,7 +11,8 @@ MyST MD course site for _Software Engineering for Scientific Computing_. | Slides | `npx @marp-team/marp-cli@latest --input-dir slides --output _output` | | Live dev server (JupyterLab) | `pixi run lab` | -- `pixi run book` installs a user-wide ipykernel (`conda-env-se-for-sci-py`) and +- `pixi run book` depends on the `install-kernel` task, which installs the + project's Python kernel into the pixi environment (`--sys-prefix`), then builds the site using `myst build --execute --html`. It sets `PYDEVD_DISABLE_FILE_VALIDATION=1`. - `mystmd` is configured to **execute all notebooks** on every build diff --git a/content/week02_testing/testing.md b/content/week02_testing/testing.md index 21f6663..c0ea5c0 100644 --- a/content/week02_testing/testing.md +++ b/content/week02_testing/testing.md @@ -106,7 +106,7 @@ Here's a non-exhaustive list of some types of testing: this list... - **Property based testing** uses random inputs and verifies properties of the output. The Python tool for this is - [Hypothosis](https://hypothesis.readthedocs.io/en/latest/), which works with + [Hypothesis](https://hypothesis.readthedocs.io/en/latest/), which works with pytest. This also may be called "fuzzing". - **Smoke testing**: Making sure the code won't "catch fire". Checking an end-to-end ground truth. @@ -259,7 +259,7 @@ Some Python testing frameworks: same name. - **xdoctest**: a better version of the standard library module that might even be usable in some cases. -- **Hypothosis**: Property based testing (is an add-on to pytest) +- **Hypothesis**: Property based testing (is an add-on to pytest) - [**ward**](https://github.com/darrenburns/ward): An abandoned library that tried to rethink pytest to be even more modern. Interesting to see the ideas here. diff --git a/myst.yml b/myst.yml index 6ed9909..4641740 100644 --- a/myst.yml +++ b/myst.yml @@ -62,7 +62,7 @@ project: children: - file: content/week07_design/designpatt.md - file: content/week07_design/functional.md - - title: "Week 8: Static Typing & Profiling" + - title: "Week 8: Static Typing" children: - file: content/week08_static_typing/typing.md - title: "Week 9: Intro to Compilation" @@ -85,7 +85,7 @@ project: - file: content/week11_omp/openmp.md - file: content/week11_omp/threading.md - file: content/week11_omp/concepts.md - - title: "Week 12: GPUs" + - title: "Week 12: Parallel Computing with MPI" children: - file: content/week12_mpi/mpi.md - title: "Bonus: Exotic topics" diff --git a/pixi.toml b/pixi.toml index 3cf874f..7b9326d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -29,6 +29,7 @@ ninja = ">=1.10" [tasks] lab = "jupyter lab" -book = "python -m ipykernel install --user --name conda-env-se-for-sci-py && myst build --execute --html" -serve = "python -m ipykernel install --user --name conda-env-se-for-sci-py && myst start --execute" -pdf = "python -m ipykernel install --user --name conda-env-se-for-sci-py && myst build --execute --pdf" +install-kernel = "python -m ipykernel install --sys-prefix --name conda-env-se-for-sci-py" +book = { cmd = "myst build --execute --html", depends-on = ["install-kernel"] } +serve = { cmd = "myst start --execute", depends-on = ["install-kernel"] } +pdf = { cmd = "myst build --execute --pdf", depends-on = ["install-kernel"] }