skillfed

mkdocs-api-autonav

Autogenerate API docs with mkdocstrings, including nav

mkdocs-api-autonav v0.4.0 130.7K downloads/30d#11,630 on PyPI42
Permissive license BSD-3-Clause Active released

What it is and what it does

mkdocs-api-autonav is a plugin for mkdocs that automatically discovers Python modules and generates API reference documentation pages with corresponding navigation entries, using mkdocstrings under the hood. Instead of manually creating documentation files and nav entries for each module and submodule, you point the plugin at your source directories and it handles page generation and navigation structure automatically.

The plugin integrates with your existing mkdocs.yml nav configuration—it can replace a placeholder entry, append to an existing section, or create a new API Reference section. It supports fine-grained control over which modules to include or exclude, allows per-module docstring rendering options (docstring style, heading levels, etc.), and handles edge cases like implicit namespace packages. It's designed to work well with mkdocs-material's navigation features and plays nicely with mkdocstrings' extensive configuration options.

Use it for:

  • Generate complete API documentation for a multi-module Python library without manually creating or maintaining nav entries.
  • Automatically include all submodules in your API docs while excluding private modules and applying consistent docstring formatting.
  • Integrate API documentation into a larger mkdocs site where the API section can be repositioned or extended with additional pages.
  • Apply different docstring styles or rendering options to specific modules using regex-based module_options configuration.
  • Maintain API docs that stay in sync with your codebase structure without manual updates to documentation files or navigation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Automatically generates API reference documentation and navigation for Python modules using mkdocstrings, eliminating the need for manual navigation configuration or custom scripts.

Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and solves a real pain point for projects using mkdocs and mkdocstrings. It's particularly valuable if you have multiple modules or frequently add new submodules—it eliminates boilerplate documentation maintenance. The permissive BSD license poses no restrictions.

Install

mkdocs-api-autonav on PyPI

pip

pip install mkdocs-api-autonav

uv

uv add mkdocs-api-autonav

poetry

poetry add mkdocs-api-autonav

Installing mkdocs-api-autonav

Before you install

Low install friction with a pure-Python wheel distribution. The package is actively maintained with recent commits and has been in active development since early 2025. Depends on mkdocs, mkdocstrings-python, and pyyaml—all stable, widely-used libraries.

License in practice

BSD-3-Clause is permissive and poses no restrictions on commercial or proprietary use. You can incorporate this package into closed-source projects without license obligations.

Quickstart

pip install mkdocs-api-autonav

# In mkdocs.yml:
plugins:
  - search
  - mkdocstrings:
  - api-autonav:
      modules: ['src/my_library']

Requires mkdocs>=1.6 (released Apr 20, 2024) and Python >=3.9. Your project must have mkdocstrings installed and configured.

Verify before relying

  • Whether the plugin handles complex nested module hierarchies without performance degradation.
  • How well it integrates with other mkdocs plugins beyond mkdocs-awesome-nav.
  • Whether generated navigation scales well for very large codebases with many submodules.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 3 — mkdocs, mkdocstrings-python, pyyaml
Maintenance actively maintained — 339 days since the last release
Last repo commit
First released
Downloads 130,700/month — #11,630 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mkdocs_api_autonav-0.4.0-py3-none-any.whl

Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Typing :: Typed

Tags

auto-generate api documentationmkdocs api reference navigationpython module documentation generatormkdocstrings plugin automationapi docs with automatic nav
mkdocs-pluginapi-documentationcode-generation

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

mkdocstrings

An MkDocs plugin that automatically generates…

permissive · top 5,000 on PyPI

mkdocs-awesome-nav

A MkDocs plugin that lets you customize your…

permissive · top 5,000 on PyPI

mkdocstrings-python

Generates API documentation for Python projects…

permissive · top 5,000 on PyPI

mkdocs-awesome-pages-plugin

A plugin for MkDocs that lets you customize…

permissive · top 5,000 on PyPI

mkdocs-literate-nav

MkDocs plugin that lets you define site…

permissive · top 5,000 on PyPI

mkdocs-include-dir-to-nav

A MkDocs plugin that automatically expands…

permissive · top 15,000 on PyPI

mkdocstrings-python-legacy

A legacy Python documentation handler for…

permissive · top 15,000 on PyPI

mkdocs-gen-files

MkDocs plugin that generates documentation…

permissive · top 5,000 on PyPI

mkdocs-monorepo-plugin

Enables building multiple sets of documentation…

permissive · top 5,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI