The legacy Python handler for mkdocstrings.
WARNING: We suggest using the new handler instead: mkdocstrings-python.
You can install this handler as a mkdocstrings extra:
# PEP 621 dependencies declaration
# adapt to your dependencies manager
[project]
dependencies = [
"mkdocstrings[python-legacy]>=0.18",
]
You can also explicitely depend on the handler:
# PEP 621 dependencies declaration
# adapt to your dependencies manager
[project]
dependencies = [
"mkdocstrings-python-legacy",
]
Data collection from source code: collection of the object-tree and the docstrings is done thanks to pytkdocs.
Support for type annotations: pytkdocs collects your type annotations and mkdocstrings uses them to display parameters types or return types.
Recursive documentation of Python objects: just use the module dotted-path as identifier, and you get the full module docs. You don't need to inject documentation for each class, function, etc.
Support for documented attributes: attributes (variables) followed by a docstring (triple-quoted string) will
be recognized by Griffe in modules, classes and even in __init__
methods.
Multiple docstring-styles support: common support for Google-style, Numpydoc-style, and Sphinx-style docstrings.
Admonition support in Google docstrings: blocks like Note:
or Warning:
will be transformed
to their admonition equivalent.
We do not support nested admonitions in docstrings!
Every object has a TOC entry: we render a heading for each object, meaning MkDocs picks them into the Table
of Contents, which is nicely display by the Material theme. Thanks to mkdocstrings cross-reference ability,
you can reference other objects within your docstrings, with the classic Markdown syntax:
[this object][package.module.object]
or directly with [package.module.object][]
Source code display: mkdocstrings can add a collapsible div containing the highlighted source code of the Python object.