sphinx-autoapi
Sphinx API documentation generator
What it is and what it does
Sphinx AutoAPI is a Sphinx extension that generates API documentation by parsing source code directly, rather than importing and introspecting live modules. Unlike the traditional Sphinx autodoc extension, AutoAPI finds and documents your code without needing to run or load it, making it safer for documenting untrusted or complex projects. It integrates into your Sphinx build process, automatically creating an `autoapi/` directory with generated documentation and adding it to your table of contents.
The package depends on astroid for code parsing, Jinja2 for templating, PyYAML for configuration, and sphinx itself. It supports current Python versions (3.10 through 3.14) and has been actively maintained since 2015, with no known security vulnerabilities. Installation is straightforward—a single pip command and two lines in your Sphinx conf.py—and the extension then handles the rest during documentation builds.
Use it for:
- Generate API docs for a Python project without importing code that may have external dependencies or side effects.
- Automatically document a large codebase where manual autodoc directives would be tedious or error-prone.
- Create API reference documentation that stays in sync with source code during the build process.
- Document multiple source directories or packages in a single Sphinx project without hand-writing module indices.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sphinx AutoAPI generates complete API documentation by parsing source code, without requiring imports or manual authoring—it integrates as a Sphinx extension to automatically create and organize API docs.
Yes. This is a mature, actively maintained Sphinx extension with low install friction, no vulnerabilities, and a permissive license. It solves a real problem—generating complete API docs from source code without imports—that makes it valuable for projects where autodoc is impractical. Install it if you use Sphinx and want automatic API documentation.
Install
sphinx-autoapi on PyPI
pip
pip install sphinx-autoapiuv
uv add sphinx-autoapipoetry
poetry add sphinx-autoapiInstalling sphinx-autoapi
Before you install
Low friction: a pure-Python wheel with four straightforward runtime dependencies (astroid, Jinja2, PyYAML, sphinx). Active maintenance with a recent release and no known vulnerabilities.
License in practice
MIT license (permissive); you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install sphinx-autoapi
# In conf.py:
extensions.append('autoapi.extension')
autoapi_dirs = ['path/to/source/files', 'src']
Requires Python 3.10 or later and an existing Sphinx project to extend.
Verify before relying
- Whether AutoAPI handles all language types equally well (the fact sheet confirms it parses source code but does not specify which languages).
- Performance characteristics when documenting very large codebases or deeply nested module hierarchies.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — astroid, Jinja2, PyYAML, sphinx |
| Maintenance | actively maintained — 159 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,679,337/month — #2,530 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sphinx_autoapi-3.8.0-py3-none-any.whl
Tags
More Sphinx packages
Parses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
sphinxcontrib-qthelpA Sphinx extension that converts documentation…
permissive · top 1,000 on PyPI
autodocsummA Sphinx extension that enhances autodoc with…
permissive · top 5,000 on PyPI
sphinx-autodoc2sphinx-autodoc2 generates API documentation for…
permissive · top 15,000 on PyPI
autodoc_pydanticSphinx extension that automatically generates…
permissive · top 15,000 on PyPI
sphinxcontrib-apidocA Sphinx extension that automatically runs…
permissive · top 15,000 on PyPI
sphinx-autodoc-typehintsAutomatically extracts Python type hints from…
permissive · top 5,000 on PyPI
sphinx-automodapiSphinx extension that automatically generates…
permissive · top 15,000 on PyPI
sphinxcontrib-autoyamlA Sphinx extension that auto-generates…
permissive · top 15,000 on PyPI
sphinxcontrib-djangoA Sphinx extension that enhances autodoc output…
permissive · top 15,000 on PyPI
sphinx-clickSphinx-click is a Sphinx extension that…
permissive · top 15,000 on PyPI