PyDoctor vs TypeDoc
PyDoctor
pydoctor.readthedocs.ioTypeDoc
typedoc.orgSide by side
| Figure | PyDoctor | TypeDoc |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Documentation Generators | 7.4 (#22) | 8.0 (#10) |
| Configuration | Pydoctor supports configuration through pydoctor.ini, pyproject.toml, and setup.cfg files. | Options can be set through command-line arguments or configuration files. |
| Customization | The CLI provides options for themes, custom HTML templates, and which API objects to document. | Themes can change the look and feel of generated documentation, and plugins can add themes. |
| Installation | The documentation gives installation instructions through PyPI with pip and on Debian derivatives with apt. | TypeDoc runs on Node.js and is available as an npm package. |
| Notable limitation | Pydoctor cannot infer types for computed values, so those need annotations for the type to appear in the generated documentation. | The documentation warns that global installation can cause plugins and themes to use a separate TypeDoc installation and break. |
| Purpose | PyDoctor is a standalone API documentation generator that uses static analysis of Python source code. | TypeDoc converts comments in TypeScript source code into HTML documentation or a JSON model. |
Plans
In their own words
PyDoctor
PyDoctor has no write-up on Specifiction yet; its figures are above.
TypeDoc
TypeDoc is a free TypeScript documentation generator that turns source comments into HTML pages or a JSON model. It builds from project exports and follows re-exports, allowing members declared elsewhere to appear in documentation. TSDoc and JSDoc tags are extracted, Markdown is accepted in comments, and fenced code blocks receive Shiki syntax highlighting. HTML and JSON are built in; Markdown output needs a plugin such as typedoc-plugin-markdown. A default theme is included, while plugins can add themes, alter conversion and symbol organization, or change display. Custom CSS and JavaScript can further adjust generated pages. Configuration can come from an options file, package.json, or tsconfig.json. TypeDoc runs on Node.js, uses the TypeScript compiler, and supports the current Node.js LTS or newer. For npm monorepos, the packages entry-point strategy can combine package documentation into one site. The project is Apache-2.0 licensed. Documentation warns that global installation can separate plugins and themes from the intended TypeDoc installation.