pdoc
pdoc.dev
What it is
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.
Spec sheet
- Purpose
- pdoc automatically generates API documentation that follows a Python project's module hierarchy.Read 11 Oct 2026 · pdoc.dev
- Intended users
- The product is for Python project developers who want to generate API documentation from their code and docstrings.Read 4 Oct 2026 · pdoc.dev
- Integrations
- The documentation says pdoc can be integrated with almost any CMS or static site generator, and gives GitHub Pages as an example.Read 11 Oct 2026 · pdoc.dev
- License
- The project repository lists the MIT-0 license.Read 11 Oct 2026 · github.com
- Customization
- Users can customize pdoc's HTML templates.Read 11 Oct 2026 · pdoc.dev
- Docstring formats
- pdoc understands Markdown, numpydoc, and Google-style docstrings, with limited reStructuredText support.Read 4 Oct 2026 · pdoc.dev
- Docstrings
- pdoc understands numpydoc and Google-style docstrings.Read 11 Oct 2026 · pdoc.dev
- Dynamic analysis
- pdoc imports or executes Python modules while extracting docstrings.Read 4 Oct 2026 · pdoc.dev
- Library use
- pdoc provides a high-level interface and can also be used as a Python library.Read 11 Oct 2026 · pdoc.dev
- Limit
- pdoc supports HTML output only and recommends Sphinx for substantially more complex documentation needs.Read 11 Oct 2026 · pdoc.dev
- Live preview
- pdoc includes a web server with live reloading.Read 11 Oct 2026 · pdoc.dev
- Maintenance
- The repository says pdoc was originally created by Andrew Gallant and is currently maintained by Maximilian Hils.Read 11 Oct 2026 · github.com
- Output
- pdoc produces standalone HTML documentation files.Read 11 Oct 2026 · pdoc.dev
- Output limitation
- pdoc supports HTML output only.Read 4 Oct 2026 · pdoc.dev
- Python requirement
- The project states that pdoc is compatible with Python 3.10 and newer.Read 11 Oct 2026 · github.com
- Runtime behavior
- pdoc uses dynamic analysis, so it executes or imports the Python modules being documented.Read 11 Oct 2026 · pdoc.dev
- Scope
- The documentation identifies API documentation as pdoc's main use case and recommends Sphinx for substantially more complex documentation needs.Read 4 Oct 2026 · pdoc.dev
- Search
- Generated documentation search runs client-side and does not require third-party services.Read 4 Oct 2026 · pdoc.dev
- Setup
- pdoc says it requires no configuration for basic use.Read 11 Oct 2026 · pdoc.dev
- Type annotations
- pdoc has first-class support for Python type annotations and automatically links documented identifiers.Read 11 Oct 2026 · pdoc.dev
Strong points and limits
Strong points
- No configuration needed to get started
- Live preview reloads when source files change
- Supports Python type annotations
- Client-side search needs no third-party services
- Free and open source
Limits
- HTML is the only output format
- Imports or executes modules during documentation generation
- Limited reStructuredText support
- Sphinx recommended for substantially more complex documentation
Who it suits
It suits Python developers who want API documentation generated from code and docstrings with minimal setup. It is less suited to substantially more complex documentation projects, for which the project recommends Sphinx.
Verdict
pdoc offers a focused, free route to HTML API documentation from Python code, with live preview and customizable templates. Its narrow output format and dynamic module execution are important considerations before adopting it.
Where Specifiction places it
- API Documentation Tools#18 of 277.4