quartodoc
Generate API documentation with Quarto.
What it is and what it does
quartodoc is a documentation generator that extracts Python docstrings and converts them into Markdown-based API reference pages for Quarto projects. It inspects functions, classes, methods, modules, and attributes from your package and generates structured reference documentation without requiring Sphinx. The tool integrates directly into Quarto's project workflow via configuration in `_quarto.yml`, allowing you to define which objects to document and organize them into sections.
The package depends on griffe for docstring parsing, pydantic for configuration validation, and several utilities like black, click, and watchdog for formatting and file monitoring. It supports Python 3.9 and later and runs on macOS, Windows, and Unix systems. Once configured, you run `quartodoc build` to generate documentation pages, optionally with `--watch` to rebuild automatically as your code changes.
Use it for:
- Generate API reference docs for a Python library as part of a Quarto website without setting up Sphinx.
- Automatically rebuild API documentation when source code changes using the watch mode.
- Document specific functions, classes, and methods by listing them in a YAML configuration file.
- Integrate API docs into a larger Quarto project alongside tutorials, examples, and other content.
- Replace Sphinx-based documentation workflows with a simpler Markdown and Quarto-native approach.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
quartodoc generates Python API reference documentation from docstrings using Quarto and Markdown, serving as a Sphinx alternative that integrates with Quarto projects.
Yes, if you are already using Quarto for documentation and want a lightweight alternative to Sphinx for API reference generation. The low install friction and permissive MIT license make it accessible. However, the aging maintenance status (430 days since last release) suggests checking whether the package still aligns with current Quarto versions and your project's long-term needs before committing to it for critical documentation pipelines.
Install
quartodoc on PyPI
pip
pip install quartodocuv
uv add quartodocpoetry
poetry add quartodocInstalling quartodoc
Before you install
Low install friction with a pure-Python wheel and 13 runtime dependencies. Maintenance status is aging—last release was 430 days ago, though the repository remains active with recent commits and no archival.
License in practice
MIT License permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install quartodoc
# Add to _quarto.yml:
quartodoc:
package: your_package
sections:
- title: API
contents:
- your_function
# Generate docs:
quartodoc build
Quarto must be installed separately before quartodoc can generate documentation.
Verify before relying
- Whether the 430-day gap since last release indicates active maintenance or stalled development despite recent commits.
- Performance characteristics when documenting large packages with many objects.
- Compatibility with recent Quarto versions and any breaking changes in the Quarto ecosystem.
Package facts
| License | MIT License Copyright (c) 2023 quartodoc authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — black, click, griffe, sphobjinv, tabulate, importlib-metadata, importlib-resources, pydantic, pyyaml, requests, typing-extensions, watchdog, plum-dispatch |
| Maintenance | aging — 430 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,567/month — #14,065 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: quartodoc-0.11.1-py3-none-any.whl
Keywords: documentation, quarto
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
pdoc3Generates API documentation for Python 3+…
agpl · top 15,000 on PyPI
sphinx-autodoc2sphinx-autodoc2 generates API documentation for…
permissive · top 15,000 on PyPI
docstring-to-markdownConverts Python docstrings from…
copyleft · top 5,000 on PyPI
pydoc-markdownPydoc-Markdown parses Python source code and…
permissive · top 15,000 on PyPI
sphinx-markdown-tablesAdds markdown table support to Sphinx…
copyleft · top 15,000 on PyPI
mkdocs-gen-filesMkDocs plugin that generates documentation…
permissive · top 5,000 on PyPI
sphinx-markdown-builderA Sphinx extension that generates Markdown…
permissive · top 15,000 on PyPI
griffe2mdGenerates Markdown API documentation from…
permissive · top 15,000 on PyPI
mkdocsMkDocs generates static HTML documentation…
permissive · top 5,000 on PyPI