Tutorials

These tutorials will guide you through how to start using AutoAPI. They will assume that you already have a basic Sphinx project set up. If you are not sure how to do this, you can follow the Getting started guide in the Sphinx documentation.

Setting up Automatic API Documentation Generation

The recommended way of installing AutoAPI is through a virtualenv. Once you have a virtualenv set up, you can install AutoAPI with the command:

pip install sphinx-autoapi

To enable the extension, we need to add it to the list of extensions in Sphinx’s conf.py file:

extensions = ['autoapi.extension']

There is only one required configuration option that we need to set. autoapi_dirs tells AutoAPI which directories contain the source code to document. These can either be absolute, or relative to the source directory of your documentation files. For example, say we have a package and we have used sphinx-quickstart to create a Sphinx project in a docs/ folder. The directory structure might look like this:

mypackage/
├── docs
│   ├── _build
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   ├── Makefile
│   ├── _static
│   └── _templates
├── mypackage
│   ├── _client.py
│   ├── __init__.py
│   └── _server.py
└── README.md

sphinx-quickstart sets up the sphinx-build to run from inside the docs/ directory, and the source code is one level up. So the value of our autoapi_dirs option would be:

autoapi_dirs = ['../mypackage']

If you are documenting many packages, you can point AutoAPI to the directory that contains those packages. For example if our source code was inside a src/ directory:

mypackage/
├── docs
│   ├── _build
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   ├── Makefile
│   ├── _static
│   └── _templates
├── README.md
└── src
    └── mypackage
        ├── _client.py
        ├── __init__.py
        └── _server.py

We can configure autoapi_dirs to be:

autoapi_dirs = ['../src']

Now that everything is configured, AutoAPI will generate documentation when you run Sphinx!

cd docs/
sphinx-build -b html . _build

With the documentation successfully built you should now be able to open the _build/index.html file in a web browser. The page will have a table of contents with a link to API reference documentation that has been generated by AutoAPI.

Next, you might want to customise what gets documented or customise or remove the API reference index page.