skillfed

mkdocs-jupyter

Use Jupyter in mkdocs websites

mkdocs-jupyter v0.26.3 514.9K downloads/30d#6,236 on PyPI505
Permissive license Apache-2.0 Active released

What it is and what it does

mkdocs-jupyter is a plugin that embeds Jupyter notebooks directly into mkdocs documentation sites. Instead of manually converting notebooks to Markdown, you reference `.ipynb` or `.py` files in your mkdocs navigation, and the plugin handles rendering them with Jupyter's native styling, code highlighting via Pygments, and optional notebook execution before conversion.

The plugin supports multiple rendering modes: you can show full code and output, hide code input, remove prompts, or selectively hide cells using tags. It also handles ipywidgets, caches conversion results for faster rebuilds, and integrates with mkdocs themes like Material. Configuration is done entirely in `mkdocs.yml`, making it straightforward to add notebook pages to existing documentation projects.

Use it for:

  • Publishing data science tutorials or analyses as part of technical documentation without manually converting notebooks to Markdown.
  • Building API documentation that includes executable examples and visualizations rendered from Jupyter notebooks.
  • Creating educational materials where notebooks serve as both the source and the published content, keeping them in sync.
  • Generating reports or dashboards that combine narrative text, code, and interactive outputs in a static documentation site.
  • Sharing reproducible research or methodology documentation where the notebook source is available for download.

Worth the install?

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

Converts Jupyter notebooks and Python scripts into pages for mkdocs documentation sites, rendering them with notebook styling and optional execution.

Yes, if you maintain mkdocs documentation and want to include Jupyter notebooks as first-class pages. The plugin is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and integrates cleanly into the mkdocs build pipeline. Install it when you have notebooks that belong in your docs and want to avoid manual conversion workflows.

Install

mkdocs-jupyter on PyPI

pip

pip install mkdocs-jupyter

uv

uv add mkdocs-jupyter

poetry

poetry add mkdocs-jupyter

Installing mkdocs-jupyter

Before you install

Low friction install with a pure-Python wheel. The package is actively maintained with a recent release and no known vulnerabilities. Six runtime dependencies (ipykernel, jupytext, mkdocs-material, mkdocs, nbconvert, pygments) are standard tools in the Jupyter and documentation ecosystem.

License in practice

Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions—only requiring license and copyright notice retention.

Quickstart

pip install mkdocs-jupyter

# In mkdocs.yml:
nav:
  - Home: index.md
  - Notebook: example.ipynb
plugins:
  - mkdocs-jupyter

Requires mkdocs and its dependencies to be installed; notebooks are rendered during the mkdocs build process, not at runtime.

Verify before relying

  • Whether execution of notebooks with complex dependencies (e.g., GPU libraries, external services) works reliably in CI/CD environments.
  • Performance characteristics when building documentation with many large notebooks or when execution is enabled.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — ipykernel, jupytext, mkdocs-material, mkdocs, nbconvert, pygments
Maintenance actively maintained — 119 days since the last release
Last repo commit
First released
Downloads 514,882/month — #6,236 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mkdocs_jupyter-0.26.3-py3-none-any.whl

Keywords: documentation, jupyter, jupyterlab, mkdocs, notebooks

Development Status :: 5 - Production/StableProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

jupyter notebooks in mkdocsconvert ipynb to documentationmkdocs jupyter pluginnotebook documentation generationjupyter to static siteipynb mkdocs integration
jupyter-integrationstatic-site-gennotebook-publishing

More Documentation packages