skillfed

griffe2md

Output API docs to Markdown using Griffe.

griffe2md v1.5.0 276.9K downloads/30d#8,154 on PyPI18
Permissive license ISC Active released

What it is and what it does

griffe2md is a command-line tool that converts Python package API documentation into Markdown files. It uses Griffe, a static analysis library, to parse your package's structure and docstrings, then renders them as formatted Markdown suitable for documentation sites or repositories. The tool supports multiple docstring styles (configurable via pyproject.toml or griffe2md.toml) and can output to stdout or directly to a file.

You run it by pointing it at a package name or folder path, and it generates structured Markdown with your API's classes, functions, and their documentation. It's designed for developers who want to maintain API docs in Markdown format without manually writing or updating them, integrating easily into documentation workflows alongside tools like mdformat for consistent formatting.

Use it for:

  • Generate API reference documentation for a Python package to include in a README or docs site
  • Automate API doc generation in CI/CD pipelines to keep docs in sync with code changes
  • Convert existing docstrings to Markdown format for migration to a new documentation system
  • Create Markdown API docs for packages that use Sphinx-style docstrings without needing Sphinx itself

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates Markdown API documentation from Python packages using Griffe's static analysis, with support for multiple docstring styles and configurable output.

Yes. Low install friction, active maintenance, no known vulnerabilities, and a permissive license make it a straightforward choice. Install it if you need to generate Markdown API docs from Python packages; the command-line interface is simple and the configuration is minimal.

Install

griffe2md on PyPI

pip

pip install griffe2md

uv

uv add griffe2md

poetry

poetry add griffe2md

Installing griffe2md

Before you install

Low friction install with a pure Python wheel. Actively maintained with recent releases; last commit 2026-03-12 and marked as active status.

License in practice

ISC license is permissive, allowing commercial and private use with minimal restrictions.

Quickstart

pip install griffe2md
griffe2md package_name -o docs.md

Requires Python 3.10 or later.

Verify before relying

  • Whether Griffe's static analysis covers all Python docstring formats beyond the documented sphinx style
  • Performance characteristics when processing large or deeply nested packages

Package facts

License ISC (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — griffelib, jinja2, mdformat, tomli
Maintenance actively maintained — 155 days since the last release
Last repo commit
First released
Downloads 276,930/month — #8,154 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: griffe2md-1.5.0-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: DocumentationTopic :: Software DevelopmentTopic :: UtilitiesTyping :: Typed

Tags

generate markdown api docspython api documentation generatorgriffe markdown outputconvert docstrings to markdownapi doc markdown export
api-documentationmarkdown-generationstatic-analysis

More Software Development packages

typing-extensions

Provides backported and experimental type hints…

permissive · top 100 on PyPI

numpy

NumPy provides an N-dimensional array object…

permissive · top 100 on PyPI

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

annotated-doc

Provides a way to document function parameters,…

permissive · top 100 on PyPI

typer

Typer builds command-line applications from…

permissive · top 1,000 on PyPI

distlib

Distlib provides low-level packaging utilities…

permissive · top 1,000 on PyPI

griffe-pydantic

Extends Griffe to automatically extract and…

permissive · top 15,000 on PyPI

mkdocstrings-python

Generates API documentation for Python projects…

permissive · top 5,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

haystack-pydoc-tools

Generates Docusaurus-compatible Markdown API…

permissive · top 15,000 on PyPI

griffe-warnings-deprecated

Extends Griffe to recognize and render PEP 702…

permissive · top 15,000 on PyPI

mkdocstrings

An MkDocs plugin that automatically generates…

permissive · top 5,000 on PyPI

sphinx-autodoc2

sphinx-autodoc2 generates API documentation for…

permissive · top 15,000 on PyPI

mkdocs-api-autonav

Automatically generates API reference…

permissive · top 15,000 on PyPI

griffe-typingdoc

Griffe extension that enables inline…

permissive · top 15,000 on PyPI

mkdocstrings-python-legacy

A legacy Python documentation handler for…

permissive · top 15,000 on PyPI