Doxygen vs pdoc
Doxygen
doxygen.nlpdoc
pdoc.devSide by side
| Figure | Doxygen | pdoc |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · API Documentation Tools | 8.0 (#9) | 7.4 (#18) |
| License | Doxygen is licensed under the GNU General Public License and is provided without express or implied warranty. | The project repository lists the MIT-0 license. |
| Purpose | Doxygen is a documentation generator that creates documentation from source-code comments and parses classes, functions and variables. | pdoc automatically generates API documentation that follows a Python project's module hierarchy. |
Plans
In their own words
Doxygen
Doxygen is a free documentation generator that turns source-code comments into reference material, parsing items such as classes, functions and variables. It supports C/C++, Lex, Java, Python, VHDL, PHP IDL, C#, Fortran, Objective-C 2.0 and some D sources. Output can be generated as HTML, PDF through LaTeX, Word through RTF or structured XML for external tools. Graphviz’s dot tool can add include-dependency, collaboration, call, directory-structure and class-hierarchy diagrams. Doxywizard provides a graphical interface for editing settings and running the generator on Windows, Linux and macOS; Doxygen also works on many Unix flavors. It supports HTML Help, docsets, Qt-Help and Eclipse Help, with more than 100 configurable options. The tool runs without registration and does not collect personal or usage data. It is self-hosted and licensed under the GNU General Public License, without express or implied warranty. Help is listed through Stack Overflow and the doxygen users mailing list; commercial feature and bug-fix support has limited capacity.
pdoc
pdoc generates API documentation from Python projects and organizes it around each project's module hierarchy. Its setup documentation says no configuration is needed to begin. The tool produces standalone HTML that can be exported to files, and a built-in web server refreshes the documentation when source files change. It supports Python type annotations and recognizes Markdown, numpydoc, and Google-style docstrings, with limited reStructuredText support. Developers can customize the generated HTML templates; search runs in the browser without third-party services. Deployment guidance covers GitHub Pages, and custom HTML fragments can be embedded in content management systems or static site generators. pdoc also offers a high-level interface and can be used as a Python library. It is free and open source, compatible with Python 3.10 and newer, and available for Linux, macOS, Windows, web, and self-hosted use. HTML is its only output format, and API documentation is its principal use case. Since pdoc imports or executes the Python modules while extracting docstrings, those modules are executed during documentation generation; Sphinx is recommended for substantially more complex documentation needs.