Skip to main content

MkDocs plugin providing automatic API reference generation

Project description

mkdocs-autoapi

pypi version docs

Description

mkdocs-autoapi is a MkDocs plugin that automatically generates API documentation from your project's source code. The idea for the plugin comes from this recipe in the MkDocs documentation.

Installation

Requirements

  • Python version 3.6 or higher
  • MkDocs version 1.4.0 or higher
  • mkdocstrings version 0.19.0 or higher

Installation via pip

We recommend installing this package with pip:

pip install mkdocs-autoapi

Usage

Basic Usage

To use the plugin, add the following configuration to your mkdocs.yml file:

plugins:
  - ... other plugin configuration ...
  - mkdocs-autoapi
  - mkdocstrings

Setting the Project Root

By default, the plugin will use the current working directory as the project root. If you would like to use a different directory, you can specify a value in the project_root configuration option:

plugins:
  - ... other plugin configuration ...
  - mkdocs-autoapi:
      project_root: /path/to/project/root
  - mkdocstrings

Excluding Patterns

You can exclude files and directories from the documentation by specifying a value in the exclude configuration option. This option accepts a list of glob patterns. Note that the following patterns are always excluded:

  • **/.venv/**/
  • **/venv/**/

As an example, suppose your project has the following structure:

project/
    docs/
        index.md
    module/
        __init__.py
        lorem.py
        ipsum.py
        dolor.py
    second_module/
        __init__.py
        lorem.py
        sit.py
        amet.py
    venv/
    mkdocs.yml
    README.md

To exclude all files named lorem.py, you can add the following configuration to your mkdocs.yml file:

plugins:
  - ... other plugin configuration ...
  - mkdocs-autoapi:
      exclude:
        - "**/lorem.py"
  - mkdocstrings

Including API Documentation in Navigation

To include the API documentation created by the plugin in your site's navigation, you can add the following configuration to your mkdocs.yml file:

nav:
  - ... other navigation sections ...
  - API Reference: autoapi/
  - ... other navigation sections ...

More information on navigation configuration can be found in the MkDocs User Guide.

Putting It All Together

Again, consider the following project structure:

project/
    docs/
        index.md
    module/
        __init__.py
        lorem.py
        ipsum.py
        dolor.py
    second_module/
        __init__.py
        lorem.py
        sit.py
        amet.py
    venv/
    mkdocs.yml
    README.md

A full mkdocs.yml for the project might look like this:

site_name: Project

nav:
  - Home: index.md
  - API Reference: autoapi/

plugins:
  - mkdocs-autoapi
  - mkdocstrings

theme:
  name: readthedocs

More information MkDocs configuration through mkdocs.yml can be found in the MkDocs User Guide.

Contributing

Contributions are always welcome! Please submit a pull request or open an issue to get started.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_autoapi-0.2.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

mkdocs_autoapi-0.2.0-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_autoapi-0.2.0.tar.gz.

File metadata

  • Download URL: mkdocs_autoapi-0.2.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.6

File hashes

Hashes for mkdocs_autoapi-0.2.0.tar.gz
Algorithm Hash digest
SHA256 50d27dcef88bfdd217ce6ae9395914802ff08fc2de3790774ed8dbe7db812e6f
MD5 24df38bb6d36c57277b308d98afd56c4
BLAKE2b-256 0b172b1d8263396824ade3bee80336abaf5998d78f44b2be3f260cd934478084

See more details on using hashes here.

File details

Details for the file mkdocs_autoapi-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_autoapi-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 919e0e4b33836dd1622ba37eb797ca4e3ffe6d61c8472f855007a590e8d3285a
MD5 1c37104962f334b39f0b1c65dc87a6d1
BLAKE2b-256 ee6e8705f37ac75e053c332f0eb16dc2a120ebf11e2c933e658920ff485d6111

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page