Conversation
Pyright Type CompletenessView the full Project (full
Other symbols referenced but not exported by
Symbols without documentation:
Patch (exported symbols added or changed by this PR): no exported symbol type-completeness changes detected. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1407 +/- ##
=======================================
Coverage 92.30% 92.30%
=======================================
Files 100 100
Lines 5797 5797
Branches 713 713
=======================================
Hits 5351 5351
Misses 325 325
Partials 121 121
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…ntation' into casact#566-multi-version-documentation
…ntation' into casact#566-multi-version-documentation
…ntation' into casact#566-multi-version-documentation
…ntation' into casact#566-multi-version-documentation
# Conflicts: # docs/prep_sphinx_conf.py
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c2630fc. Configure here.
| BLOCK = """import sys | ||
| EXT_MARKER = "_DOCS_EXT_DIR = Path(__file__).resolve().parent / '_ext'" | ||
|
|
||
| EXT_BLOCK = """import sys |
There was a problem hiding this comment.
Ext-block guard never matches
Low Severity
EXT_MARKER looks for a single-quoted '_ext' path, but EXT_BLOCK writes double quotes. The idempotency check never sees the text it just inserted, so rerunning prep_sphinx_conf.py prepends the sys.path block again.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit c2630fc. Configure here.


Summary of Changes
Test PR - will not be merged. This is a POC to show what a multi-version docs deployment would look like. Much of the code was written specifically to get the preview up and wouldn't be part of a production deployment. The amount of code change would be minimal with the right choice of theme selection and/or configuring the RTD account settings.
This PR:
Let me know what you think:
Go = we deploy, I close this PR and open a new one with the real deployment settings (I might need help with RTD access)
No go = close out issue #566 with no changes
Related GitHub Issue(s)
#566
AI/LLM Usage
Claude
Additional Context for Reviewers
Submitter's Checklist
[FIX],[FEAT],[DOCS],[TST],[CHORE], or[BRK]).Reviewer's Checklist
Note
Low Risk
Changes are limited to documentation build, theme assets, and CI/RTD hooks; library runtime behavior is unaffected, though RTD pre/post-build steps add build-time complexity.
Overview
This is a proof-of-concept for multi-version documentation: readers get a header dropdown (sphinx-book-theme version switcher) instead of Read the Docs’ corner flyout, which custom CSS hides.
Build pipeline:
generate_switcher.pywritesdocs/_static/switcher.jsonfrom the Read the Docs API (with a checked-in fallback).prep_sphinx_conf.pynow also patches generatedconf.pyso each RTD build setsversion_matchand a per-versionjson_urlto that build’s own menu. Jupyter Book config gainsrecursive_update, static assets, aversion-switcher.htmloverride, and switcher theme options.POC-only (documented for removal in a real rollout):
SWITCHER_DEMO, hardcoded demo releases,build_demo_versions.py(nests prior tag docs under the current build so links work without activating versions on RTD), and extra RTDpre_build/post_buildsteps. For local/CI review,.github/scripts/build_versioned_docs.pyplusdocs-preview.ymlbuild many git refs in parallel and upload an artifact.Not merged as-is per the PR description—the production path would drop demo nesting and rely on RTD version activation plus slimmer config.
Reviewed by Cursor Bugbot for commit 63ca199. Bugbot is set up for automated code reviews on this repo. Configure here.