Skip to main content

cppmanlite

Lightweight serverless C++ documentation lookup — a pure Python package and static site powered by cppreference.com.

Features

  • Pure Python — no C dependencies, works in CPython, Pyodide, Jupyter
  • Static site — served from GitHub Pages or any static host
  • Client-side search — lunr.js fuzzy search over a ~1MB index
  • On-demand page loading — fetches from cppreference.com or local bundle
  • Auto-updating — GitHub Action refreshes the index monthly
  • Kubernetes-ready — Helm chart included for /cppmanlite route

Python package

pip install cppmanlite
import cppmanlite

# Search for C++ documentation
cppmanlite.search("vector")
# [{'title': 'std::vector', 'url': 'cpp/container/vector.html', ...}, ...]

# Display a page (renders HTML in Jupyter, plain text in terminal)
cppmanlite.man("std::vector")

# Alias
cppmanlite.help("sort")

Works in Pyodide (Python in the browser) — no compiled dependencies required.

Static site

The site/ directory contains a standalone search UI:

  • index.html — search box + results + page reader
  • app.js — lunr.js search + on-demand page fetching
  • style.css — dark/light theme

Deployed to GitHub Pages at: https://dive4dec.github.io/cppmanlite/

Docker / Kubernetes

docker build -t cppmanlite:v1 .

Multi-stage build: downloads the cppreference HTML archive, strips boilerplate, builds a search index, and serves everything via nginx.

helm install cppmanlite ./chart -n cppmanlite

Serves at https://socratic.cs.cityu.edu.hk/cppmanlite/

How it works

  1. Index building (scripts/build_index.py): Downloads the cppreference HTML book archive, extracts page titles + snippets, fixes relative URLs, and writes a compact JSON index (~1.2MB for 6,000+ pages).

  2. Search: lunr.js builds a client-side full-text search index from the JSON. Results show title, URL path, and a content snippet.

  3. Page reading: When a user clicks a result, the reader fetches the page — either from a local docs/ bundle (Docker/K8s deployment) or directly from cppreference.com (GitHub Pages).

  4. Auto-update: A GitHub Action runs monthly, downloads the latest cppreference archive, rebuilds the index, and deploys to GitHub Pages.

Data source

Documentation from cppreference.com, licensed under CC-BY-SA 3.0 / GFDL. The HTML book archive is published by PeterFeicht/cppreference-doc.

License

MIT — see LICENSE.

Release files for cppmanlite 0.1.7

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

Source distribution (sdist)

Source distribution for cppmanlite 0.1.7
File Size Uploaded
cppmanlite-0.1.7.tar.gz 704.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cppmanlite 0.1.7
File Interpreter ABI Platform
cppmanlite-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / cppmanlite-0.1.7.tar.gz

Download URL cppmanlite-0.1.7.tar.gz
Size 704.4 kB
Tags Source
SHA-256 checksum
How to use checksums
954869f92a271adb1c553a10e915a1d5dc3ba7ca4430e850206f2d4efda63bfd
BLAKE2b-256 checksum
How to use checksums
93dd9e6fe0ce3d24aee8984f56fb1f342b1042e296e7220cc8a2d2bfed16cd75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / cppmanlite-0.1.7-py3-none-any.whl

Download URL cppmanlite-0.1.7-py3-none-any.whl
Size 720.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17333713a93aa75c0c2d48c8effde274e0df208d67e32626cf09d6256b18db97
BLAKE2b-256 checksum
How to use checksums
d23da17ca86f7e272820ffd7cea45f5de4902997f61ea4002d07a3736adb1ef1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.1

2 release files

0.1.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