freshcrate
Home > Frameworks > sphinx-autoapi

sphinx-autoapi

Sphinx API documentation generator

Description

Sphinx AutoAPI ============== .. image:: https://readthedocs.org/projects/sphinx-autoapi/badge/?version=latest :target: https://sphinx-autoapi.readthedocs.org :alt: Documentation .. image:: https://github.com/readthedocs/sphinx-autoapi/actions/workflows/main.yml/badge.svg?branch=main :target: https://github.com/readthedocs/sphinx-autoapi/actions/workflows/main.yml?query=branch%3Amain :alt: Github Build Status .. image:: https://img.shields.io/pypi/v/sphinx-autoapi.svg :target: https://pypi.org/project/sphinx-autoapi/ :alt: PyPI Version .. image:: https://img.shields.io/pypi/pyversions/sphinx-autoapi.svg :target: https://pypi.org/project/sphinx-autoapi/ :alt: Supported Python Versions .. image:: https://img.shields.io/badge/code%20style-ruff-000000.svg :target: https://docs.astral.sh/ruff/ :alt: 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 <https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html>`_, which requires manual authoring and uses code imports, AutoAPI finds and generates documentation by parsing source code. For more information, see `the full documentation <https://sphinx-autoapi.readthedocs.org>`_. 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 <https://www.sphinx-doc.org/en/master/usage/quickstart.html>`_. Installation ~~~~~~~~~~~~ AutoAPI can be installed through pip: .. code-block:: bash pip install sphinx-autoapi Next, add and configure AutoAPI in your Sphinx project's `conf.py`. .. code-block:: python 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 <https://sphinx-autoapi.readthedocs.io/en/latest/reference/config.html>`_. Contributing ------------ Running the tests ~~~~~~~~~~~~~~~~~ Tests are executed through `tox <https://tox.readthedocs.io/en/latest/>`_. .. code-block:: bash tox Code Style ~~~~~~~~~~ Code is formatted using `ruff <https://docs.astral.sh/ruff>`_. You can check your formatting using ruff format's check mode: .. code-block:: bash tox -e format You can also get ruff to format your changes for you: .. code-block:: bash ruff format Release Notes ~~~~~~~~~~~~~ Release notes are managed through `towncrier <https://towncrier.readthedocs.io/en/stable/index.html>`_. When making a pull request you will need to create a news fragment to document your change: .. code-block:: bash tox -e release_notes -- create --help Versioning ---------- We use `SemVer <https://semver.org/>`_ for versioning. For the versions available, see the `tags on this repository <https://github.com/readthedocs/sphinx-autoapi/tags>`_. License ------- This project is licensed under the MIT License. See the `LICENSE.rst <LICENSE.rst>`_ file for details.

Release History

VersionChangesUrgencyDate
3.8.0Imported from PyPI (3.8.0)Low4/21/2026
v3.8.0# Features * Autodoc-style directives can access members excluded by autoapi_options # Misc * #553 Low3/8/2026
v3.7.0# Features * Added autoapi.import warning for when AutoAPI directives are given non-existent objects * Adding autoapi_follow_symlinks, which allows api to traverse into symlinked directories when generating the API documentation. * Drop support for Python 3.9 and officially support Python 3.14 * Support rendering PEP-695 type parameters # Bugfixes * Render typing_extensions.TypeAlias like other type aliases (#520) * Fix PythonFunction.overloads typing when source code overload(s) doLow2/11/2026
v3.6.1# Bugfixes * Update the supported versions of astroid. Fix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder (#536) Low10/6/2025
v3.6.0# Features - Render type aliases properly rather than as an assignment (#414) # Misc - Drop support for Python 3.8 - Fix readthedocs build Low2/18/2025
v3.5.0# Features * Can exclude directories from being documented (#312) # Bugfixes * Fix exception when calling a function imported from a wildcard (#508) * Remove usage of astroid alpha builds (#512) # Misc * #502, #510, #511 * Fix formatting failure in tests Low2/10/2025
v3.4.0# Features * NamedTuples that have been created with functional syntax are documented as a class (#485) # Misc * #484, #490, #498 Low11/30/2024
v3.3.3# Bugfixes * Document packages and modules under a single "submodules" heading (#450) * Fix crash when `__init__` is assigned to (#488) * Fix documenting incorrect attributes from `__init__` (#497) # Misc * #426, #462, #491, #492Low10/26/2024
v3.3.2# Bugfixes * Fix types missing from documentation generated by autodoc-style directives. (#473)Low9/25/2024
v3.3.1# Bugfixes * Fix all class members missing when documenting a module with the same name as a standard library module. Members inherited from the standard library can also have their skip value overridden by autoapi-skip-member. (#478) # Misc * Updated all github actions. Low9/2/2024
v3.3.0# Features * Do not document members inherited from standard library classes (#467) # Bugfixes * Fix instance attributes not being documented by inherited-members (#477) # Misc * #425 * Fix the parser returning a dictionary instead of a list in the empty parse scenario * Rename testenvs to all follow similar naming style Low8/29/2024
v3.2.1# Bugfixes - Fix error or duplicates definitions when ``__init__`` assigns to a property (#466)Low7/23/2024
v3.2.0# Features - functools.cached_property is considered a property (#436) # Bugfixes - Gracefully handle no objects being rendered (#448) - Fix ignoring undocumented instance attributes (#451) # Deprecations and Removals - Removed ability for autoapi_template_dir to be relative to cwd. This was supposed to have been retired in v3 (#457) - Removed autoapi_include_summaries option. This was supposed to have been retired in v3 # Misc - #428, #449Low7/20/2024
v3.1.2# Bugfixes - Fix imported members being rendered in modules (#452)Low6/20/2024
v3.1.1# Bugfixes - Fix private subpackages causing orphan pages (#446)Low5/23/2024
v3.1.0# Features - Objects can render to their own page (#226) - Render PEP-695 type aliases as TypeAlias assignments. (#414) # Bugfixes - Values are always rendered for TypeAlises and PEP-695 type aliases. (#224) - Fix submodule with `__init__.pyi` documented as `__init__` instead of submodule name (#398) - Fix IndexError when a module docstring contains only a heading (#412) - Preserve strings inside Literal type annotations (#423) - Stopped using xrefs in page titles (#427) - Fix uLow5/20/2024
v3.1.0b0# Features - Objects can render to their own page (#226) - Render PEP-695 type aliases as TypeAlias assignments. (#414) # Bugfixes - Values are always rendered for TypeAlises and PEP-695 type aliases. (#224) - Fix submodule with __init__.pyi documented as __init__ instead of submodule name (#398) - Fix IndexError when a module docstring contains only a heading (#412) - Preserve strings inside Literal type annotations (#423) - Stopped using xrefs in page titles (#427) - Fix emittinLow4/12/2024
v3.1.0a4# Features - Objects can render to their own page (#226) # Bugfixes - Children not present in `__all__` are not rendered. (#226) - Fix emitting ignore event twice for methods. (#226) - Corrected documentation around `imported-members` to reflect that it applies only to objects imported into a package, not modules. (#226) - Fix path error on Windows. (#226) - Fix submodule with `__init__.pyi` documented as `__init__` instead of submodule name (#398) - Fix IndexError when a moduLow3/24/2024
v3.1.0a3# Bugfixes - Rename "single page output" to "own page output". (#226) - Also added tests for own page output. (#226) - Fix some inherited members always being rendered. (#226) - Own page members of an entity are linked to after the docstring of the parent entity. (#226) - Fix entities below the "class" level that have their own page from rendering incorrectly. (#226)Low2/16/2024
v3.1.0a2# Bugfixes - Fix members inherited from Exception always being displayed (#226) Low2/16/2024
v3.1.0a1This is the first alpha release of version 3.1.0. This is being released as a pre-release version to allow users to test and give feedback about the changes relating to the new feature of allowing objects to render on their own page. # Features - Objects can render to their own page (#226) # Misc - #388Low2/1/2024
v3.0.0# Bugfixes - Ensure `tooltip` is always a `str` - Replaced usage of deprecated sphinx.util.status_iterator (#391) # Deprecations and Removals - Removed support for documenting languages other than Python (#248) - Removed support for Python 3.7 # Misc - #389, #390, #392, #407Low9/30/2023

Dependencies & License Audit

Loading dependencies...

Similar Packages

pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2
django-tasksA backport of Django's built in Tasks framework0.12.0