mkdocstrings-python
A Python handler for mkdocstrings.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, carries a permissive ISC license, and solves a real problem—keeping API documentation synchronized with source code. It has no known vulnerabilities and is well-positioned in the top 5000 PyPI packages. Install it if you use mkdocstrings and want to document Python code automatically.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; mkdocstrings must be installed and configured in your MkDocs project.
- Low friction install with 4 runtime dependencies; actively maintained with recent release (56 days ago) and ongoing commits.
License · maintenance · safety
ISC (permissive) — ISC license is permissive, allowing use in proprietary and open-source projects with minimal restrictions.
last release 2026-06-19 (56 days) · last repo commit 2026-08-07 · 278 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 12,088,218 downloads/mo, #1,344 on PyPI
Alternatives
Verify before relying
pip install mkdocstrings-python
import mkdocstrings
# In mkdocs.yml, configure the Python handler and reference modules by dotted path:
# ::: mypackage.mymodule- Performance characteristics when documenting very large Python codebases with hundreds of modules.
- Compatibility with popular MkDocs themes and recent versions of mkdocs-autorefs.
- Whether all three docstring styles (Google, NumPy, Sphinx) are equally well supported or have known limitations.
What it is and what it does
mkdocstrings-python is a handler that extends mkdocstrings to automatically generate API documentation from Python source code. It uses griffelib to parse the Abstract Syntax Tree (AST) of your code, extract docstrings, and collect type annotations, then renders them as searchable HTML documentation integrated into your MkDocs site.
The handler supports multiple docstring styles, automatically generates cross-references to other objects in your API, and can display source code inline. You reference Python modules by their dotted path in your documentation, and the handler recursively documents all classes, functions, and attributes without requiring manual entries for each one.
Use it for
- Generate complete API reference documentation for a Python library automatically from docstrings and type hints.
- Create searchable, cross-referenced documentation that links parameter types to their definitions across your codebase.
- Build documentation sites that stay in sync with source code changes without manual updates to API docs.
- Display inline source code for functions and classes alongside their documentation for developer reference.
- Support teams maintaining multiple Python packages by reusing the same documentation pipeline across projects.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, carries a permissive ISC license, and solves a real problem—keeping API documentation synchronized with source code. It has no known vulnerabilities and is well-positioned in the top 5000 PyPI packages. Install it if you use mkdocstrings and want to document Python code automatically.
Install
mkdocstrings-python on PyPI
Before you install
Low friction install with 4 runtime dependencies; actively maintained with recent release (56 days ago) and ongoing commits.
Requires Python 3.10 or later; mkdocstrings must be installed and configured in your MkDocs project.
License in practice
ISC license is permissive, allowing use in proprietary and open-source projects with minimal restrictions.
Quickstart
pip install mkdocstrings-python
import mkdocstrings
# In mkdocs.yml, configure the Python handler and reference modules by dotted path:
# ::: mypackage.mymodule
Verify before relying
- Performance characteristics when documenting very large Python codebases with hundreds of modules.
- Compatibility with popular MkDocs themes and recent versions of mkdocs-autorefs.
- Whether all three docstring styles (Google, NumPy, Sphinx) are equally well supported or have known limitations.
Package facts
| License | ISC permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesmkdocstringsmkdocs-autorefsgriffelibtyping-extensions |
| Maintenance | Actively maintained 56 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 12,088,218 / month, #1,344 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_python-2.0.5-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 › “griffe ast parser documentation”
- mkdocstrings-pythonGenerates API documentation for Python projects by parsing source…
- griffe-pydanticExtends Griffe to automatically extract and document Pydantic model…
- griffe-warnings-deprecatedExtends Griffe to recognize and render PEP 702 `@warnings.deprecated`…
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 griffe · griffe2md · mkdocstrings · mkdocstrings-python-legacy · pytkdocs · haystack-pydoc-tools · mkdocs-api-autonav · griffe-typingdoc · pdoc3 · docstring-inheritance