skillfed

myst-nb

A Jupyter Notebook Sphinx reader built on top of the MyST markdown parser.

myst-nb v1.4.0 1.1M downloads/30d#4,438 on PyPI238
License unclear Active released

What it is and what it does

MyST-NB is a Sphinx extension that lets you write and include Jupyter Notebooks directly in Sphinx documentation builds. Instead of converting notebooks to Markdown or reStructuredText by hand, you drop .ipynb files into your source tree and Sphinx reads them natively, rendering cells, outputs, and markdown content as part of your docs. It builds on the MyST parser, which understands Markdown syntax, so your notebooks can use MyST-flavored Markdown alongside standard Jupyter cell syntax.

The package sits at the intersection of Jupyter and Sphinx tooling. It depends on IPython, nbclient, jupyter-cache, and nbformat to handle notebook parsing and execution, plus Sphinx itself for documentation generation. It's actively maintained, supports Python 3.10 through 3.14, and is used in production documentation workflows. The main constraint is that you need a working Sphinx setup and familiarity with how Sphinx extensions are configured.

Use it for:

  • Build technical documentation that includes executable Jupyter notebooks as chapters or sections.
  • Publish data science or research notebooks as part of a larger Sphinx documentation site.
  • Create tutorials or guides where notebook cells and their outputs are rendered inline in the final docs.
  • Maintain a single source (the notebook) that serves both as an interactive tool and as documentation.
  • Integrate notebooks into ReadTheDocs or similar CI/CD-driven documentation builds.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Sphinx extension that parses and converts Jupyter Notebooks (.ipynb files) directly into Sphinx documentation, built on the MyST markdown parser.

Yes, if you use Sphinx for documentation and want to include Jupyter Notebooks without manual conversion. The install friction is low, maintenance is active, and the package is in the top 5000 by downloads. The only caveat is that the license status is unclear in the metadata—verify the actual license in the repository before using in proprietary contexts. No known security vulnerabilities.

Install

myst-nb on PyPI

pip

pip install myst-nb

uv

uv add myst-nb

poetry

poetry add myst-nb

Installing myst-nb

Before you install

Low friction install with a pure Python wheel. Actively maintained as of August 2026 with recent commits. Depends on a substantial stack (Sphinx, IPython, nbclient, jupyter-cache, myst-parser) but all are standard ecosystem packages.

License in practice

License status is unclear from the package metadata—no SPDX identifier or raw license field is recorded. Verify the actual license in the repository before adopting in proprietary or restricted-license contexts.

Quickstart

pip install myst-nb

# In conf.py:
extensions = ['myst_nb']

# Then add .ipynb files to your Sphinx source tree and build normally.

Requires Python 3.10 or later. Sphinx and IPython must be installed and configured.

Verify before relying

  • Actual license text and terms—metadata shows no SPDX or raw license field despite active development.
  • Whether notebook execution is automatic or opt-in during documentation builds.
  • Performance characteristics with large notebooks or many notebooks in a single build.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 10 — importlib_metadata, ipython, jupyter-cache, nbclient, myst-parser, nbformat, pyyaml, sphinx, typing-extensions, ipykernel
Maintenance actively maintained — 165 days since the last release
Last repo commit
First released
Downloads 1,052,857/month — #4,438 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: myst_nb-1.4.0-py3-none-any.whl

Keywords: markdown, lexer, parser, jupyter, docutils, sphinx

Development Status :: 5 - Production/StableFramework :: Sphinx :: ExtensionIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: Markup

Tags

jupyter notebook sphinx integrationconvert ipynb to sphinx docsmyst notebook parserjupyter documentation generationsphinx notebook readeripynb to rst conversionexecutable notebook documentation
jupyter-integrationsphinx-extensionnotebook-publishing

More Python Modules packages