mkdocstrings
Automatic documentation from sources, for MkDocs.
Decision gist · record as of 2026-08-14
Yes. The plugin is actively maintained, has no known vulnerabilities, uses a permissive license, and integrates cleanly into MkDocs workflows with low install friction. It's production-ready and widely adopted. Install it if you use MkDocs and want to automate API documentation from source code; you'll also need to install a language handler for your target language.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Language handlers must be installed separately to generate docs for specific languages.
- Low friction install with a wheel distribution.
License · maintenance · safety
ISC (permissive) — ISC license is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects without legal concern.
last release 2026-07-11 (34 days) · last repo commit 2026-07-11 · 2,082 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,397,112 downloads/mo, #1,627 on PyPI
Alternatives
Verify before relying
pip install mkdocstrings
# In mkdocs.yml:
plugins:
- mkdocstrings
# In your markdown file:
::: my_module.MyClass- Whether language handlers are bundled or must be installed separately for each language
- Performance characteristics when documenting large codebases
- Customization depth available for generated documentation styling beyond Material theme support
What it is and what it does
This plugin for MkDocs extracts docstrings from source code and injects them into your documentation as formatted API reference sections. Instead of manually writing API docs, you add simple directives to your Markdown files, and the plugin parses the source, renders the docstrings, and handles cross-references automatically. It's language-agnostic through a handler system—the base package provides the framework, and separate handlers add support for different languages.
The plugin integrates with MkDocs and its theming system, with support for multiple themes. It supports cross-references both within your documentation and to external project inventories. Configuration is flexible—you can set defaults globally in mkdocs.yml and override them per-directive with YAML blocks.
Use it for
- Generate API reference docs automatically from docstrings in a project without manual documentation maintenance
- Build multi-language API documentation for a library that exposes bindings in multiple languages
- Create cross-referenced API docs where docstring links resolve automatically across multiple pages
- Maintain up-to-date API documentation that stays in sync with source code changes
- Reference external library APIs in your docs by loading their inventory files
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The plugin is actively maintained, has no known vulnerabilities, uses a permissive license, and integrates cleanly into MkDocs workflows with low install friction. It's production-ready and widely adopted. Install it if you use MkDocs and want to automate API documentation from source code; you'll also need to install a language handler for your target language.
Install
mkdocstrings on PyPI
Before you install
Low friction install with a wheel distribution. Active maintenance with a recent release 34 days ago and 2082 repository stars. Requires Python 3.10 or later and depends on six runtime packages including mkdocs, Markdown, and Jinja2.
Requires Python 3.10 or later. Language handlers must be installed separately to generate docs for specific languages.
License in practice
ISC license is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects without legal concern.
Quickstart
pip install mkdocstrings
# In mkdocs.yml:
plugins:
- mkdocstrings
# In your markdown file:
::: my_module.MyClass
Verify before relying
- Whether language handlers are bundled or must be installed separately for each language
- Performance characteristics when documenting large codebases
- Customization depth available for generated documentation styling beyond Material theme support
Package facts
| License | ISC permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesJinja2MarkdownMarkupSafemkdocsmkdocs-autorefspymdown-extensions |
| Maintenance | Actively maintained 34 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,397,112 / month, #1,627 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: PythonProgramming 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.14Topic :: DocumentationTopic :: Software DevelopmentTopic :: Software Development :: DocumentationTopic :: UtilitiesTyping :: Typed |
Evidence: mkdocstrings-1.0.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “automatic api documentation generation”
- mkdocstringsAn MkDocs plugin that automatically generates API documentation from…
- flask-pydantic-specAdds OpenAPI documentation generation and request/response validation…
- sphinxcontrib-apidocA Sphinx extension that automatically runs sphinx-apidoc during…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also mkdocs-api-autonav · mkdocs-click · mkdocstrings-python · mkdocstrings-python-legacy · mkdocs-static-i18n · mkdocs-autorefs · mkdocs-llmstxt · mkdocs-task-collector · mdformat-mkdocs · mkdocs-techdocs-core