EVERYTHING XIAOMI
Get listed

PyDoctor

PyDoctor is a free standalone tool that analyzes Python source code statically and generates API documentation as HTML files.

Place
#25 of 37
Score
5.8
PyDoctor's website

What PyDoctor is

PyDoctor is a free standalone tool that analyzes Python source code statically and generates API documentation as HTML files. The generated pages can be served without additional server-side support, and an Intersphinx inventory supports links with Sphinx documentation. PyDoctor creates a page for each class, module, and package, presenting information in tables. It supports epytext, reStructuredText, Google style, NumPy style, and plaintext docstrings. Its analysis resolves imports and calculates inheritance hierarchies, and it recognizes zope.interface declarations to show which classes implement interfaces and vice versa. Configuration can be set in pydoctor.ini, pyproject.toml, or setup.cfg; command-line options include themes, custom HTML templates, and selection of API objects to document. Installation instructions cover pip through PyPI and apt on Debian derivatives. The project supports Linux, macOS, and Windows, and its documentation describes it as a fit for libraries with some internal subclassing. One limitation is that computed values need type annotations for their types to appear in the generated documentation.

Good

  • Generates static HTML without server-side support.
  • Supports five docstring formats.
  • Resolves imports and calculates inheritance hierarchies.
  • Recognizes zope.interface declarations.
  • Runs on Linux, macOS, and Windows.

Watch out

  • Computed values need annotations for their types to appear.
  • Python 3.8 support was dropped in version 25.4.0.
  • Development remains primarily driven by Twisted project needs.

Who it suits

PyDoctor suits Python library maintainers who want static API pages, especially for libraries with some internal subclassing. It can also suit projects that need Sphinx cross-links or CI/CD integration.

Verdict

PyDoctor provides structured API pages for Python code, with inheritance and interface information plus options for customization and Sphinx linking. Consider its computed-value annotation limit and the project’s stated focus on Twisted-related needs when deciding whether it fits your documentation workflow.

The facts

Each one read from PyDoctor's own pages, with the date it was checked.

What it does

API pages
Pydoctor generates a page for each class, module, and package, and presents information using tables.checked 5 Oct 2026
Best fit
The FAQ describes PyDoctor as probably best suited to documenting libraries with some degree of internal subclassing.checked 5 Oct 2026
Configuration
Pydoctor supports configuration through pydoctor.ini, pyproject.toml, and setup.cfg files.checked 5 Oct 2026
Customization
The CLI provides options for themes, custom HTML templates, and which API objects to document.checked 5 Oct 2026
Docstring formats
Supported docstring formats include epytext, reStructuredText, Google style, NumPy style, and plaintext.checked 5 Oct 2026
Generated output
PyDoctor generates static HTML pages that need no additional server-side support.checked 5 Oct 2026
Imports and inheritance
It resolves imports and computes inheritance hierarchies.checked 5 Oct 2026
Inheritance and imports
The tool works to resolve imports and calculate inheritance hierarchies.checked 5 Oct 2026
Installation
The documentation gives installation instructions through PyPI with pip and on Debian derivatives with apt.checked 5 Oct 2026
Intended users
The documentation says pydoctor is probably best suited to documenting libraries with some degree of internal subclassing.checked 5 Oct 2026
Interface support
It supports zope.interface and can show which classes implement which interfaces, and vice versa.checked 5 Oct 2026
Maintainer context
The FAQ says PyDoctor was written for the Twisted project, whose needs remain the main driving force for its development.checked 5 Oct 2026
Notable limitation
Pydoctor cannot infer types for computed values, so those need annotations for the type to appear in the generated documentation.checked 5 Oct 2026
Notable Python version limit
The project changelog says Python 3.8 support was dropped in version 25.4.0.checked 5 Oct 2026
Output
It generates static HTML files that can be served without extra server-side support.checked 5 Oct 2026
Output organization
PyDoctor generates one page per class, module, and package, and presents information using tables.checked 5 Oct 2026
Project background
Pydoctor was written primarily to replace epydoc for the Twisted project, and Twisted remains a main driver of its development.checked 5 Oct 2026
Publishing
The documentation gives examples for publishing generated API docs with GitHub Pages and Read the Docs.checked 5 Oct 2026
Purpose
PyDoctor is a standalone API documentation generator that uses static analysis of Python source code.checked 5 Oct 2026
Security policy
The project says it follows Twisted’s security policy and directs security reports to GitHub Security Advisories.checked 5 Oct 2026
Sphinx integration
The FAQ says Sphinx narrative documentation can link to API documentation formatted by PyDoctor.checked 5 Oct 2026
Supported systems
The project changelog says it runs on Windows without requiring administrator privileges and describes testing supported platform combinations including Linux, macOS, and Windows.checked 5 Oct 2026
Zope interfaces
Pydoctor recognizes zope.interface declarations and can show which classes implement which interfaces, and vice versa.checked 5 Oct 2026

Alternatives to PyDoctor

All alternatives
  1. 1Scalar logo

    Scalar

    Free planOpen sourceWebAPILinuxmacOS
    8.4From $150 a month
  2. 2Redocly logo

    Redocly

    WebAPIExtension
    7.0From $10 a month
  3. 3Sphinx logo

    Sphinx

    Free planWebAPILinuxmacOS
    7.0Free plan
  4. 4Asciidoctor logo

    Asciidoctor

    Free planWebAPIExtensionLinux
    6.9Free plan
  5. 5

    JSON Schema for Humans

    Free planLinuxmacOSSelf-hostedWindows
    6.5Free plan
  6. 6

    StepShot

    Free planmacOS
    6.5CN¥269 one-time