Skip to content

readthedocs/sphinx-autoapi

Repository files navigation

Sphinx AutoAPI

Documentation Github Build Status PyPI Version Supported Python Versions Formatted with Ruff

Sphinx AutoAPI is a Sphinx extension for generating complete API documentation without needing to load, run, or import the project being documented.

In contrast to the traditional Sphinx autodoc, which requires manual authoring and uses code imports, AutoAPI finds and generates documentation by parsing source code.

For more information, see the full documentation.

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.

Installation

AutoAPI can be installed through pip:

pip install sphinx-autoapi

Next, add and configure AutoAPI in your Sphinx project's conf.py.

extensions.append('autoapi.extension')

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

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.

Contributing

Running the tests

Tests are executed through tox.

tox

Code Style

Code is formatted using ruff.

You can check your formatting using ruff format's check mode:

tox -e format

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

ruff format

Release Notes

Release notes are managed through towncrier. When making a pull request you will need to create a news fragment to document your change:

tox -e release_notes -- create --help

Versioning

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

License

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