Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Python

pip install docboss

Wheels are abi3 builds for CPython 3.12 and later, so one wheel covers every later Python version. No Rust toolchain is needed to install one.

Command-line tool

cargo install docboss-cli

This builds the docboss binary from crates.io with a stable Rust toolchain. From a checkout, make install does the same for the working tree.

Rust crates

Add the crates you need:

cargo add docboss-core docboss-output docboss-layout docboss-render docboss-write
cargo add docboss-aio --features http   # async and remote reads

docboss-core re-exports the document model, so most programs start from docboss_core::open.

Fonts for rendering

Rendering uses the fonts installed on the machine: the macOS, Linux and Windows font directories, LibreOffice's bundled fonts, and any directory named in DOCBOSS_FONT_PATH (:-separated). Fonts embedded in a DOCX are used first. When a document names a font that is not installed, a metric-compatible substitute is used where one exists (Carlito for Calibri, Caladea for Cambria, Liberation Sans or Arimo for Arial and Helvetica, Liberation Serif or Tinos for Times New Roman, Liberation Mono or Cousine for Courier New), so line breaks and page counts stay close to Word's. docboss fonts report.docx shows what each font resolved to.

Coding agents

docboss skill install writes a skill document into ./.claude/skills/docboss, or into ~/.claude/skills/docboss with --global, so coding agents know the CLI and the Python API. docboss skill print writes it to stdout.