Installation¶
VPW needs three things: the Python package, two external command-line tools that every run uses, and, optionally, one or more advanced Markdown converters.
Requirements¶
- Python 3.10 or newer.
ocrmypdfon yourPATH. Everyvpw processrun needs it, even when you ask only formarkdownoryaml, because VPW locates the tool when it starts the pipeline.qpdfon yourPATH. Every run needs it for the same reason.tesseract, with the language data for the documents you OCR.ocrmypdfcalls it.- Ghostscript (
gs).ocrmypdfuses it to write PDF/A output.
The Python dependencies (pikepdf, pypdf, ebooklib, pydantic, fire, rich, loguru and others) install automatically with the package.
Install the Python package¶
-
Install VPW from PyPI:
Or, with pip:
-
Check that the
vpwcommand works:The command prints
Vexy PDF Werk versionfollowed by the installed version.
Install the external tools¶
ocrmypdf is a Python application. You can install it with your system package manager or as a uv tool:
Install the other tools with your system package manager.
Check that VPW will find them:
Tool paths
VPW looks up ocrmypdf and qpdf on PATH only. The tesseract_path setting and the TESSERACT_PATH environment variable are stored, but ocrmypdf still finds Tesseract on its own. See Configuration.
Optional Markdown converters¶
Without extra packages, VPW extracts text with PyPDF (the basic backend). Three other backends become available when you install their packages into the same environment as VPW:
| Backend | Package to install | Import VPW checks |
|---|---|---|
marker |
marker-pdf |
marker.converters.pdf.PdfConverter |
docling |
docling |
docling.document_converter.DocumentConverter |
markitdown |
markitdown |
markitdown.MarkItDown |
To add a backend to a uv tool install:
To add it to a pip environment:
No extras for converters
The package defines no [all] or [epub] extra that installs these converters. Install each one by name. ebooklib, which the ePub step needs, is already a core dependency.
With markdown_backend = "auto" (the default), VPW uses the first backend it can import, in this order: marker, docling, markitdown, basic. See Configuration.
Install from source¶
-
Clone the repository:
-
Create the environment and install the package with its test tools:
-
Run the command from the environment:
The version number comes from the latest Git tag. hatch-vcs writes it to src/vexy_pdf_werk/_version.py when the package is built or installed. If that file is missing, vexy_pdf_werk.__version__ falls back to 0.0.0+dev.