Scriptoria β a research workbench for IIIF manuscripts.
Web Β
scriptoriaβ 127.0.0.1:8000 βΒ·β CLI Βscriptoria-cli "<manifest-url>"
git clone https://github.com/nikazzio/scriptoria.git
cd scriptoria
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
scriptoriaflowchart LR
A[π Discovery] --> B[π Library]
B --> C[π Studio]
C --> D[π€ Output]
A -. search/resolve .-> R[(Provider Registry)]
B -. local assets .-> V[(Vault)]
C -. manifests .-> V
D -. export jobs .-> V
| Tab | What it does |
|---|---|
| Discovery | Resolve URLs, IDs, shelfmarks. Search 10+ IIIF libraries. |
| Library | Browse and manage your local manuscript collection. |
| Studio | Document workspace β Mirador viewer, OCR transcription, page actions. |
| Output | PDF inventory, thumbnail-level actions, export job queue. |
- 10+ IIIF providers β Vatican, Gallica, Harvard, Bodleian, Heidelberg, LoC, Archive.org, Cambridge, e-codices, Institut
- Provider registry β shared resolution for web UI and CLI
- PDF export profiles β local and remote high-res modes with quality presets
- Centralized HTTP β retries, exponential backoff, per-library network policies
- Local-first workflow β reproducible storage, no cloud dependencies
scriptoria-cli "https://digi.vatlib.it/iiif/MSS_Urb.lat.1779/manifest.json"Any IIIF-compliant manifest URL works directly.
| π User Guide | ποΈ Architecture |
| βοΈ Config Reference | π HTTP Client |
| π Wiki | ποΈ All Docs |
pytest tests/ # tests
ruff check . --fix # lint
ruff format . # format
ruff check . --select C901 # complexityscriptoria: command not found
source .venv/bin/activate && pip install -e .ruff: command not found
source .venv/bin/activate && pip install -r requirements-dev.txtPort 8000 already in use
Stop the conflicting process and restart scriptoria.
Studio opens without a document
Expected. Open an item from Library, or use the recent-work hub at /studio.
Built for manuscript-heavy research workflows Β· MIT