Skip to main content

pydevelop-docs

PyPI version Python Versions License: MIT CI PyPI Downloads

Universal Python documentation generator with 40+ Sphinx extensions pre-configured. Zero-configuration setup for beautiful, professional documentation.

pydevelop-docs is the docs build system used by the Haive monorepo. It bundles 40+ Sphinx extensions, custom CSS/JS, AutoAPI configuration, and a CLI for one-command documentation builds. Designed for monorepos, but works for any Python project.


Why pydevelop-docs?

Setting up Sphinx for a real project is painful. You need to:

  • Pick the right extensions (and there are hundreds)
  • Configure AutoAPI to organize docs hierarchically (not flat)
  • Wire up theme, CSS, JS, dark mode
  • Handle Pydantic models, type hints, mermaid diagrams, code highlighting
  • Make it work for monorepos with cross-package linking
  • Build all packages in dependency order

pydevelop-docs gives you all of this with one command:

pydevelop-docs build --clean

Features

🚀 Zero-config build

  • 40+ Sphinx extensions pre-configured
  • Furo theme with dark mode
  • AutoAPI hierarchical organization (autoapi_own_page_level = "module")
  • Pre-built CSS for code visibility, navigation, dark mode

📦 Monorepo support

  • Build all packages in dependency order
  • Master documentation hub with cross-package linking
  • Per-package builds for individual development

🎨 Beautiful defaults

  • Furo theme (purple/violet, dark mode)
  • Mermaid + PlantUML diagrams
  • Interactive tooltips (sphinx-tippy)
  • Code copybutton
  • Inline tabs
  • AutoAPI hierarchical layout

🔧 Pydantic support

  • Auto-detects Pydantic models
  • Renders with autodoc-pydantic
  • Field validation, default values, examples

🧪 Visual testing

  • Playwright screenshot tools
  • Light + dark theme captures
  • Issue detection (white-on-white, missing nav, etc.)

Extension List (40+)

Category Extensions
Core autodoc, napoleon, viewcode, intersphinx, todo, coverage, mathjax
API Docs autoapi, sphinx_autodoc_typehints, autodoc_pydantic
Enhanced Docs myst_parser, copybutton, togglebutton, design, tabs, inline_tabs
Diagramming mermaid, plantuml, blockdiag, seqdiag, graphviz
Code codeautolink, exec_code, runpython
UI tippy, favicon, sphinxemoji
Utilities sitemap, last_updated_by_git, opengraph, reredirects, treeview, enum_tools, sphinx_toolbox

Installation

pip install pydevelop-docs

Quick Start

For a single Python project

cd your-project/

# Initialize Sphinx config
poetry run pydevelop-docs init

# Build
poetry run pydevelop-docs build --clean

# Serve locally
cd docs/build && python -m http.server 8000

For a monorepo

cd your-monorepo/

# Build all packages with dependency-aware ordering
poetry run pydevelop-docs build-all --clean

# Or use the enhanced builder with monitoring
poetry run pydevelop-docs rebuild-haive --debug --save-log

CLI Commands

# Initialize a new docs setup
pydevelop-docs init

# Build single package
pydevelop-docs build [--clean] [--ignore-warnings]

# Build all packages in monorepo
pydevelop-docs build-all [--clean]

# Enhanced rebuild with monitoring (best for large projects)
pydevelop-docs rebuild-haive --debug --save-log

# Watch mode for development
pydevelop-docs watch

Configuration

Default config

# docs/source/conf.py
from pydevelop_docs.config import get_haive_config
config = get_haive_config(package_name="my-package")
globals().update(config)

Customize

# docs/source/conf.py
from pydevelop_docs.config import get_haive_config

config = get_haive_config(
    package_name="my-package",
    project="My Project",
    author="My Name",
    extensions_extra=["my_custom_extension"],
)
globals().update(config)

Visual Testing

# Build and serve
poetry run sphinx-build -b html docs/source docs/build
python -m http.server 8003 --directory docs/build

# Take screenshots (light + dark, all major pages)
poetry run python scripts/debug/comprehensive_screenshot.py 8003

# Specific page
poetry run python scripts/debug/screenshot_specific.py \
    "http://localhost:8003/autoapi/index.html" \
    "autoapi_test"

Used By


License

MIT © pr1m8

Release files for pydevelop-docs 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydevelop-docs 1.0.1
File Size Uploaded
pydevelop_docs-1.0.1.tar.gz 173.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydevelop-docs 1.0.1
File Interpreter ABI Platform
pydevelop_docs-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 385.6 kB

Release files / pydevelop_docs-1.0.1.tar.gz

Download URL pydevelop_docs-1.0.1.tar.gz
Size 173.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9ac484634b493d3ba4115408becfd825e9f45acc1cd1c77ff5f311cbe10051fc
BLAKE2b-256 checksum
How to use checksums
47f3caf87bbd7b7169343a3ed7a1b4736e2b5b5ab49185643602638dae09d388
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pydevelop_docs-1.0.1-py3-none-any.whl

Download URL pydevelop_docs-1.0.1-py3-none-any.whl
Size 212.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca457e4844f0cf4a0fba8ac18ae6e3df50fdce06ddb25f44468669cef5042f51
BLAKE2b-256 checksum
How to use checksums
99cd366053985e3686760fe61eba4095e05611dad4634f0bfb4964f105dd1b0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page