Skip to content

Update book for Python 3.13 and gtbook 0.0.41 - #118

Merged
dellaert merged 4 commits into
mainfrom
codex/python313-notebook-validation
Sep 9, 2026
Merged

dellaert merged 4 commits into
mainfrom
codex/python313-notebook-validation

Conversation

@dellaert

@dellaert dellaert commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

The book's Python 3.9 environment and older APIs no longer match current Colab. This updates the shared environment and GitHub Actions build to Python 3.13 and published gtbook 0.0.41, including compatible Plotly/Kaleido dependencies and torchvision.

  • Fix S24 posterior normalization, S54's torchvision segmentation API, and S72's per-instance gravity initialization.
  • Preserve every notebook pip-install line unchanged and use the inline Matplotlib backend to retain figures.
  • Execute S76 separately with a 300-second cell timeout and a 15-minute step limit. Only a successful execution promotes fresh outputs; any failure retains the committed notebook and its saved outputs. Upload diagnostics and summarize the selected outputs.
  • Generate a CI-only execution exclusion for S76, so its page still renders and all other notebooks execute with strict error handling. Local default execution remains unchanged.
  • Build PRs without deploying and deploy successful main builds. A separate main-only job reports S76 failures as one deduplicated open GitHub issue; only this job has issues:write permission, and reporting errors cannot block deployment.

Validation uses Python 3.13, gtbook 0.0.41 from PyPI, GTSAM 4.3a2, NumPy 2.1.3, Plotly 5.24.1, and Kaleido 0.2.1. The standalone notebook run passed 42 executable notebooks; 18 have no code. Fresh S76 execution encountered Zenodo HTTP 504. The full book build with the new fallback configuration passes, executing the other book notebooks and rendering S76's saved outputs.

Regression tests pass for successful promotion, simulated HTTP/Python errors, timeout preservation, fallback HTML/PNG rendering, fatal errors in other notebooks, and main-only issue deduplication with a mocked GitHub client. actionlint and git diff --check pass. Existing Sphinx/MyST warnings are intentionally unchanged. No merge is included.

Ubuntu follow-up: S54 now explicitly trusts its existing MiDaS and EfficientNet Hub repositories to avoid interactive prompts. It passes with a fresh repository/trust cache. All workflow actions now use verified Node 24 releases.

@dellaert
dellaert merged commit 42be365 into main Sep 9, 2026
2 checks passed
@dellaert
dellaert deleted the codex/python313-notebook-validation branch September 9, 2026 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant