Skip to article frontmatterSkip to article content

Frequently Asked Questions

This page answers common questions about Jupyter Book 2.

General Questions

What’s the difference between Jupyter Book 1 and 2?

Jupyter Book 2 is a complete rewrite built on the MyST Document Engine instead of Sphinx. Key differences:

For a detailed comparison, see our ecosystem documentation.

Should I upgrade to Jupyter Book 2 now or wait?

Upgrade if:

Consider waiting if:

See our upgrade guide for detailed migration instructions.

How can I downgrade to Jupyter Book 1?

See the downgrade guide for more details.

What MyST Markdown features work in Jupyter Book?

Jupyter Book 2 supports the full MyST Markdown specification, including:

For authoring details, see our MyST Markdown tutorial.

Should I use Jupyter Book or MyST directly?

Since Jupyter Book 2 is built on MyST, you might wonder which to use. Currently, the difference is minimal - both use the same CLI commands and configuration, for example myst start and jupyter book start do the same thing. Over time, we imagine that:

However, at the moment, Jupyter Book is essentially a Python CLI wrapper around MyST that makes installation easier.

Use Jupyter Book if:

Use MyST directly if:

Will Jupyter Book 1 continue to be maintained?

In short: The Jupyter Book 1 stack is mostly in maintenance mode. We will do our best to review and release community PRs, but it is unlikely that we will do any active development unless another person or org steps in to actively develop the project further. That said, individual components of the Sphinx stack (e.g., myst-parser) may still receive ongoing development as independent efforts.

The Executable Books organization remains the steward of the Sphinx-based stack (the engine of Jupyter Book 1). With core team resources now focused on Jupyter Book 2 and the MyST ecosystem, the Sphinx stack tools are in maintenance mode:

Some specific tools in the Executable Books stack are now in maintenance mode (e.g., MyST-NB), while more heavily-used infrastructure tools like myst-parser (which powers a large part of the Markdown experience in Sphinx) may continue to see more community activity.

We recognize there is an ongoing need for these tools and will continue working to ensure their stability for the community, with the constraint that we are all volunteers with limited time.

Technical Questions

What’s the relationship between Jupyter Book and MyST?

Jupyter Book 2 is built on top of the MyST Document Engine. In short: Jupyter Book is an opinionated, book-focused distribution of MyST with a Python-based installation workflow.

For a detailed explanation of the architecture and technical differences, see our ecosystem documentation.

How do I add custom features or plugins?

Jupyter Book 2 uses MyST’s plugin system:

How do I deploy my Jupyter Book?

See our publishing guide for deployment options including:

Getting Help

How do I get help with Jupyter Book?

Multiple channels available:

See our help page for more resources.

How can I contribute to Jupyter Book?

We welcome contributions! See our contributing guide and our community guide for details.

Migrating and troubleshooting upgrades

What are the known current limitations in Jupyter Book 2?

Our intent is to make Jupyter Book 2 have all the same features as Jupyter Book 1. However, some features from Jupyter Book 1 are still in development and need improvement. Here are a few that are particularly important:

Not yet available:

Available with different syntax:

See upgrade discussions for specific features and workarounds.

Where did [feature X] from Jupyter Book 1 go?

For information about specific features, see the known limitations section above or browse existing upgrade discussions. You might also find solutions in the MyST Guide. If you don’t see what you are looking for, make a post on the upgrade discussions or on Discord.

How do I migrate my Sphinx extensions?

Jupyter Book 2 uses MyST plugins instead of Sphinx extensions. Some common migrations:

In some cases, functionality may not yet exist in the MyST engine that does exist in Sphinx. In this case, ask in our discussion forum or on Discord.

My build is failing after upgrading. What should I do?

Common issues and solutions:

  1. Syntax errors: MyST syntax may differ slightly from Sphinx/RST

    • Check directive names and arguments

    • Verify cross-reference syntax

    • Try searching the MyST Guide

  2. Missing features: Some JB 1.0 features aren’t in 2.0 yet

    • Check known limitations

    • Consider staying on Jupyter Book 1.0 temporarily (especially if a custom Sphinx extension is causing the issue)

  3. Configuration issues: Config file format has changed

    • See the upgrade instructions above for config migration

    • Compare with new project structure

Post specific errors in upgrade discussions or ask on Discord for help.

Still Have Questions?

If your question isn’t answered here:

  1. Search our discussions.

  2. Check the MyST documentation.

  3. Ask in our Discord.

  4. Start a new discussion.