Skip to content

RTF22/PALI

Repository files navigation

🌐 English · Deutsch

PALI

PDF Annotation Layer for Ink — non-destructive handwritten PDF annotation for Windows 10/11.

  • The original PDF is never modified; notes live separately in <document>.pali.json (or bundled in <document>.palz).
  • Input via mouse or pressure-sensitive stylus (Wacom One S CTC4110WL is the reference hardware, Windows-Ink compatible).
  • Export as merged PDF — the SHA-256 of the original bytes stays identical.
  • Multi-user beta: per-author identity, edit-lock for foreign strokes, status (open / in progress / done) on anchor notes, audit trail.
  • Multilingual UI: German is the default, English ships in the box, additional locales drop in as JSON files (see docs/translating.md).

Current state: v0.4.0 — first stable release. Phases 1–3.6 (MVP, anchored notes, multi-user beta) complete, tablet hardware validated, polish phase shipped (portable build, About dialog, winget/Scoop manifests, multilingual UI). Phase 4 (OCR) postponed. Architecture overview in docs/architecture.md.

Installation (beta)

Download the portable ZIP from the Releases page, unzip it, and start PALI.exe — no Python required, no installer, no registry entry. On startup the app checks for new releases (including beta pre-releases) in the background and offers download + helper-batch swap.

Coming soon via winget install RTF22.PALI and scoop install pali.

Development

# Editable install incl. dev dependencies
python -m pip install -e ".[dev,packaging]"

# Tests
pytest -q

# Linter / formatter / type-check (CI required checks)
ruff check .
ruff format --check .
python -m mypy pali

# Run the app
python -m pali

Requires Python 3.11+ on Windows 10/11.

Build (portable .exe)

packaging\build_exe.bat

Result: dist\PALI\PALI.exe + DLLs (~80 MB zipped). Details in packaging/README.md.

CI: tag v*.*.* triggers .github/workflows/release.yml → PyInstaller build → GitHub release ZIP.

Translations

PALI ships German (default) and English. To contribute another language, drop a <code>.json file into pali/locales/ — see the translator guide in docs/translating.md (Deutsch: docs/translating.de.md).

License

MIT — see LICENSE.

About

PALI — PDF Annotation Layer for Ink. Non-destructive handwritten annotation for Windows.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors