Skip to main content

API Documentation for Python Projects

Project description

pdoc

pdoc documentation CI Status Code Coverage autofix.ci: yes PyPI Version Supported Python Versions

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.8 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.

Dev Guide

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.

Source: https://github.com/pdoc3/pdoc/issues/64

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdoc-14.7.0.tar.gz (154.6 kB view details)

Uploaded Source

Built Distribution

pdoc-14.7.0-py3-none-any.whl (144.8 kB view details)

Uploaded Python 3

File details

Details for the file pdoc-14.7.0.tar.gz.

File metadata

  • Download URL: pdoc-14.7.0.tar.gz
  • Upload date:
  • Size: 154.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for pdoc-14.7.0.tar.gz
Algorithm Hash digest
SHA256 2d28af9c0acc39180744ad0543e4bbc3223ecba0d1302db315ec521c51f71f93
MD5 666e8fdbff82a5bab89613cc950d679b
BLAKE2b-256 2850e801b13b07efecaf8c2349c64edfffdd7bc1d9ebb9837f840c0e8af11cf8

See more details on using hashes here.

File details

Details for the file pdoc-14.7.0-py3-none-any.whl.

File metadata

  • Download URL: pdoc-14.7.0-py3-none-any.whl
  • Upload date:
  • Size: 144.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for pdoc-14.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72377a907efc6b2c5b3c56b717ef34f11d93621dced3b663f3aede0b844c0ad2
MD5 9f9637e17417a766fd5ed6406a982fc5
BLAKE2b-256 27bb6dfa7e6f4eeed22d3311af76256615da637f821d584cf7b7aab5f4cbffc5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page