parch generates fixed e-ink PDF pages.
Needs Python 3.14+.
uv tool install parch # or: pip install parch
parch init -o planner.toml # Spec defaults as TOML (no checkout)
parch press planner.toml -o nomad-2026.pdf
parch specimen -w outNo checkout needed. One-shot: uvx parch press -o nomad-2026.pdf. parch init emits Spec defaults via Spec.to_toml; sample jobs also live in examples/ (not in the wheel).
uv sync --group dev
uv run parch press examples/nomad.toml -o out/nomad-2026.pdf
uv run parch specimen -w out # PNG catalog (Nomad + Scribe); click a thumb to expand in place
uv run parch proof examples/nomad.toml -o out/exp-typeramp-proof.pdfDevice → Component (data only) → Section (build Page) → Layout (chrome + seat) → Plotter → Press
| Device | id | size | resolution | notes |
|---|---|---|---|---|
| SuperNote Nomad | supernote-nomad |
118.87 × 158.5 mm | 1404×1872 @ 300 PPI | top clearance 8 mm reserved; writing clearance 4 mm; root_body 8.5pt |
| Kindle Scribe (1st gen) | kindle-scribe |
157.48 × 209.97 mm | 1860×2480 @ 300 PPI | top clearance 0; writing clearance 4 mm; bottom clearance 10 mm; root_body 8.5pt |
Any device can set top_clearance = 0 to drop the reserved top band. Omit the key to keep the Device default. Bottom clearance is separate.
uv run pytest
uv run ruff check src tests && uv run ruff format --check src testsCodespaces / Dev Containers use ghcr.io/yyolk/parch-devcontainer (venv at /home/vscode/.venv). After the first image publish, set that GHCR package to Public.
Ship steps live in Releasing.
MIT — see LICENSE.
Historical inspiration: Vitaliy Kudryk’s LYP. fpdf2 Plotter rewrite; not a port of LYP sources.
Runtime dependency fpdf2 is LGPL-3.0, separate from this MIT license.
Vendored Jost (Book / Medium / Bold / Heavy) is SIL OFL 1.1 — see src/parch/fonts/LICENSE.
