$npx skillfedfor your agent

exhale

Automatic C++ library API documentation generator using Doxygen, Sphinx, and

With conditionsPyPI SphinxReleased Jan 2024317.5K downloads / moBSD 3-Clause LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — exhale-0.3.7-py3-none-any.whl
v0.3.7 · released 2024-01-21 · Python >=3.8 · 5 runtime deps: breathe, Sphinx, beautifulsoup4, lxml, six

Yes, if you need C++ API documentation with Doxygen's hierarchies in Sphinx and your project is small to medium-sized. The low install friction, permissive license, and zero known vulnerabilities make it safe to try. However, dormant maintenance (last release 2024-01-21) and the documented limitation to small-to-medium projects are real constraints—verify compatibility with your Sphinx/Breathe versions and test on a realistic project before committing to it for large codebases.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Doxygen installed and on PATH; Sphinx >=4.3.2, Breathe >=4.33.1, and Python >=3.8.
  • Low friction: pure Python wheel with five runtime dependencies (Sphinx, Breathe, BeautifulSoup4, lxml, six).
  • Maintenance is dormant—last release 2024-01-21, no commits since 2024-08-09, and no recent activity, though the repository remains active and has 239 stars.

License · maintenance · safety

BSD 3-Clause License (permissive) — BSD 3-Clause (permissive) license allows commercial and private use with minimal restrictions. The package also vendors two third-party libraries (collapsibleLists under CC0 1.0 and bootstrap-treeview under Apache v2) with copies of their licenses included in the data folder.

last release 2024-01-21 (936 days) · last repo commit 2024-08-09 · 239 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 317,471 downloads/mo, #7,661 on PyPI

Verify before relying

pip install exhale

# In conf.py (Sphinx configuration):
extensions = ['exhale']
exhale_args = {
    'containmentFolder': './api',
    'rootFileName': 'library_root.rst',
    'rootFileTitle': 'Library API',
    'doxygenStripFromPath': '..',
    'exhaleExecutesDoxygen': True,
    'exhaleDoxygenStdin': 'INPUT = ../include\nFILE_PATTERNS = *.hpp'
}
  • Whether dormant maintenance (last release 2024-01-21, 936 days ago) affects compatibility with current Sphinx/Breathe versions.
  • Performance and scalability limits for projects larger than 'medium-sized' (documentation mentions small-to-medium projects work well).
  • Whether the vendored collapsibleLists and bootstrap-treeview libraries are kept in sync with upstream.
Same gist for agents: .md · .json

What it is and what it does

Exhale is a Sphinx extension that bridges Doxygen and Sphinx by automatically running Doxygen on your C++ source, parsing the generated XML with BeautifulSoup and lxml, and reconstructing Doxygen's class, file, and page hierarchies as reStructuredText documents. This allows you to publish C++ API documentation with Sphinx's styling and navigation while preserving the structural organization that Doxygen provides—something Breathe alone does not offer.

The package is designed for projects that want beautiful Sphinx-generated websites but also value Doxygen's hierarchical organization. It regenerates documentation on every build, keeping it automatically in sync with code changes. However, it requires more setup machinery than simpler alternatives like Breathe's autodoxygenindex directive or breathe-apidoc, and the documentation notes it works well on small-to-medium projects; larger projects may face performance or complexity challenges due to the large number of .rst files Exhale generates.

Use it for

  • Generate browsable C++ API docs with Sphinx styling and Doxygen's class/file hierarchies for a medium-sized library.
  • Maintain automatically synchronized API documentation that regenerates whenever source code changes.
  • Publish C++ reference docs alongside prose documentation in a unified Sphinx site.
  • Create tree-view navigation of C++ classes and files in RTD Theme or Bootstrap Theme Sphinx sites.
  • Avoid manual synchronization between Doxygen and Sphinx by automating the full pipeline.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need C++ API documentation with Doxygen's hierarchies in Sphinx and your project is small to medium-sized.

The low install friction, permissive license, and zero known vulnerabilities make it safe to try. However, dormant maintenance (last release 2024-01-21) and the documented limitation to small-to-medium projects are real constraints—verify compatibility with your Sphinx/Breathe versions and test on a realistic project before committing to it for large codebases.

Install

exhale on PyPI

Before you install

Low friction: pure Python wheel with five runtime dependencies (Sphinx, Breathe, BeautifulSoup4, lxml, six). Maintenance is dormant—last release 2024-01-21, no commits since 2024-08-09, and no recent activity, though the repository remains active and has 239 stars.

Requires Doxygen installed and on PATH; Sphinx >=4.3.2, Breathe >=4.33.1, and Python >=3.8.

License in practice

BSD 3-Clause (permissive) license allows commercial and private use with minimal restrictions. The package also vendors two third-party libraries (collapsibleLists under CC0 1.0 and bootstrap-treeview under Apache v2) with copies of their licenses included in the data folder.

Quickstart

pip install exhale

# In conf.py (Sphinx configuration):
extensions = ['exhale']
exhale_args = {
    'containmentFolder': './api',
    'rootFileName': 'library_root.rst',
    'rootFileTitle': 'Library API',
    'doxygenStripFromPath': '..',
    'exhaleExecutesDoxygen': True,
    'exhaleDoxygenStdin': 'INPUT = ../include\nFILE_PATTERNS = *.hpp'
}

Verify before relying

  • Whether dormant maintenance (last release 2024-01-21, 936 days ago) affects compatibility with current Sphinx/Breathe versions.
  • Performance and scalability limits for projects larger than 'medium-sized' (documentation mentions small-to-medium projects work well).
  • Whether the vendored collapsibleLists and bootstrap-treeview libraries are kept in sync with upstream.

Package facts

LicenseBSD 3-Clause License permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
5 packages
breatheSphinxbeautifulsoup4lxmlsix
MaintenanceDormant 936 days since the last release
Last repo commit
First released
Downloads317,471 / month, #7,661 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaFramework :: Sphinx :: ExtensionIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Documentation :: SphinxTopic :: Software Development :: Documentation

Evidence: exhale-0.3.7-py3-none-any.whl

Tags

Capabilities
C++ API documentation generatorDoxygen Sphinx integrationautomatic C++ docsBreathe Doxygen wrapperC++ class hierarchy documentationSphinx C++ extensionDoxygen XML to Sphinx
Topics
c++-documentationdoxygen-integrationsphinx-extension

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “Breathe Doxygen wrapper”

  • exhaleExhale automatically generates C++ API documentation by running…
  • breatheBreathe is a Sphinx plugin that renders Doxygen-generated…
  • pcppA pure Python implementation of a C99 preprocessor that can…

Give your agent the search over MCP, or paste the wish link into any chat.

More Sphinx packages

docstring-parser Worth it
PyPI · Python Modules · released Apr 2026

Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.

Install it if you need to programmatically read and extract structured data from Python docstrings.

MITpure Python · 3.8+
274.9Mdownloads / mo
Sphinx Worth it
PyPI · Software Development · released Dec 2025

Sphinx generates professional documentation from reStructuredText source files, producing HTML, PDF, EPUB, and other formats with automatic cross-references, code highlighting, and hierarchical navigation.

BSD-2-Clausepure Python · 3.12+
91.8Mdownloads / mo
sphinxcontrib-serializinghtml With conditions
PyPI · Utilities · released Jul 2024

A Sphinx extension that outputs documentation in serialized HTML formats (JSON and pickle) alongside standard HTML.

BSD-3-Clausepure Python · 3.9+dormant
30.5Mdownloads / mo
alabaster Worth it
PyPI · Documentation · released Jul 2024

Alabaster is a clean, responsive Sphinx theme for documentation that requires Python 3.10 or newer and Sphinx 6.2 or newer.

BSD-3-Clausepure Python · 3.10+dormant
30.4Mdownloads / mo
sphinxcontrib-htmlhelp With conditions
PyPI · Utilities · released Jul 2024

A Sphinx extension that generates HTML help files from reStructuredText documentation source.

BSD-3-Clausepure Python · 3.9+dormant
27.7Mdownloads / mo
sphinxcontrib-qthelp With conditions
PyPI · Utilities · released Jul 2024

A Sphinx extension that converts documentation source files into QtHelp format, enabling integration with Qt-based help systems and documentation viewers.

However, be aware that maintenance is dormant—if you rely on it long-term, monitor Sphinx compatibility and consider whether QtHelp remains the right format for your…

BSD-3-Clausepure Python · 3.9+dormant
27.6Mdownloads / mo

See also breathe · autodoc_pydantic · CppHeaderParser · autodocsumm · sphinx-autodoc2 · sphinxcontrib-applehelp · sphinx_design · sphinx_mdinclude · pydoctor