Breathe is a Sphinx plugin providing beautifully integrated Doxygen output in your user-facing documentation. It allows you to combine Doxygen's excellent technical understanding of your code base with the superb long form documentation output of the Sphinx system.
The project works as a bridge between Doxygen's XML output and Sphinx's reStructuredText-based API. As a user, you run Doxygen in a manner configured to generated XML files and then you include Breathe-specific reStructuredText directives in your Sphinx documents that are used to reference data from the XML. When running your Sphinx build, the XML is read and processed into clean, clear, easy to read and well integrated technical documentation in your Sphinx build output.
We are the organisation that supports and develops the Breathe project.
Simple setup - one doxygen config value, one Sphinx config value and one directive and you’ll be on your way.
High and low level directives - reference the whole project, just a class or just a function with different directives.
Support for multiple doxygen projects - set it up to be aware of different projects and reference them by name or path for each directive.
Allows embedded reStructuredText in doxygen markup - some extra doxygen aliases allow you to add
\endrstblocks to your comments and have the contents interpreted as reStructuredText.
Support for Sphinx domains - Link to functions in the breathe output with a standard Sphinx domain reference.
The Breathe source code is hosted on GitHub.
The Breathe documentation can be found on Read the Docs.
If you benefit from using Breathe as a company or an individual, you can financially support the Breathe project with recurring or one off contributions via Open Collective.
Through sponsorship, you can support the maintainers in the important work of adding new features, implementing performance improvements and keeping up to date with changes in the evolving Sphinx API.