NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4755 most downloaded on PyPI
Sphinx API documentation generator
Last release 1 months ago
23 Aug 2026
Release timing varies
gaps range from 3 weeks to 8 months
Most releases are documented
notes for 42 of 47 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
52 releases · first in 2015
Preserve ellipsis literals when rendering type annotations.
Autodoc-style directives can access members excluded by autoapi_options
One column per quarter.
Fix deprecation warnings raised by astroid and sphinx
Update the supported versions of astroid. Fix the breaking change to Import and pass in the AstroidManager to the AstroidBuilder
Render type aliases properly rather than as an assignment
Can exclude directories from being documented
NamedTuples that have been created with functional syntax are documented as a class
Document packages and modules under a single "submodules" heading
Fix types missing from documentation generated by autodoc-style directives.
Fix all class members missing when documenting a module with the same name as a standard library module. Members inherited from the standard library c
Do not document members inherited from standard library classes
Fix error or duplicates definitions when __init__ assigns to a property
__init__ assigns to a property (#466)Fix error or duplicates when __init__ assigns to a property (#466)
functools.cached_property is considered a property
Fix imported members being rendered in modules
Fix private subpackages causing orphan pages
Objects can render to their own page
__init__.pyi documented as __init__ instead of submodule name (#398)Objects can render to their own page
Rename "single page output" to "own page output".
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)
Fix members inherited from Exception always being displayed
This 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 c
This 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.
Replaced usage of deprecated sphinx.util.status_iterator
tooltip is always a strEnsure tooltip is always a str. (str-tooltip)
Replaced usage of deprecated sphinx.util.status_iterator (#391)
Removed support for documenting languages other than Python (#248)
Removed support for Python 3.7
#389, #390, #392, #407
Nothing published for this version
Fix "document isn't included" warning when using autoapi_add_toctree_entry
Fix "document isn't included" warning when using autoapi_add_toctree_entry (#319)
Types used in PEP-604 union syntax can be linked with intersphinx (#366)
Fix class overrides not rendering correctly.
Fix separated type comments for arguments not merging correctly in Python 3.7
Fixed viewcode being unable to find the source code for imported objects
Made it clearer how to customise what objects AutoAPI will document. (#339)
#375, #382
Deprecations and Removals ^^^^^^^^^^^^^^^^^^^^^^^^^
Support for documenting languages other than Python is deprecated. (#248)
Removed the option to have autoapi generate toctree entries for domain objects. Domain objects are now added to the toctree by Sphinx. Dropped support for sphinx < 5.2.0. (#369)
Added basic type checking.
Integrated towncrier into the release workflow.
Can turn off the addition of documented objects to the TOC tree.
Can turn off the addition of documented objects to the TOC tree.
Added support for Python 3.11.
#330 <https://github.com/readthedocs/sphinx-autoapi/issues/330>: (Python) Render tuple values as tuples, not lists.
#341 <https://github.com/readthedocs/sphinx-autoapi/issues/341>: (Python) Fix module level assignments to class attributes being documented as module level attributes.
(Python) Fix "bysource" sort order showing items in alphabetical order.
(Python) Use the correct directives for a variable type and value.
Removed some autogenerated test data from the repository.
Breaking Changes ^^^^^^^^^^^^^^^^
Dropped support for Sphinx <4.
#352 <https://github.com/readthedocs/sphinx-autoapi/issues/352>: (Python) Properties are rendered with the property directive, fixing support for Sphinx 5.2. A new PythonPythonMapper object (PythonProperty) has been created to support this change. This object can be passed to templates, filters, and hooks. A new property.rst template has also been created to support this change.
Use https links where possible in documentation.
Pass correct argument types to status_iterator.
Breaking Changes ^^^^^^^^^^^^^^^^
Dropped support for Python 3.6.
Added support for Python 3.10.
#222 <https://github.com/readthedocs/sphinx-autoapi/issues/222>: Marked extension as parallel read safe.
#324 <https://github.com/readthedocs/sphinx-autoapi/issues/324>: (Python) Fail elegantly when no source files are found.
(Python) Stop calling autodoc-process-docstring when docstring is empty. Works around https://github.com/sphinx-doc/sphinx/issues/10701.
#318 <https://github.com/readthedocs/sphinx-autoapi/issues/318>: (Python) Fixed misaligned argument types on methods/classmethods when using type comments.
#278 <https://github.com/readthedocs/sphinx-autoapi/issues/278>: (Python) Limit signatures to 60 characters in summaries.
Fix keyerror when using markdown sources.
#328 <https://github.com/readthedocs/sphinx-autoapi/issues/328>: (Python) Fix kw-only marker getting ignored if first in the signature.
Fixed tests in Sphinx 5.
Fixed many typos throughout the documentation.
Bug Fixes ^^^^^^^^^ - #301 : (Python) Fixed compatibility with astroid 2.7+.
#301 <https://github.com/readthedocs/sphinx-autoapi/issues/301>: (Python) Fixed compatibility with astroid 2.7+.
Trivial/Internal Changes ^^^^^^^^^^^^^^^^^^^^^^^^
#299 <https://github.com/readthedocs/sphinx-autoapi/issues/299>: (Python) Fixed incorrect indentation in generated documentation when a class with no constructor has a summary line spanning multiple lines.
Fixed broken link to Jinja objects.inv.
Fixed error when parsing a class with no constructor.
Fixed error when parsing a class with no constructor.
#293 <https://github.com/readthedocs/sphinx-autoapi/issues/293>: Fixed failure to build out of source conf.py files. Configuration values using relative values are now relative to the source directory instead of relative to the conf.py file.
#289 <https://github.com/readthedocs/sphinx-autoapi/issues/289>: (Python) Fixed AttributeError using inheritance diagrams on a module with plain imports.
#292 <https://github.com/readthedocs/sphinx-autoapi/issues/292>: Explicitly use the domain for generated directives.
Bug Fixes ^^^^^^^^^ - #273 : Fixed type annotations being shown for only a single module.
#273 <https://github.com/readthedocs/sphinx-autoapi/issues/273>: Fixed type annotations being shown for only a single module.
Fixed DeprecationWarning for invalid escape sequence \s in tests.
Expandable value for multi-line string attributes.
#265 <https://github.com/readthedocs/sphinx-autoapi/issues/265>: Can resolve the qualified paths of parameters to generics.
#275 <https://github.com/readthedocs/sphinx-autoapi/issues/275>: Warnings have been categorised and can be suppressed through suppress_warnings.
#280 <https://github.com/readthedocs/sphinx-autoapi/issues/280>: Data attributes are documented in module summaries.
#273 <https://github.com/readthedocs/sphinx-autoapi/issues/273>: Fixed setting autodoc_typehints to none or description not turning off signature type hints. autodoc_typehints integration is considered experimental until the extension properly supports overload functions.
#261 <https://github.com/readthedocs/sphinx-autoapi/issues/261>: Fixed data annotations causing pickle or deepcopy errors.
Documentation can be generated when multiple source directories share a single conf.py file.
Fixed DeprecationWarning for invalid escape sequence \s in tests.
Fixed FutureWarning for Node.traverse() becoming an iterator instead of list.
New example implementation of autoapi-skip-member Sphinx event.
Can run tests with tox 4.
Updated packaging to use PEP-517.
All unittest style tests have been converted to pytest style tests.
An exception raised by docfx is raised directly instead of wrapping it.
Started using Github Actions for continuous integration.
The fully qualified path of objects are included type annotations so that Sphinx can link to them.
The fully qualified path of objects are included type annotations so that Sphinx can link to them.
Added support for Sphinx 3.3. and 3.4.
#240 <https://github.com/readthedocs/sphinx-autoapi/issues/240>: The docstrings of object.__init__, object.__new__, type.__init__, and type.__new__ are not inherited.
#260 <https://github.com/readthedocs/sphinx-autoapi/issues/260>: The overload signatures of __init__ methods are documented.
Breaking Changes ^^^^^^^^^^^^^^^^
Dropped support for Python 2 and Sphinx 1.x/2.x. Python 2 source code can still be parsed.
(Python) Added support for using type hints as parameter types and return types via the sphinx.ext.autodoc.typehints extension.
#191 <https://github.com/readthedocs/sphinx-autoapi/issues/191>: Basic incremental build support is enabled autoapi_keep_files is enabled. Providing none of the source files have changed, AutoAPI will skip parsing the source code and regenerating the API documentation.
#200 <https://github.com/readthedocs/sphinx-autoapi/issues/200>: Can pass a callback that edits the Jinja Environment object before template rendering begins. This allows custom filters, tests, and globals to be added to the environment.
Added support for Python 3.9.
#246 <https://github.com/readthedocs/sphinx-autoapi/issues/246>: (Python) Fixed TypeError when parsing a class that inherits from type.
#244 <https://github.com/readthedocs/sphinx-autoapi/issues/244>: Fixed an unnecessary deprecation warning being raised when running sphinx-build from the same directory as conf.py.
(Python) Fixed properties documented by Autodoc directives getting documented as methods.
Fixed AttributeError when generating an inheritance diagram for a module.
Fixed AttributeError when generating an inheritance diagram for a module.
This will be the last minor version to support Python 2 and Sphinx 1.x/2.x.
This will be the last minor version to support Python 2 and Sphinx 1.x/2.x.
#222 <https://github.com/readthedocs/sphinx-autoapi/issues/222>: Declare the extension as parallel unsafe.
#217 <https://github.com/readthedocs/sphinx-autoapi/issues/217>: (Python) All overload signatures are documented.
#243 <https://github.com/readthedocs/sphinx-autoapi/issues/243>: Files are found in order of preference according to autoapi_file_patterns.
Added support for Sphinx 3.2.
#219 <https://github.com/readthedocs/sphinx-autoapi/issues/219>: (Python) Fixed return types not showing for methods.
(Python) Fixed incorrect formatting of properties on generated method directives.
Fixed every toctree entry getting added as a new list.
#234 <https://github.com/readthedocs/sphinx-autoapi/issues/234>: Fixed only some entries getting added to the toctree.
autoapisummary directive inherits from autosummary for future stability.
Trivial/Internal Changes ^^^^^^^^^^^^^^^^^^^^^^^^
#197 <https://github.com/readthedocs/sphinx-autoapi/issues/197>: Added autoapi.__version__ and autoapi.__version_info__ attributes for accessing version information.
#201 <https://github.com/readthedocs/sphinx-autoapi/issues/201>: (Python) Added the autoapi_member_order option to allow the order that members are documented to be configurable.
#203 <https://github.com/readthedocs/sphinx-autoapi/issues/203>: (Python) A class without a docstring inherits one from its parent. A methods without a docstring inherits one from the method that it overrides.
#204 <https://github.com/readthedocs/sphinx-autoapi/issues/204>: (Python) Added the imported-members AutoAPI option to be able to enable or disable documenting objects imported from the same top-level package or module without needing to override templates.
#198 <https://github.com/readthedocs/sphinx-autoapi/issues/198>: Documentation describes the required layout for template override directories.
#195 <https://github.com/readthedocs/sphinx-autoapi/issues/195>: (Python) Fixed incorrect formatting when show-inheritance-diagram and private-members are turned on.
#193 <https://github.com/readthedocs/sphinx-autoapi/issues/193> and #208 <https://github.com/readthedocs/sphinx-autoapi/issues/208>: (Python) Inheritance diagrams can follow imports to find classes to document.
#213 <https://github.com/readthedocs/sphinx-autoapi/issues/213>: (Python) Fixed module summary never showing.
black shows diffs by default
#207 <https://github.com/readthedocs/sphinx-autoapi/issues/207>: Fixed a typo in the code of the golang tutorial.
Breaking Changes ^^^^^^^^^^^^^^^^
Dropped support for Python 3.4 and 3.5.
#151 <https://github.com/readthedocs/sphinx-autoapi/issues/151>: (Python) Added the autoapi_python_use_implicit_namespaces option to allow AutoAPI to search for implicit namespace packages.
Added support for Sphinx 2.2 and 2.3.
Added support for Python 3.8.
#140 <https://github.com/readthedocs/sphinx-autoapi/issues/140>: (Python) Added the autoapi-inheritance-diagram directive to create inheritance diagrams without importing modules. Enable the show-inheritance-diagram AutoAPI option to turn the diagrams on in generated documentation.
#183 <https://github.com/readthedocs/sphinx-autoapi/issues/183>: (Python) Added the show-inheritance AutoAPI option to be able to enable or disable the display of a list of base classes in generated documentation about a class. Added the inherited-members AutoAPI option to be able to enable or disable the display of members inherited from a base class in generated documentation about a class.
The autoapi_include_summaries option has been replaced with the show-module-summary AutoAPI option. autoapi_include_summaries will stop working in the next major version.
Added support for Sphinx 2.4 and 3.0
#186 <https://github.com/readthedocs/sphinx-autoapi/issues/186>: (Python) Fixed an exception when there are too many argument type annotations in a type comment.
(Python) args and kwargs type annotations can be read from the function type comment.
Tests are now included in the sdist.
(Python) "Invalid desc node" warning no longer raised for autodoc-style directives.
(Python) "Invalid desc node" warning no longer raised for autodoc-style directives.
(Python) Can read per argument type comments with astroid > 2.2.5.
(Python) Can read per argument type comments with astroid > 2.2.5.
(Python) Added autoapidecorator directive with Sphinx >= 2.0.
(Python) Can use autodoc_docstring_signature with Autodoc-style directives.
(Python) Added autoapi-skip-member event.
Made it more clear which file causes an error, when an error occurs.
Sphinx language domains are now optional dependencies.
(Python) Forward reference annotations are no longer rendered as strings.
(Python) autoapifunction directive no longer documents async functions as a normal function.
(Python) Fixed unicode decode errors in some Python 3 situations.
Documentation more accurately describes what configuration accepts relative paths and where they are relative to.
(Python) Can override ignoring local imports in modules by using __all__.
(Python) Can override ignoring local imports in modules by using __all__.
(Python) Fixed incorrect formatting of functions and methods.
Added support for Sphinx 2.1.
Fixed some dead links in the README.
Fixed lint virtualenv.
Toned down the API reference index page.
#100 <https://github.com/readthedocs/sphinx-autoapi/issues/100>: (Python) Added support for documenting C extensions via .pyi stub files.
Added support for Sphinx 2.0.
Toned down the API reference index page.
(Go) Patterns configured in autoapi_ignore are passed to godocjson.
New and improved documentation.
No longer need to set autoapi_add_toctree_entry to False when autoapi_generate_api_docs is False.
#139 <https://github.com/readthedocs/sphinx-autoapi/issues/139> Added support for basic type annotations in documentation generation and autodoc-style directives.
#159 <https://github.com/readthedocs/sphinx-autoapi/issues/159>: (Python) Fixed UnicodeDecodeError on Python 2 when a documenting an attribute that contains binary data.
(Python) Fixed private submodules displaying when private-members is turned off.
Templates no longer produce excessive whitespace.
(Python) Fixed an error when giving an invalid object to an autodoc-style directive.
No longer pin the version of black.
Added missing test environments to travis.
(Python) Fixed a false warning when importing a local module.
(Python) Fixed a false warning when importing a local module.
Breaking Changes ^^^^^^^^^^^^^^^^
Dropped support for Sphinx<1.6.
Added debug messages about what AutoAPI is doing.
#156 <https://github.com/readthedocs/sphinx-autoapi/issues/156>: (Python) Made import resolution more stable.
Also capable of giving more detailed warnings.
Code is now formatted using black.
Removed references to old css and js files.
Replaced usage of deprecated Sphinx features.
Reorganised tests to be more pytest-like.
(Python) Fixed some import chains failing to resolve depending on resolution order.
(Python) Fixed some import chains failing to resolve depending on resolution order.
(Python) Fixed unicode decoding on Python 3.7.
(Python) Fixed unicode decoding on Python 3.7.
(Python) Fixed autodoc directives not documenting anything in submodules or subpackages.
(Python) Fixed error parsing files with unicode docstrings.
(Python) Fixed error when documenting something that's imported in more than one place.
(Python) Added Python 3.7 testing.
Started testing against stable version of Sphinx 1.8.
Fixed all "no title" warnings during tests.
Breaking Changes ^^^^^^^^^^^^^^^^
#152 <https://github.com/readthedocs/sphinx-autoapi/issues/152>: Removed the autoapi_add_api_root_toctree option.
This has been replaced with the autoapi_add_toctree_entry option.
#25 <https://github.com/readthedocs/sphinx-autoapi/issues/25>: Removed distutils support.
Removed redundant package_dir and package_data options.
(Python) Added viewcode support for imported members.
#146 <https://github.com/readthedocs/sphinx-autoapi/issues/146>: (Python) No longer documents __init__() attributes without a docstring.
#153 <https://github.com/readthedocs/sphinx-autoapi/issues/153>: (Python) Can document a public python API.
#111 <https://github.com/readthedocs/sphinx-autoapi/issues/111>: (Python) Can opt to write manual documentation through new autodoc-style directives.
#152 <https://github.com/readthedocs/sphinx-autoapi/issues/152>: Made it easier to remove default index page.
Also removed autoapi_add_api_root_toctree config option
#150 <https://github.com/readthedocs/sphinx-autoapi/issues/150>: (Python) private-members also controls private subpackages and submodules.
(Python) Added support for static and class methods.
(Python) Methods include self in their arguments.
This more closely matches autodoc behaviour.
#145 <https://github.com/readthedocs/sphinx-autoapi/issues/145>: (Python) Added support for detecting Python exceptions.
(Python) Can control how __init__ docstring is displayed.
(Python) Added support for viewcode.
(Python) Source files no longer need to be in sys.path.
(Python) Fixed linking to builtin bases.
(Python) Fixed properties being documented more than once when set in __init__().
(Python) Fixed nested classes not getting displayed.
#148 <https://github.com/readthedocs/sphinx-autoapi/issues/148>: (Python) Fixed astroid 2.0 compatibility.
(Python) Fixed filtered classes and attributes getting displayed.
(Python) Fixed incorrect display of long lists.
#125 <https://github.com/readthedocs/sphinx-autoapi/issues/125>: (Javascript) Fixed running incorrect jsdoc command on Windows.
#125 <https://github.com/readthedocs/sphinx-autoapi/issues/125>: (Python) Support specifying package directories in autoapi_dirs.
Added Sphinx 1.7 and 1.8.0b1 testing.
#120 <https://github.com/readthedocs/sphinx-autoapi/issues/120>: Updated documentation to remove outdated references.
Removed old testing dependencies.
#143 <https://github.com/readthedocs/sphinx-autoapi/issues/143>: Removed unnecessary wheel dependency.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →