Repolode
breathe-doc

breathe-doc/breathe

A Sphinx plugin that brings Doxygen-generated C/C++ API documentation into reStructuredText and Sphinx docs.

Stars
816
Forks
215
Open issues
220
Last commit
5 days ago

What is it?

Breathe bridges Doxygen and Sphinx. Doxygen parses source code and extracts a detailed model of its classes, functions and other symbols, while Sphinx produces polished long-form documentation. Breathe reads Doxygen's XML output and exposes it as Sphinx directives, so API reference pages can be written and styled alongside hand-written prose in the same documentation set.

The plugin is installed from PyPI with pip and requires Python 3.9+, Sphinx 7.2+, and Doxygen 1.9.2+. Its documentation includes examples covering the available directives, and the repository includes a test suite and a comparison script for checking documentation output across commits.

The project is maintained by a small group of contributors and is used by several large open-source codebases, including PyTorch, NumPy and Apache Arrow, to publish their C and C++ API references.

Key features

  • 01Renders Doxygen XML output as Sphinx directives for C, C++ and related symbols.
  • 02Lets API reference pages sit alongside hand-written reStructuredText content.
  • 03Installable from PyPI with pip.
  • 04Requires Python 3.9+, Sphinx 7.2+ and Doxygen 1.9.2+.
  • 05Includes a test suite and a script to compare documentation output between commits.

Use cases

  • Publishing a C or C++ library's API reference alongside its user guide in Sphinx.
  • Keeping API docs generated from source comments in sync with hand-written documentation.
  • Documenting embedded or systems code bases that already use Doxygen.

Quick start

  1. 1

    Install Breathe from PyPI

    pip install breathe

Things to know

  • Requires Doxygen 1.9.2+ and Sphinx 7.2+ installed separately.
  • License is not clearly specified in the metadata.

In collections

Topics

FAQ

What is breathe?
A Sphinx plugin that brings Doxygen-generated C/C++ API documentation into reStructuredText and Sphinx docs. Breathe bridges Doxygen and Sphinx. Doxygen parses source code and extracts a detailed model of its classes, functions and other symbols, while Sphinx produces polished long-form documentation. Breathe reads Doxygen's XML output and exposes it as Sphinx directives, so API reference pages can be written and styled alongside hand-written prose in the same documentation set.
Is breathe free to use? What license does it have?
breathe is open source under the Other license. Check the license terms before using it in commercial products.
Is breathe still maintained?
Actively maintained. The last commit to breathe was on Nov 1, 2026.
What can I use breathe for?
Publishing a C or C++ library's API reference alongside its user guide in Sphinx. Keeping API docs generated from source comments in sync with hand-written documentation. Documenting embedded or systems code bases that already use Doxygen.
How do I install breathe?
Install Breathe from PyPI: pip install breathe
Where can I get breathe?
The source code and installation instructions are on GitHub: https://github.com/breathe-doc/breathe

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects