API documentation generator for Python projects
Pdoc is a software package for generating API documentation for Python programming language. Built as a successor to Epydoc, Pdoc uses introspection to extract documentation from source code docstrings and allows programmers โ€ฆ Wikipedia
Factsheet
Original author Andrew Gallant
Developer Mitmproxy Project
Release August 9, 2013; 13 years ago
Factsheet
Original author Andrew Gallant
Developer Mitmproxy Project
Release August 9, 2013; 13 years ago
๐ŸŒ
Pdoc
pdoc.dev
pdoc โ€“ Generate API Documentation for Python Projects
pdoc - pdoc is a simple tool to auto-generate API documentation for Python libraries. It uses your existing docstrings and requires no configuration. A lightweight alternative to Sphinx!
Rating: 5 โ€‹
๐ŸŒ
PyPI
pypi.org โ€บ project โ€บ pdoc
pdoc ยท PyPI
pdoc's main feature is a focus on simplicity: pdoc aims to do one thing and do it well. Documentation is plain Markdown. First-class support for type annotations and all other modern Python 3 features.
๐ŸŒ
GitHub
github.com โ€บ pdoc3 โ€บ pdoc
GitHub - pdoc3/pdoc: ๐Ÿ โžก๏ธ ๐Ÿ“œ Auto-generate API docs for Python projects
Auto-generate API documentation for Python 3+ projects. ... Pdoc will accept a Python module file, package directory or an import path.
Author: pdoc3
๐ŸŒ
Pdoc3
pdoc3.github.io โ€บ pdoc โ€บ doc โ€บ pdoc
pdoc API documentation
Python package `pdoc` provides types, functions, and a command-line interface for accessing public documentation of Python modules, and for presenting โ€ฆ
๐ŸŒ
Hacker News
news.ycombinator.com โ€บ item
Pdoc โ€“ Generate API documentation for Python projects | Hacker News
October 8, 2025 - However, when they start to grow, MkDocs and the Material for MkDocs theme make the most sense โ€” theyโ€™re easy to install and deploy, and they offer a ton of features for writing engaging documentation ยท Example here: https://quarkslab.github.io/quokka/reference/python/executab
๐ŸŒ
Wikipedia
en.wikipedia.org โ€บ wiki โ€บ Pdoc
Pdoc - Wikipedia
May 10, 2025 - Pdoc is a software package for generating API documentation for Python programming language. Built as a successor to Epydoc, Pdoc uses introspection to extract documentation from source code docstrings and allows programmers to generate HTML documentation for chosen Python modules.
Top answer
1 of 2
3

Project Origins

From the CHANGELOG files, pdoc and pdoc3 appear to have diverged between release 0.3.1 (2014-12-02) and the subsequent release:

  • pdoc3 0.5.0 (2019-01-10). This release is relicensed as AGPL-3.0 and is a "Major refactoring, [adding] Python 3 compatibility."
  • pdoc 1.0.0 (2021-01-19), with an undated 0.3.2 bugfix release before that. The 1.0 release notes indicate that it's a major rewrite, dropping Python 2 support and "is now maintained by @mhils and the mitmproxy team." (Some further information and discussion is available on issue #203 pdoc is back!.

From this Python Wiki edit, it appears that pdoc was (and still is) the original project, and the pdoc3 maintainer forked it. (It's not clear who made that change, but it deleted all reference to the original project, which strikes me as a possible warning sign about the pdoc3 community. For more on this, see below.)

Technical Differences

Here are some differences between pdoc and pdoc3 that I've discovered. This is just random stuff I've picked up along the way while doing research; the list is in no way comprehensive, and some of it may not even be fully correct. (Corrections welcome; just edit this answer.)

  • pdoc appears to have more maintenance effort devoted towards it, given the greater frequency of commits. This is not necessarily meaningful in any way; take it with a huge grain of salt.

  • pdoc3 supports the additional #: comment syntax for docstrings.

  • pdoc supports adding @private (v14.0.0) and @public (v14.4.0) annotations to method docstrings to suppress/enforce documentation generation (the latter for e.g. methods whose name starts with an underscore).

  • pdoc3 supports using __pdoc__ to override docstrings. This was removed from pdoc in the 1.0.0 release (2021-01-19) because it "is rarely required."

  • pdoc3 can generate both PDF and HTML documentation; pdoc generates only HTML.

Community Controversies

The pdoc README has a section pdoc vs. pdoc3 claiming that pdoc3 "falsely assumes [the pdoc] name," mentioning the deletion of the original pdoc from the Python wiki, and giving other indications of some antagonism in the pdoc3 community. There's further discussion in various PRs, including pdoc#203, pdoc3#346, and [pdoc3#377]; particularly demonstrative are comments such as [1], [2] and [3].

2 of 2
-1

The key difference between pdoc and pdoc3 is in their development and functionality. pdoc was the original tool for generating Python documentation, but its development has stopped, making it outdated for modern projects. In contrast, pdoc3 is an actively maintained fork of pdoc that brings several improvements, like better support for Python 3 features (including type hints and async functions), improved Markdown rendering, customizable templates, and a live-preview server for documentation. While pdoc is no longer widely used, pdoc3 has become a more reliable and feature-packed option for creating Python project documentation.

Find elsewhere
๐ŸŒ
ArjanCodes
arjancodes.com โ€บ blog โ€บ generate-python-docs-instantly-with-pdoc
Python Doc Generation Made Easy With PDoc | ArjanCodes
July 8, 2024 - PDoc is a straightforward and lightweight tool designed to generate HTML documentation for Python projects. It analyses your codebase, extracts docstrings, and creates attractive, readable documentation pages.
๐ŸŒ
Medium
lucacorbucci.medium.com โ€บ how-to-generate-a-documentation-for-python-code-using-pdoc-60f681d14d6e
How to generate a documentation for Python project using pdoc | by Luca | Medium
October 2, 2019 - Pdoc is a software that can be used to generate a documentation for Python projects, it creates a beautiful html page to show all the informations about classes and it is also easy to use.
๐ŸŒ
Pdoc3
pdoc3.github.io โ€บ pdoc
pdoc โ€“ Auto-generate API documentation for Python projects
Enter pdoc, the perfect documentation generator for small-to-medium-sized, tidy Python projects. It generates documentation simply from your project's already-existing public modules' and objects' docstrings, like sphinx-apidoc or ...
๐ŸŒ
Stack Overflow
stackoverflow.com โ€บ questions โ€บ 78691539 โ€บ prevent-pdoc-from-leaking-environment-variables-of-pydantic-settings
python - Prevent pdoc from leaking environment variables of pydantic-settings - Stack Overflow
The only difference is that the label is capitalised and is imported by other modules (from my_app.config import SETTINGS). This works quite well. However, when I use pdoc to generate documentation it will use __repr__/__str__ to document the value of SETTINGS:
๐ŸŒ
Stack Overflow
stackoverflow.com โ€บ questions โ€บ 78443705 โ€บ portable-launcher-for-pdoc
python - Portable launcher for pdoc - Stack Overflow
The best I could come up with was a Python script that generates a batch file. The user needs to run this script in a Python interpreter to "install" the batch file. import sys pdoc_path = sys.executable.replace( 'python.exe', 'scripts/pdoc.exe') with open('pdocgen.bat', 'w') as fid: fid.write(f'"{pdoc_path}" my_package\n')
๐ŸŒ
GitHub
github.com โ€บ pdoc3 โ€บ pdoc โ€บ blob โ€บ master โ€บ pdoc โ€บ documentation.md
pdoc/pdoc/documentation.md at master ยท pdoc3/pdoc
Documentation is extracted from live objects' docstrings using Python's __doc__ attribute1. Documentation for variables is found by examining objects' abstract syntax trees. pdoc only extracts public API documentation.2 Code objects (modules, variables, functions, classes, methods) are considered public in the modules where they are defined (vs.
Author: pdoc3
๐ŸŒ
GitHub
github.com โ€บ pdoc3 โ€บ pdoc โ€บ blob โ€บ master โ€บ README.md
pdoc/README.md at master ยท pdoc3/pdoc
Auto-generate API documentation for Python 3+ projects. ... Pdoc will accept a Python module file, package directory or an import path.
Author: pdoc3