From ae6f7695c8ee4b2636bf6108b2f9be1c4d3af230 Mon Sep 17 00:00:00 2001 From: tlancaster6 Date: Mon, 20 Apr 2026 11:10:54 -0400 Subject: [PATCH 1/4] ci: exclude tutorial notebooks from detect-secrets Matplotlib PNG outputs embedded in tutorial notebooks trigger Base64HighEntropyString false positives. Outputs change on every re-run, making baseline maintenance impractical. Tutorials are intentionally shipped with rendered outputs for Colab/Sphinx. --- .pre-commit-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c5cb401..0b93109 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,7 @@ repos: hooks: - id: detect-secrets args: ['--baseline', '.secrets.baseline'] + exclude: ^docs/tutorials/.*\.ipynb$ - repo: local hooks: From 61825d36764e5f8150823dcfe40e191f70ce6d54 Mon Sep 17 00:00:00 2001 From: tlancaster6 Date: Mon, 20 Apr 2026 11:26:52 -0400 Subject: [PATCH 2/4] ci(docs): install docs extras in workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The docs workflow was installing .[dev] but not .[docs], so myst-parser, furo, nbsphinx, etc. were missing at build time. Also drops the manual sphinx/sphinx-rtd-theme install — sphinx is already in the [docs] extra and sphinx-rtd-theme was unused (theme is furo). --- .github/workflows/docs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 1c7f3d0..0c9b563 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,8 +20,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -e ".[dev]" - pip install sphinx sphinx-rtd-theme + pip install -e ".[dev,docs]" - name: Build documentation run: | From 09b58dcd4611ddd2872257cdf03ac91dec8e33c8 Mon Sep 17 00:00:00 2001 From: tlancaster6 Date: Mon, 20 Apr 2026 11:32:11 -0400 Subject: [PATCH 3/4] ci(docs): install pandoc for nbsphinx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nbsphinx converts .ipynb → HTML via pandoc, which is a system binary not a pip package. ReadTheDocs had this fix already (9e1b285) but the GH Actions docs workflow needed it too. --- .github/workflows/docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0c9b563..a8fac61 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,6 +17,9 @@ jobs: cache: 'pip' cache-dependency-path: 'pyproject.toml' + - name: Install pandoc + run: sudo apt-get update && sudo apt-get install -y pandoc + - name: Install dependencies run: | python -m pip install --upgrade pip From c60acaf8866770ed760b9ff86079bb2bf16117ce Mon Sep 17 00:00:00 2001 From: tlancaster6 Date: Mon, 20 Apr 2026 11:42:50 -0400 Subject: [PATCH 4/4] ci(docs): add ipython to [docs] extra for nbsphinx lexer Notebook code cells are tagged with language 'ipython3', which requires the IPython package to register the matching Pygments lexer. Without it, sphinx-build -W fails on the highlighting warning. --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index bee54fc..a38725c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,6 +55,7 @@ docs = [ "sphinx-design", "nbsphinx>=0.9.8", "sphinxcontrib-mermaid", + "ipython", ] [project.urls]