{"library":"pydoc-markdown","title":"Pydoc-Markdown","description":"Pydoc-Markdown is a tool that generates Python API documentation in Markdown format by parsing Python code using the `docspec` library. It supports multiple documentation styles, including Sphinx, Google, and its own specific format. While the project is still actively maintained with recent releases, the maintainer suggests considering `mkdocstrings` for new projects due to limited time for proper maintenance and development. The current stable version is 4.8.2.","language":"python","status":"maintenance","last_verified":"Sun May 17","install":{"commands":["pip install pydoc-markdown"],"cli":{"name":"pydoc-markdown","version":"pydoc-markdown, version 4.8.2"}},"imports":["Via command-line: pydoc-markdown"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"mkdir my_project\ncd my_project\n\n# Create a sample Python module\ncat << EOF > my_module.py\n\"\"\"A simple example module.\"\"\"\n\ndef greet(name: str) -> str:\n    \"\"\"Greets a person by name.\n\n    :param name: The name of the person to greet.\n    :returns: A greeting string.\n    \"\"\"\n    return f\"Hello, {name}!\"\n\nclass MyClass:\n    \"\"\"A sample class.\n\n    :ivar value: An example instance variable.\n    \"\"\"\n    def __init__(self, value: int):\n        self.value = value\n\n    def get_value(self) -> int:\n        \"\"\"Returns the stored value.\"\"\"\n        return self.value\nEOF\n\n# Create a pydoc-markdown.yml configuration file\ncat << EOF > pydoc-markdown.yml\nloaders:\n  - type: python\n    search_path: [.]\nrenderer:\n  type: markdown\n  pages:\n    - title: My API\n      contents:\n        - 'my_module'\nEOF\n\n# Generate the documentation\npydoc-markdown --config pydoc-markdown.yml > API.md\n\n# To view the generated Markdown (optional)\n# cat API.md","lang":"bash","description":"This quickstart demonstrates how to generate Markdown API documentation for a simple Python module. It involves creating a Python file, defining a `pydoc-markdown.yml` configuration to specify the module and output, and then running the `pydoc-markdown` CLI command. The output is redirected to `API.md`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"4.8.2","pypi_latest":"4.8.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":6.6,"avg_import_s":null,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"36.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":6.7,"import_time_s":null,"mem_mb":null,"disk_size":"42M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"41.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":6.5,"import_time_s":null,"mem_mb":null,"disk_size":"47M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"32.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":6.1,"import_time_s":null,"mem_mb":null,"disk_size":"39M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"32.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":5.8,"import_time_s":null,"mem_mb":null,"disk_size":"39M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"35.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pydoc-markdown","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":8,"import_time_s":null,"mem_mb":null,"disk_size":"41M"}]}}