PeerFold
Website: vincenzoml.github.io/PeerFold · Source: github.com/vincenzoml/PeerFold
Review PDFs in a native window. Click, type, done.
Saved reviews: manuscript_VC-2026-06-09.pdf next to the original.
Install
macOS & Linux
curl -fsSL https://vincenzoml.github.io/PeerFold/install.sh | bash
Windows (PowerShell)
irm https://vincenzoml.github.io/PeerFold/install.ps1 | iex
Python 3.10+
python3 -m pip install --user peerfold-review
peerfold manuscript.pdf --reviewer RB
Over SSH: peerfold paper.pdf --web
Shared folder or git repo
One launcher file — pinned PyPI version, same build for every co-author. Do not submodule PeerFold.
One-liner (from project root):
curl -fsSLO https://vincenzoml.github.io/PeerFold/peerfold.py && chmod +x peerfold.py
./peerfold.py your-paper.pdf --reviewer AB
Or download peerfold.py into your project root. Packages are cached in ~/.local/share/peerfold/cache (uv; override with PEERFOLD_CACHE / PEERFOLD_DATA).
Upgrade when needed:
./peerfold.py --update # then commit peerfold.py
Site: vincenzoml.github.io/PeerFold
Usage
peerfold paper.pdf # native window (default)
peerfold paper.pdf -r VC # reviewer short name
peerfold paper.pdf --web # system browser (SSH)
peerfold paper.pdf --no-browser # server only
Environment: PEERFOLD_REVIEWER sets the default reviewer name. Set PEERFOLD_SAVE_COPY=1 to write sidecar files (paper_VC-2026-06-09.pdf) instead of editing in place.
Roadmap
Planned features (discussion and design in GitHub issues):
| Feature | Issue |
|---|---|
| Merge comments from different PDFs into one view | #1 |
| PDF diff view for revised manuscripts | #2 |
| GitHub integration for paper repos and review versioning | #3 |
| Export comments to human-readable text (page, section, quote) | #4 |
Development
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
peerfold sample.pdf
pytest
License
MIT — see LICENSE. Uses PyMuPDF (AGPL).
Brought to you by vincenzoml@gmail.com · vincenzoml.github.io
Metadata
Release files for peerfold-review 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peerfold_review-1.0.0.tar.gz | 150.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peerfold_review-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 296.1 kB
Release files / peerfold_review-1.0.0.tar.gz
| Download URL | peerfold_review-1.0.0.tar.gz |
|---|---|
| Size | 150.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
315e44ea2b94acfa9e7ebec53d3c256be5df563b6de34dc715ffd5eaae0ffbf0
|
|
BLAKE2b-256 checksum How to use checksums |
1c8ead43571f72ab65701ea04d8ebaca464445182d6de7fbbf2479eab0382b31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / peerfold_review-1.0.0-py3-none-any.whl
| Download URL | peerfold_review-1.0.0-py3-none-any.whl |
|---|---|
| Size | 145.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
955e92b610d98047c06b1ccd74cd0d93e118e6371305a71841b83dd58291bd88
|
|
BLAKE2b-256 checksum How to use checksums |
2d6a4afc6c0dd44a9cf56bf821fe5658e9bd6dc806f5f88ae311094a4c76926c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|