--- id: pydoctor version: "25.10.1" license: MIT/X11 license_treatment: permissive maintenance: active --- # pydoctor — API doc generator. License: permissive · Maintenance: active · Downloads: 110.5K/mo ## What it is and what it does pydoctor is a standalone API documentation generator that builds reference docs by parsing Python source code without executing it. It was created to replace epydoc for the Twisted project, particularly to handle zope.interface declarations that epydoc struggled with. The tool performs static analysis to resolve imports, compute inheritance hierarchies, and understand interface implementations. It supports five docstring markup formats—epytext (the default), reStructuredText, Google style, Numpy style, and plaintext—letting you choose the format that fits your project. pydoctor can generate HTML output with multiple theme options, integrates with Sphinx via intersphinx for cross-linking to external docs, and handles modern Python features including namespace packages (PEP 420) and generic types. Recent versions added support for doc-comments (Sphinx-style `#:` comments) and improved C-module introspection. Use it for: - Generate API docs for Twisted-like projects that use zope.interface heavily - Migrate from epydoc to a Python 3-native documentation tool without rewriting docstrings - Build searchable HTML API reference for a library with multiple docstring styles across modules - Integrate API docs into a Sphinx project using intersphinx for unified cross-linking - Document namespace packages and modern Python code structures that older tools don't handle ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. pydoctor generates API documentation from Python source code through static analysis, supporting multiple docstring formats including epytext, reStructuredText, Google, and Numpy styles. Yes. pydoctor is mature, actively maintained, has no known vulnerabilities, and installs cleanly. It solves a real problem (epydoc replacement with zope.interface support) and is the right choice if you need static API doc generation, especially for Twisted-adjacent projects or if you're migrating from epydoc. The broad docstring format support and modern Python compatibility make it suitable for most new projects. ## Install pip install pydoctor uv add pydoctor poetry add pydoctor ## Installing pydoctor Before you install: Low install friction with a pure-wheel distribution. Actively maintained with recent commits and no known vulnerabilities. Supports Python 3.9 through 3.14 and PyPy, with mature status and over a decade of development history. License in practice: MIT/X11 permissive license allows use in both open-source and proprietary projects with minimal restrictions. Quickstart: pip install pydoctor pydoctor --html-output=docs/api src/mylib Requires Python 3.9 or later; project source must be discoverable via static analysis. Verify before relying: - Whether the package handles all zope.interface patterns correctly in practice - Performance characteristics on very large codebases - Completeness of C-module introspection support beyond data descriptors ## Package facts - License: MIT/X11 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 110.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags api documentation generator, python docstring parser, static analysis doc tool, epydoc replacement, zope.interface documentation, html api docs from source, python code introspection, static-analysis, api-reference, docstring-parser [View on SkillFed](https://skillfed.io/packages/pydoctor) · [View on PyPI](https://pypi.org/project/pydoctor/)