Description
pdoc auto-generates API documentation that follows your project's Python module hierarchy. It requires no configuration, has first-class support for type annotations, cross-links between identifiers, comes with an integrated live-reloading web server, uses customizable HTML templates, understands numpydoc and Google-style docstrings, and is permissively licensed.
pdoc alternatives and similar packages
Based on the "Documentation" category.
Alternatively, view pdoc alternatives based on common mentions on social networks and blogs.
Updating dependencies is time-consuming.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pdoc or a related project?
Popular Comparisons
README
API Documentation for Python Projects.
Example
pdoc -o ./html pdoc
generates this website: pdoc.dev/docs.
Installation
pip install pdoc
pdoc is compatible with Python 3.7 and newer.
Usage
pdoc your_python_module
# or
pdoc ./my_project.py
Run pdoc pdoc
to see pdoc's own documentation,
run pdoc --help
to view the command line flags,
or check our hosted copy of the documentation.
Features
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.
- Builtin web server with live reloading.
- Customizable HTML templates.
- Understands numpydoc and Google-style docstrings.
- Standalone HTML output without additional dependencies.
Under the hood...
pdoc
will automatically link identifiers in your docstrings to their corresponding documentation.pdoc
respects your__all__
variable when present.pdoc
will traverse the abstract syntax tree to extract type annotations and docstrings from constructors as well.pdoc
will automatically try to resolve type annotation string literals as forward references.pdoc
will use inheritance to resolve type annotations and docstrings for class members.
If you have substantially more complex documentation needs, we recommend using Sphinx!
Contributing
As an open source project, pdoc welcomes contributions of all forms.
Also, please feel free to join our developer Slack!
pdoc vs. pdoc3
This project is not associated with "pdoc3", which often falsely assumes our name. Quoting @BurntSushi, the original author of pdoc:
I'm pretty disgusted that someone has taken a project I built, relicensed it, attempted to erase its entry on the Python Wiki, released it under effectively the same name and, worst of all, associated it with Nazi symbols.
In contrast, the pdoc project strives to uphold a healthy community where everyone is treated with respect. Everyone is welcome to contribute as long as they adhere to basic civility. We expressly distance ourselves from the use of Nazi symbols and ideology.
The pdoc project was originally created by Andrew Gallant and is currently maintained by Maximilian Hils.
*Note that all licence references and agreements mentioned in the pdoc README section above
are relevant to that project's source code only.