Skip to content
A new approach to API documentation in Sphinx.
Python Makefile Go Other
Branch: master
Clone or download
Latest commit daa5ce2 Oct 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoapi "Invalid desc node" warning no longer raised for autodoc-style direct… Oct 10, 2019
docs Version 1.2.1 Oct 10, 2019
tests Fixed formatting Oct 5, 2019
.gitignore Fixed private submodules displaying when private-members turned off Mar 6, 2019
.pre-commit-config.yaml Added Black formatting Jan 27, 2019
.travis.yml Fixed typo in travis config Mar 30, 2019
LICENSE.rst Documentation overhaul Apr 21, 2019 Removed references to old css and js files Jan 27, 2019
README.rst Change rtfd -> readthedocs Jul 15, 2019
appveyor.yml Update appveyor to Python 3.7 Jun 23, 2019
prospector.yml Turn off style linting Mar 6, 2019
pylintrc Fix linting Oct 5, 2019
requirements.txt Stop using requirements.txt Oct 25, 2016
setup.cfg Initial commit Mar 27, 2015 Version 1.2.1 Oct 10, 2019
tox.ini Fix linting Oct 5, 2019


Sphinx AutoAPI

Documentation Travis Build Status Appveyor Build Status PyPI Version Supported Python Versions Formatted with Black

Sphinx AutoAPI provides "autodoc" style documentation for multiple programming languages without needing to load, run, or import the project being documented.

In contrast to the traditional Sphinx autodoc, which is Python-only and uses code imports, AutoAPI finds and generates documentation by parsing source code.

Language Support

Language Status Parser
Python Stable Custom using astroid
Go Alpha godocjson
Javascript Alpha jsdoc
.NET Alpha docfx

Getting Started

The following steps will walk through how to add AutoAPI to an existing Sphinx project. For instructions on how to set up a Sphinx project, see Sphinx's documentation on Getting Started.


AutoAPI can be installed through pip:

pip install sphinx-autoapi

Next, add and configure AutoAPI in your Sphinx project's Other languages may require further configuration:


autoapi_type = 'python'
autoapi_dirs = ['path/to/source/files', 'src']

Where autoapi_type can be one of any of the supported languages:

Language autoapi_type
Python 'python'
Go 'go'
Javascript 'javascript'
.NET 'dotnet'

When the documentation is built, AutoAPI will now generate API documentation into an autoapi/ directory and add an entry to the documentation in your top level table of contents!

To configure AutoAPI behaviour further, see the Configuration documentation.


Running the tests

Tests are executed through tox.


Code Style

Code is formatted using black.

You can check your formatting using black's check mode:

tox -e formatting

You can also get black to format your changes for you:

black autoapi/ tests/

You can even get black to format changes automatically when you commit using pre-commit:

pip install pre-commit
pre-commit install


We use SemVer for versioning. For the versions available, see the tags on this repository.


This project is licensed under the MIT License. See the LICENSE.rst file for details.

You can’t perform that action at this time.