Skip to content

Migrate project to Jupyter Book 2.x with MyST engine#105

Closed
Copilot wants to merge 7 commits intodependabot/pip/pip-dependencies-94ae0e35fdfrom
copilot/sub-pr-99
Closed

Migrate project to Jupyter Book 2.x with MyST engine#105
Copilot wants to merge 7 commits intodependabot/pip/pip-dependencies-94ae0e35fdfrom
copilot/sub-pr-99

Conversation

Copy link
Contributor

Copilot AI commented Feb 9, 2026

Completes the migration from Jupyter Book 1.x (Sphinx-based) to Jupyter Book 2.x (MyST engine-based) as part of the dependency update from dependabot.

Migration Overview

This PR migrates the documentation system from the legacy Sphinx-based Jupyter Book 1.x to the modern MyST-based Jupyter Book 2.x architecture.

Changes Made

Configuration Migration

  • Ran automated migration tool (jupyter-book init) to convert _config.yml and _toc.yml to unified myst.yml
  • Old configuration files backed up as ._config.yml.bak and ._toc.yml.bak

Dependency Updates

  • Updated to jupyter-book==2.1.2 (MyST-based)
  • Removed Sphinx and Sphinx-related dependencies (no longer needed with MyST engine)
  • Removed: docutils, sphinx, sphinx-autobuild, sphinx-github-changelog

Syntax Compatibility Fixes

  • Removed unsupported Sphinx directives (centered, changelog)
  • Removed unsupported grid options (:link-type:, :class-header:, :gutter:)
  • Converted api-reference.rst to api-reference.md (MyST doesn't support RST)
  • Simplified API reference documentation (Sphinx autodoc not available in MyST)
  • Removed bibliography reference (.bib files not supported)

Build System Updates

  • Updated build commands in pyproject.toml to use native MyST commands
  • Simplified from jupyter-book config sphinxjupyter-book build
  • Updated GitHub Actions workflow for MyST output paths (build/html instead of build/_build/html)
  • Removed SPHINX_GITHUB_CHANGELOG_TOKEN environment variable (no longer needed)

Documentation

  • Created MIGRATION.md documenting all changes, limitations, and benefits
  • Updated copyright year to 2023-2026

Known Limitations

Jupyter Book 2.x with MyST engine does not support:

  • Sphinx extensions (including sphinx-github-changelog for automated release notes)
  • Sphinx autodoc for API documentation generation
  • Bibliography files (.bib format)
  • Some advanced Sphinx-specific features

These limitations are fully documented in MIGRATION.md with explanations and workarounds where applicable.

Benefits

  • Modern Architecture: Built on modern JavaScript/TypeScript MyST engine
  • Better Performance: Faster builds with incremental compilation
  • Active Development: Jupyter Book 2.x is the actively maintained version
  • Unified Configuration: Single myst.yml file instead of multiple config files
  • Improved Web Experience: Better interactive features and responsive design

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

dependabot bot and others added 2 commits February 3, 2026 03:15
…ith 5 updates

Bumps the pip-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.16.0` | `4.0.1` |
| [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures) | `15.1` | `16.1` |
| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22.4` |
| [jupyter-book](https://github.com/jupyter-book/jupyter-book) | `1.0.4.post1` | `2.1.0` |
| [sphinx](https://github.com/sphinx-doc/sphinx) | `7.4.7` | `8.1.3` |



Updates `pytest-randomly` from 3.16.0 to 4.0.1
- [Changelog](https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-randomly@3.16.0...4.0.1)

Updates `pytest-rerunfailures` from 15.1 to 16.1
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst)
- [Commits](pytest-dev/pytest-rerunfailures@15.1...16.1)

Updates `docutils` from 0.21.2 to 0.22.4
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

Updates `jupyter-book` from 1.0.4.post1 to 2.1.0
- [Release notes](https://github.com/jupyter-book/jupyter-book/releases)
- [Commits](jupyter-book/jupyter-book@v1.0.4.post1...v2.1.0)

Updates `sphinx` from 7.4.7 to 8.1.3
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/v8.1.3/CHANGES.rst)
- [Commits](sphinx-doc/sphinx@v7.4.7...v8.1.3)

---
updated-dependencies:
- dependency-name: pytest-randomly
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pip-dependencies
- dependency-name: pytest-rerunfailures
  dependency-version: '16.1'
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pip-dependencies
- dependency-name: docutils
  dependency-version: 0.22.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pip-dependencies
- dependency-name: jupyter-book
  dependency-version: 2.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pip-dependencies
- dependency-name: sphinx
  dependency-version: 8.1.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pip-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: fschuch <37457501+fschuch@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 9, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • docs.python.org
    • Triggering command: /home/REDACTED/.local/share/hatch/env/virtual/wizard-template/jFJkRQjG/docs/bin/jupyter-book jupyter-book build docs --path-output build (dns block)
    • Triggering command: /home/REDACTED/.local/share/hatch/env/virtual/wizard-template/jFJkRQjG/docs/bin/jupyter-book jupyter-book build docs --path-output build e/.git (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Bump pip-dependencies group with five updates Fix jupyter-book and sphinx dependency version conflicts Feb 9, 2026
Copilot AI requested a review from fschuch February 9, 2026 11:54
@fschuch
Copy link
Owner

fschuch commented Feb 9, 2026

@copilot Migrate the project to jupyter-book v2 instead of just reverting the changes made by Dependabot.

Copilot AI and others added 4 commits February 9, 2026 12:08
Co-authored-by: fschuch <37457501+fschuch@users.noreply.github.com>
Co-authored-by: fschuch <37457501+fschuch@users.noreply.github.com>
Co-authored-by: fschuch <37457501+fschuch@users.noreply.github.com>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 9, 2026

Copy link
Contributor Author

Copilot AI commented Feb 9, 2026

@copilot Migrate the project to jupyter-book v2 instead of just reverting the changes made by Dependabot.

Migration to Jupyter Book 2.x completed in commits 1daa998, 3e5523d, b8a54fc, and a76aa60.

Key changes:

  • Config migrated from _config.yml/_toc.yml to myst.yml via automated tool
  • Build commands updated to use MyST engine
  • Removed Sphinx dependencies and extensions (sphinx-github-changelog, autodoc)
  • Converted RST to Markdown
  • Updated GitHub workflow for MyST output paths

Limitations documented in MIGRATION.md:

  • No Sphinx extension support (changelog generation, autodoc)
  • Bibliography files not supported
  • Some advanced Sphinx features unavailable

The migration maintains all core functionality while moving to the modern MyST architecture. See MIGRATION.md for complete details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.mystmd.org
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/.local/lib/python3.12/site-packages/jupyter_book/dist/jupyter-book.cjs build --html (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Fix jupyter-book and sphinx dependency version conflicts Migrate project to Jupyter Book 2.x with MyST engine Feb 9, 2026
@dependabot dependabot bot force-pushed the dependabot/pip/pip-dependencies-94ae0e35fd branch from 789f06e to 5e68f18 Compare February 10, 2026 00:28
@fschuch
Copy link
Owner

fschuch commented Feb 12, 2026

Jupyter Book 2.x breaks compatibility with some Sphinx plugins this project relies on, like auto docstings and change log builder from GitHub releases, so lets not implement it just yet.

@copilot create an issue so we at least keep track of this topic.

@fschuch fschuch closed this Feb 12, 2026
Copilot stopped work on behalf of fschuch due to an error February 12, 2026 11:26
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.

2 participants