sphinxcontrib-htmlhelp

A Sphinx extension that renders documentation into Microsoft HTML Help files.

Library
PyPI
v2.1.0
2stars
BSD-2-Clause

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
22/100Needs Attention
Development Activity0
Maintenance20
Community8
Maturity60
Momentum0

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
71/100Good
Architecture71
Code Quality74
Innovation62
Learning Curve78

sphinxcontrib-htmlhelp is a Sphinx extension that provides a builder for rendering documentation as Microsoft HTML Help. It generates the HTML pages plus the project, table-of-contents, and index files needed to compile a .chm help file, the classic bundled help format on Windows.

Originally part of Sphinx itself, it was split into the sphinxcontrib namespace so it can be maintained and released independently while remaining an official part of the Sphinx documentation toolchain.

What You Get

  • A Sphinx builder that emits Microsoft HTML Help project, contents, and index files
  • The HTML output and metadata required to compile a .chm help file
  • An independently versioned package within the official sphinxcontrib namespace

Common Use Cases

  • Producing bundled .chm help files for Windows desktop applications
  • Shipping offline documentation in the classic Windows help format
  • Adding an HTML Help output target to an existing Sphinx project

Under The Hood

Architecture

The extension resides in the sphinxcontrib/htmlhelp namespace package and registers an HTMLHelpBuilder through Sphinx’s setup hook. The builder extends Sphinx’s standalone HTML builder to also emit the HTML Help project (.hhp), contents (.hhc), and index (.hhk) files, using bundled stopword and template assets.

Tech Stack

Pure Python built on the Sphinx and docutils APIs and packaged with a modern pyproject.toml under a BSD-2-Clause license. It relies on Babel for localization and tox for testing across environments.

Code Quality

The package includes a pytest suite (tests/test_htmlhelp.py with a shared conftest) and a CI workflow, upholding the Sphinx project’s engineering conventions despite the module’s small footprint. It is a focused, stable builder with a narrow surface area.

API Design

End users simply enable the extension and build with the HTML Help target, so there is virtually no API to learn. The single-purpose design keeps configuration minimal, and it remains relevant mainly to teams that still ship Windows .chm documentation.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search