Skip to main content

ingram-check

A command-line tool that checks PDF files for Ingram Lightning Source compliance and auto-fixes common issues.

Requirements

  • Python 3.11+
  • Ghostscript (gs) — optional; use --use-ghostscript to prefer it over the native Python backend

Installation

Homebrew (macOS & Linux)

brew tap saggingmeniscus/tap
brew install ingram-check

Installs a self-contained binary — no separate Python required. Supports macOS (Apple Silicon and Intel) and Linux (x86_64 and arm64), including WSL.

PyPI

pip install ingram-checker
# or
uv tool install ingram-checker

Standalone binary

Download the tarball for your platform from the latest releaseingram-check-macos-arm64, ingram-check-macos-x86_64, ingram-check-linux-x86_64, or ingram-check-linux-arm64 — extract it, and run ./ingram-check/ingram-check. No Python installation required.

From source

git clone https://github.com/saggingmeniscus/ingram-check.git
cd ingram-check
uv tool install .

After installation, the ingram-check command is available globally.

Usage

Interior PDFs

# Basic check — auto-detects page size
ingram-check interior book.pdf

# Specify trim size and color type
ingram-check interior book.pdf -t 6x9 -c bw

# With bleed
ingram-check interior book.pdf -t 6x9 --bleed

# Auto-fix (ICC removal, color conversion, crop stripping, downsampling, etc.)
ingram-check interior book.pdf --fix

# Unsafe fixes (includes upsampling low-res images)
ingram-check interior book.pdf --fix-unsafe

# JSON output
ingram-check interior book.pdf --format json

If --trim-size is omitted, the tool detects the page size from the PDF and reports it. An error is shown only if pages have inconsistent dimensions.

Trim sizes can be specified as dimensions (6x9, 5.5x8.5) or aliases (trade, a5, letter, digest, royal, mass market).

Cover PDFs

ingram-check cover cover.pdf -t 6x9
ingram-check cover cover.pdf -t 6x9 -b casewrap --fix

Listing checks

ingram-check interior --list-checks
ingram-check cover --list-checks

Individual checks can be toggled with -e (enable) and -d (disable):

ingram-check interior book.pdf -e bracketed_text -d margins

Checks

Interior (15 checks)

Check Severity Auto-fixable
Font embedding Error
Page count (must be even) Error Yes
Page size consistency Error
Bleed dimensions Error
ICC profile removal Error Yes
Spot color removal Error Yes
Color space (Grayscale/CMYK) Error Yes
Crop/registration marks Error Yes
Ink density (warn 240%, error 300%) Error
Image resolution Error/Warning Yes*
Manufacturing statements Error
Paper certification claims Error
Bracketed text Warning
Margins (0.5" recommended) Warning
PDF/X compliance Warning

*Downsampling high-res images is a safe fix (--fix). Upsampling low-res images requires --fix-unsafe.

Cover (9 checks)

Font embedding, page count, cover size, ICC profiles, spot colors, color space, ink density, resolution, and barcode (manual verification).

Auto-fix

--fix applies safe, lossless corrections:

  • Pad odd page count with a blank page
  • Remove ICC profiles from page resources and image XObjects
  • Convert spot colors to CMYK
  • Convert RGB to Grayscale or CMYK
  • Strip crop/registration marks by setting CropBox = TrimBox
  • Downsample images above 375ppi to 300ppi

--fix-unsafe additionally applies fixes that may degrade quality:

  • Upsample images below 300ppi (adds pixels via bicubic interpolation, but no real detail)

Fixed PDFs are written to <filename>_fixed.pdf in the same directory.

By default, all fixes use native Python (pikepdf + Pillow). Pass --use-ghostscript to use Ghostscript's pdfwrite device instead.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ingram_checker-0.1.8.tar.gz (86.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ingram_checker-0.1.8-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

Details for the file ingram_checker-0.1.8.tar.gz.

File metadata

  • Download URL: ingram_checker-0.1.8.tar.gz
  • Upload date:
  • Size: 86.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ingram_checker-0.1.8.tar.gz
Algorithm Hash digest
SHA256 5eb65ae247c3b359069ee9a1a3ecdef3667cc4f66e12eaad3e0cbe3ee351b51a
MD5 23198c334868249a5a880eddd9a6d409
BLAKE2b-256 0add919176418377e4680bd04d2d49963944716fc8c9bcd8975c77b4419c5e9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ingram_checker-0.1.8.tar.gz:

Publisher: release.yml on saggingmeniscus/ingram-check

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ingram_checker-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: ingram_checker-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 45.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ingram_checker-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 69cc22a42176aa1af26a351107ae9a4a99cd736209805e7600c44817cf671e93
MD5 aca14d6e86537e10b263b688aa3eda1a
BLAKE2b-256 6e35dc66b8c76848591c09000c79ff8ce81e154a5baf6c228a86a307eb0d710b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ingram_checker-0.1.8-py3-none-any.whl:

Publisher: release.yml on saggingmeniscus/ingram-check

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.0

2 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