@@ -8,30 +8,28 @@ The notebook set is designed to grow. To add one:
88
991 . ** Pick the next number.** Notebooks use a two-digit prefix
1010 (` 05-your-topic.ipynb ` ) in ` notebooks/ ` . The number defines reading order.
11- 2 . ** Write the notebook.** Keep it focused on a single learning goal. State
12- prerequisites in the first markdown cell. Reuse the ` ref_tutorials ` helper
13- package rather than repeating client/plotting boilerplate — if you find
14- yourself copying code between notebooks, add a helper instead.
11+ 2 . ** Write the notebook.** Keep it focused on a single learning goal.
12+ State prerequisites in the first markdown cell.
13+ Reuse the ` ref_tutorials ` helper package rather than repeating client/plotting boilerplate.
15143 . ** Add an index row.** Add the notebook to the table in ` README.md ` .
16- 4 . ** Leave outputs in.** Notebook outputs are intentionally committed so the
17- notebooks render on GitHub. Run the notebook top-to-bottom before
18- committing so the saved outputs are current.
15+ 4 . ** Leave outputs in.** Notebook outputs are intentionally committed so the notebooks render on GitHub.
16+ Run the notebook top-to-bottom before committing so the saved outputs are current.
19175 . ** Check it passes CI** (below).
2018
2119## The ` ref_tutorials ` helper package
2220
23- Shared logic lives in ` src/ref_tutorials ` . It has a deliberately small, stable
24- interface. New helpers should be pure and testable where possible — add a unit
25- test in ` tests/ ` for any non-trivial logic.
21+ Shared logic lives in ` src/ref_tutorials ` .
22+ It has a deliberately small, stable interface.
23+ New helpers should be pure and testable where possible.
24+ Add a unit test in ` tests/ ` for any non-trivial logic.
2625
2726## Running checks locally
2827
2928``` bash
3029uv sync --extra dev
3130
3231# Lint
33- uv run ruff check src tests
34- uv run nbqa ruff notebooks
32+ uv run ruff check .
3533
3634# Unit tests for the helper package
3735uv run pytest tests
@@ -43,17 +41,11 @@ uv run pytest --nbmake notebooks
4341
4442## Dependencies
4543
46- ` pyproject.toml ` is the source of truth, managed with ` uv ` . After changing
47- dependencies, regenerate the Binder requirements file:
48-
49- ``` bash
50- bash scripts/export_requirements.sh
51- ```
52-
53- CI fails if ` .binder/requirements.txt ` is out of sync.
44+ ` pyproject.toml ` is the source of truth, managed with ` uv ` .
45+ After changing dependencies,
46+ the pre-commit hook will update the ` requirements.txt ` file which is used by Binder.
5447
5548## CI
5649
57- Every pull request runs three jobs: lint, helper-package unit tests, and full
58- notebook execution. A weekly scheduled run catches drift against the live REF
59- API even when the repo is idle.
50+ Every pull request runs three jobs: lint, helper-package unit tests, and full notebook execution.
51+ A weekly scheduled run catches drift against the live REF API even when the repo is idle.
0 commit comments