sphinx-immaterial
Adaptation of mkdocs-material theme for the Sphinx documentation system
What it is and what it does
Sphinx-Immaterial is a Sphinx theme that brings the Material Design visual language to Sphinx-generated documentation. It adapts the popular mkdocs-material theme's HTML templates, JavaScript, and styles for use with Sphinx, the standard documentation tool for Python projects. The theme is regularly synchronized with upstream mkdocs-material to stay current with design updates.
The theme adds Sphinx-specific styling for API documentation (class and function descriptions) that mkdocs-material lacks, and implements search using Sphinx's native index format rather than lunr.js. It is installed as a Sphinx extension and configured by setting the html_theme variable in conf.py. Customization is supported through Jinja template block overrides placed in a project's _templates directory.
Use it for:
- Building modern, responsive documentation for Python libraries and frameworks with Material Design aesthetics
- Migrating from mkdocs-material to Sphinx while preserving visual consistency and user experience
- Styling API reference documentation with built-in support for Sphinx object descriptions (classes, functions, modules)
- Creating branded documentation sites that integrate search, navigation, and custom header/footer elements via template overrides
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Sphinx documentation theme that adapts the Material Design aesthetic from mkdocs-material, providing a modern, responsive HTML output for Sphinx projects with integrated search and API documentation styling.
Yes, if you need a modern Sphinx theme with Material Design. The package is actively maintained, has low install friction, carries a permissive MIT license, and integrates well with Sphinx's standard extension ecosystem. The beta status (pre-1.0) means breaking changes are possible, but the current version is marked production-stable and has been in active use. No known security vulnerabilities.
Install
sphinx-immaterial on PyPI
pip
pip install sphinx-immaterialuv
uv add sphinx-immaterialpoetry
poetry add sphinx-immaterialInstalling sphinx-immaterial
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of August 2026 with regular updates tracking the upstream mkdocs-material repository. Requires Python 3.10 or later.
License in practice
MIT-licensed core with additional Creative Commons and GNU FDL components for bundled reference data. Permissive license allows commercial and private use with attribution; derivative works permitted under the same terms.
Quickstart
pip install sphinx-immaterial
# In conf.py:
extensions = ["sphinx_immaterial"]
html_theme = 'sphinx_immaterial'
Requires Python 3.10 or later; Sphinx must be installed and configured with a conf.py file.
Verify before relying
- Whether breaking changes remain likely before a 1.0 release (description notes beta status but version is 0.13.9)
- Performance characteristics with large documentation sets or complex API documentation
- Extent of customization options beyond Jinja template block overrides
Package facts
| License | Copyright 2021 The Sphinx-Immaterial Authors Derived from: * Sphinx-material: Copyright (c) 2019 Kevin Sheppard <kevin.k.sheppard@gmail.com> * Material for Mkdocs: Copyright (c) 2016-2019 Martin… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — sphinx, markupsafe, pydantic, pydantic-extra-types, typing-extensions, appdirs, requests |
| Maintenance | actively maintained — 189 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 270,549/month — #8,233 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sphinx_immaterial-0.13.9-py3-none-any.whl
Tags
More Sphinx packages
Parses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
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
sphinxcontrib-qthelpA Sphinx extension that converts documentation…
permissive · top 1,000 on PyPI
mkdocs-materialMaterial for MkDocs is a professional theme and…
permissive · top 5,000 on PyPI
sphinx-press-themeA modern, responsive Sphinx documentation theme…
permissive · top 15,000 on PyPI
sphinx-bootstrap-themeA Sphinx theme that applies Bootstrap CSS and…
permissive · top 15,000 on PyPI
Pallets-Sphinx-ThemesProvides Sphinx themes styled for Pallets…
permissive · top 15,000 on PyPI
sphinx-rtd-themeA Sphinx theme that renders documentation with…
permissive · top 5,000 on PyPI
furoFuro is a clean, responsive Sphinx theme for…
permissive · top 5,000 on PyPI
sphinx_designA Sphinx extension that adds responsive web…
permissive · top 5,000 on PyPI
shibuyaShibuya is a Sphinx documentation theme that…
permissive · top 15,000 on PyPI
mkdocs-material-extensionsProvides emoji and SVG icon extensions for…
permissive · top 5,000 on PyPI
fig2sketchConverts Figma .fig design files into Sketch…
unclear · top 15,000 on PyPI