Skip to content

Repository files navigation

parch

Yearly planner PDFs for e-ink, a Python port of Vitaliy Kudryk’s LYP.

PyPI CI

Cover Contents January

Install

Needs uv and Python 3.14+.

uv tool install parch
parch press supernote-nomad

If typst is not on PATH, press downloads official Typst v0.15.1 into .tools/.

Press

parch press supernote-nomad
Flag Default Meaning
-w / --workdir (none) Persist index.typst and index.pdf here. Without -w, compile in a temp dir
-o / --output ./<config-stem>.pdf Product PDF in cwd (mine.toml./mine.pdf). With -w only, dest is workdir/index.pdf
-l / --locale en Locale code
-g / --with-ghostscript off Optional PDF shrink via gs
--debug off Draw MOS debug strokes (not a config key)
--year file year Overlay planner year (dates and cover title; not a config key)
--hand profile mos.side_menu (or left) MOS strip side. Overlay sets mos.side_menu only; well stays LTR

--year also rewrites the cover title year when the old year is in the title.

Full-year Nomad is one Typst document — peak RAM is page-tree count, not index.typst size. There is no chunked compile / PDF merge path.

supernote-nomad defaults to [section.daily_notes] pages = 1 (one notes well per day; pages = 2 is opt-in). Other devices still default to pages = 2. Jobs written before this default still say pages = 2.

Daily mini-cal day cells are a glance (feel4r) — not 31 dests × 365 pages. Annual / quarterly year-month days still link. Full-year extras Typst CLI (/usr/bin/time -f %M typst compile, last line): notes-off 1.84 GiB, notes=1 2.65 GiB, notes=2 3.12 GiB. Python emit is ~50 MiB. PARCH_TYPST=py is in-process; PARCH_TYPST=cli (default) spawns typst (cgroup = Typst + leftover Python/uv/OS, ~2–3 GiB). Do not pipe every log line through awk. pages=1 is the 8GB-supported extras press. pages = 2 stays opt-in and still OOMs on default 8GB Codespaces — use 16GB despite Typst-only ~3.12 GiB.

parch new --device supernote-nomad --year 2027 --yes -o mine.toml

--device is a device id. Without --yes, parch new asks for device, year, sections, MOS side, paper (dotted or lined), week rail, hours, and counts/pages, then writes a complete job file. parch edit mine.toml reopens that file. Hand-edit still loads. Sections live in the job sections list. Comment a name out to disable it.

Devices

Nineteen devices. Lined is paper (style.scratch_pad), not a device. MOS strip side is mos.side_menu (default left). Override with --hand left|right on press, proof, new, and edit. --hand does not reverse the well.

Navigation chrome is device-gated. supernote-nomad (alias nomad) presses Topband. Same canvas 118.87×158.5mm as supernote-a6 / supernote-a6x, but those ids keep MOS. There is no --topband / --mos switch — pick the device id (or device in the job TOML).

Device Notes
supernote-nomad SuperNote Nomad (A6 X2). Topband; toolbar top 8mm. Alias nomad
kindle-scribe Kindle Scribe. No toolbar
158x210 158×210 mm. No toolbar
supernote-manta SuperNote Manta (A5 X2). Toolbar top 8mm
remarkable-1 reMarkable 1. No toolbar (Scribe pack). Alias rm1
remarkable-2 reMarkable 2. Same 10.3" canvas as rM1; own name. Alias rm2
remarkable-paper-pure reMarkable Paper Pure. Same 10.3" canvas (Carta 1300). Alias paper-pure
remarkable-paper-pro reMarkable Paper Pro. No toolbar (Scribe pack). Alias paper-pro
remarkable-paper-pro-move reMarkable Paper Pro Move. No toolbar (Scribe pack). Alias paper-pro-move
supernote-a5 SuperNote A5. Toolbar top 8mm (Nomad pack). Alias a5
supernote-a5x SuperNote A5 X. Same canvas as A5; own name. Alias a5x
supernote-a6 SuperNote A6. Same canvas as Nomad; MOS chrome (not Topband). Alias a6
supernote-a6x SuperNote A6 X. Same canvas as Nomad; MOS chrome (not Topband). Alias a6x
kindle-scribe-11 Kindle Scribe 11. No toolbar (Scribe pack). Alias scribe-11
kindle-scribe-colorsoft Kindle Scribe Colorsoft. Same B&W canvas as Scribe 11. Alias colorsoft
ipad-mini iPad mini. No toolbar (Scribe pack). Alias mini
ipad-air-11 iPad Air 11. No toolbar (Scribe pack). Aliases ipad, air-11
ipad-pro-11 iPad Pro 11. No toolbar (Scribe pack). Alias pro-11
ipad-pro-13 iPad Pro 13. No toolbar (Scribe pack). Alias pro-13

Development

uv sync
uv run pytest

CI runs pytest and a Nomad parch press. On master, CI also runs parch specimen for the framed devices (four paper×hand permutations each) and deploys the catalog to GitHub Pages.

Experimental: compile through the PyPI typst binding instead of the CLI.

uv sync --extra typst-native
PARCH_TYPST=py uv run parch press supernote-nomad

Or uv tool install --with typst==0.15.0 parch, then PARCH_TYPST=py parch press supernote-nomad. Default is still cli. There is no auto. The binding is 0.15.0; the CLI pin is v0.15.1.

uv run pytest skips the full-book comparison (slow). Run it with uv run pytest -m slow -o addopts=.

Regenerate the thumbs above with parch specimen 158x210.

Ship steps live in Releasing. Hero planner PDFs (device × paper × hand) attach from release-pdfs.yml (not Pages, not a PyPI gate).

License

MIT. See LICENSE.

Releases

Packages

Used by

Contributors

Languages