Automatic documentation from docstrings, for mkdocs.
This plugin is still in alpha status. Here is how it looks with the mkdocs-material theme for now:
Requirements
mkdocstrings requires Python 3.6 or above.
To install Python 3.6, I recommend using pyenv.
# install pyenv git clone https://github.com/pyenv/pyenv ~/.pyenv # setup pyenv (you should also put these three lines in .bashrc or similar) export PATH="${HOME}/.pyenv/bin:${PATH}" export PYENV_ROOT="${HOME}/.pyenv" eval "$(pyenv init -)" # install Python 3.6 pyenv install 3.6.8 # make it available globally pyenv global system 3.6.8
Installation
With pip:
python3.6 -m pip install mkdocstrings
Usage
# mkdocs.yml # designed to work best with material theme theme: name: "material" # these extensions are required for best results markdown_extensions: - admonition - codehilite - attr_list - pymdownx.details - pymdownx.superfences - pymdownx.inlinehilite - toc: permalink: true plugins: - search - mkdocstrings
# Reference
::: my_library.my_module.my_classYou can reference objects from other modules in your docstrings:
def some_function(): """ This is my function. It references [another function][package.submodule.function]. It also references another object directly: [package.submodule.SuperClass][]. """ pass
Add some style:
div.autodoc { padding-left: 25px; border-left: 4px solid rgba(230, 230, 230); }
