pdoc generates API documentation from Python modules, docstrings, and type annotations. Its output follows the project’s module hierarchy, providing a reference for packages, classes, functions, and variables.
A built-in web server previews documentation during development, while HTML export produces files suitable for publishing on a static web host.
This is free and open source software.
Key Features
- Generates documentation directly from Python projects with minimal initial configuration.
- Interprets Markdown in docstrings, including formatted text, links, lists, and code examples.
- Understands NumPy-style and Google-style docstrings for documenting parameters, return values, and other details.
- Displays type annotations and resolves forward references expressed as strings.
- Automatically links recognized identifiers to their corresponding documentation.
- Extracts variable documentation and annotations, including instance attributes declared in constructors.
- Inherits documentation and type annotations for class members where appropriate.
- Uses module exports and visibility controls to determine which objects appear in the documentation.
- Allows selected submodules to be excluded and documented items to be reordered.
- Provides a development server with automatic reloading as source files change.
- Exports self-contained HTML documentation without requiring pdoc on the hosting server.
- Supports mathematical notation, Mermaid diagrams, and included Markdown files.
- Offers customizable Jinja2 templates, project logos, and documentation title pages.
- Provides a Python API for integrating documentation generation into other tools.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/mitmproxy/pdoc
Support:
Developer: Maximilian Hils and contributors
License: MIT No Attribution License
pdoc is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Documentation Generators | |
|---|---|
| JSDoc | API documentation generator for JavaScript |
| Javadoc | Generate API documentation in HTML format |
| Sphinx | Create intelligent and beautiful documentation for Python projects |
| phpDocumentor | Complete documentation solution for PHP |
| Doxygen | Documentation system for C, C++, Java, Python and other languages |
| Docusaurus | Build, deploy and maintain documentation websites |
| mdBook | Create modern online books from Markdown files |
| YARD | Ruby documentation tool |
| Starlight | Documentation website framework |
| Docco | Literate-programming-style documentation generator |
| Natural Docs | Documentation generator that supports 21 different languages |
| Quarto | Scientific and technical publishing system |
| Antora | Modular documentation site generator |
| Crycco | Quick and dirty documentation generator |
| ROBODoc | Documentation tool similar to Javadoc |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.