mkdocs-jupyter
Use Jupyter in mkdocs websites
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-jupyteruv
uv add mkdocs-jupyterpoetry
poetry add mkdocs-jupyterInstalling 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
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
jupytextJupytext converts Jupyter notebooks to and from…
permissive · top 5,000 on PyPI
nbconvertnbconvert converts Jupyter notebooks (.ipynb…
permissive · top 1,000 on PyPI
mkdocs-materialMaterial for MkDocs is a professional theme and…
permissive · top 5,000 on PyPI
ipynbImports Jupyter Notebook (.ipynb) files as…
permissive · top 15,000 on PyPI
mkdocs-print-site-pluginMkDocs plugin that generates a combined print…
permissive · top 15,000 on PyPI
ipynbnameReturns the filename or full path of the…
permissive · top 15,000 on PyPI
jupyter-bookJupyter Book converts Markdown files and…
permissive · top 15,000 on PyPI
testbooktestbook lets you write unit tests for Jupyter…
permissive · top 15,000 on PyPI
mkdocs-github-admonitions-pluginA MkDocs plugin that converts GitHub-flavored…
permissive · top 15,000 on PyPI
importnbimportnb lets you import Jupyter notebooks as…
permissive · top 15,000 on PyPI