Skip to content

Install Offprint ​

Run the command-line interface (CLI) to capture pages from a shell, or install a language package for your application. Each interface uses the same capture engine and verification defaults.

Run the CLI ​

Use uvx, uv's Python command runner:

console
uvx offprint capture https://example.com --output example.html --quiet

Or use npx, npm's command runner, with Node.js 22 or newer:

console
npx offprint capture https://example.com --output example.html --quiet

Both commands download the Offprint package and run its CLI. The capture prints example.html after reopening the saved file with networking blocked. Existing output files are preserved unless you pass --on-exists replace.

Install the CLI ​

Install a persistent offprint command with uv:

console
uv tool install offprint
offprint --version

Or install it with npm:

console
npm install --global offprint
offprint --version

Standalone native archives are available from GitHub Releases. Continue with your first capture.

Choose a language package ​

InterfaceInstallRuntime baseline
Node.jsnpmNode.js 22 or newer
PythonPyPIPython 3.10 through 3.14
RustSource checkoutRust 1.97

Native packages support Linux x86-64 with glibc, macOS arm64, macOS x86-64, and Windows x86-64. Linux hosts also need the browser libraries listed in Linux runtime libraries.

Install the Node SDK ​

console
npm install offprint

Continue with the Node.js integration.

Install the Python SDK ​

console
uv add offprint

The package is published on PyPI, the Python package index. Its wheels use Python's stable application binary interface from Python 3.10. Continue with the Python integration.

Use Rust ​

Use a checkout as a path dependency:

toml
[dependencies]
offprint = { path = "/path/to/offprint/offprint-rs/core" }

Read the Rust integration for the API and contributor setup for source builds.

Linux runtime libraries ​

Linux capture hosts need Chromium's shared libraries. On Ubuntu 24.04:

console
sudo apt-get update
sudo apt-get install -y \
  libasound2t64 \
  libatk-bridge2.0-0 \
  libgbm1 \
  libgtk-3-0 \
  libnss3 \
  libxkbcommon0

Package names differ across Linux distributions. Verify that a Chromium-based browser can start in the target image before capture.

Browser requirement ​

Offprint discovers Chrome, Chromium, or Microsoft Edge based on Chromium 120 or newer. When automatic installation is enabled and no compatible browser is present, first use downloads and verifies the pinned Chrome for Testing build, Google's versioned Chromium browser distribution.

Run offprint doctor to check browser availability, or call offprint.browsers.doctor() through an SDK. Read browsers and ownership when provisioning a browser, sharing a cache, or connecting to a remote browser.