Skip to main content

Create Python API documentation in Markdown format.

Project description

Pydoc-Markdown 📃

Python versions Pypi version

Pydoc-Markdown is a tool to create Python API documentation in Markdown format. Instead of executing your Python code like so many other documentation tools, it parses it using docspec instead.

→ Go to the Documentation 📘

Table of Contents

Installation 📦

You can install Pydoc-Markdown using Pipx:

$ pipx install pydoc-markdown

If you plan on using the Novella integration, you may want to install it as:

$ pipx install novella
$ pipx inject novella pydoc-markdown[novella]

You need at least Python 3.7 to run Pydoc-Markdown. The Python version compatibility of the package you are looking to generate documentation for is irrelevant.

Features 🌟

  • Understands multiple documentation styles (Sphinx, Google, Pydoc-Markdown specific) and converts them to properly formatted Markdown
  • Can parse docstrings for variables thanks to docspec (#: block before or string literal after the statement)
  • Generates links to other API objects per the documentation syntax (e.g. #OtherClass for the Pydoc-Markdown style)
  • Configure the output using a YAML file or pyProject.toml, then you're only one command away to generate the documentation in Markdown format
  • Or use Novella to tightly integrate with static site generators like MkDocs and Hugo with with additional features such as Markdown pre-processing

News 📢

4.7.0 (Undeprecating YAML configuration)

Many users prefer the YAML configuration over the using Novella, which is why starting with 4.7.0, the YAML style configuration is officially un-deprecated and will continue to be supported.

4.6.0 (Novella integration)

Starting with 4.6.0, development focuses on integrating with Novella and use it as a replacement for tool-specific renderers thus far provided directly by Pydoc-Markdown (i.e. integrations with MkDocs, Hugo and Docusuraus). Such integrations are/will be provided by Novella instead.

With the Novella integration, you can now place generated API content in Markdown format inline with your existing Markdown documentation source files using @pydoc tags. Check out the Documentation for more information on how to use Pydoc-Markdown with Novella.

The old style of using Pydoc-Markdown with a YAML or PyProject configuration to generate files and kick off the build is now deprecated but will be maintained for the foreseeable future (at least until the next major version bump). It is strongly recommended to migrate your existing projects to using the Novella build backend.

Contributing to Pydoc-Markdown 🤝

All contributions are welcome! Check out the Contribution Guidelines.

Questions / Need help? 🤔

Feel free to open a topic on GitHub Discussions!

Projects using Pydoc-Markdown 📚

An incomplete list of projects that use Pydoc-Markdown to generate their API documentation. Feel free to open a pull request to add your project to this list!

Project details


Download files

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

Source Distribution

pydoc_markdown-4.8.0.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydoc_markdown-4.8.0-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file pydoc_markdown-4.8.0.tar.gz.

File metadata

  • Download URL: pydoc_markdown-4.8.0.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.3 requests/2.28.1 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/5.0.0 keyring/23.11.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.11

File hashes

Hashes for pydoc_markdown-4.8.0.tar.gz
Algorithm Hash digest
SHA256 b9e0804a8d7611be24919e4852ba54b049594f4936051a0c522ecce0cd91db9c
MD5 18d4c0ba0b9dd5b20af3b95a1c7a4a4b
BLAKE2b-256 685e069abec30bdd40a782f52d84899a5aba51c3c7d7405ab49785a7fe2880e1

See more details on using hashes here.

File details

Details for the file pydoc_markdown-4.8.0-py3-none-any.whl.

File metadata

  • Download URL: pydoc_markdown-4.8.0-py3-none-any.whl
  • Upload date:
  • Size: 67.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.3 requests/2.28.1 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/5.0.0 keyring/23.11.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.11

File hashes

Hashes for pydoc_markdown-4.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd177719b112eaf8e74759aea99110cdd72e9f6ae2858fccce721ae2212d157
MD5 1d783e05e293f2f170977688ad2bc5eb
BLAKE2b-256 cc20c6a1d9d26cbf456159d0171efac8a2daf9ddb2f8e137d261923f3e8cef18

See more details on using hashes here.

Supported by

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