Installation¶
ingestlib needs Python 3.12+, one system dependency for Office formats, and an OCR inference server for parsing — plus, optionally, the PostgreSQL client tools for registry backups. This page gets them in place.
1. Install the package¶
This installs the ingestlib command alongside the library — you'll use it
in the Quickstart to scaffold and verify your setup.
The core install covers the full default stack, including sqlite vectors. Server-backed vector stores are extras — add the one you'll use:
uv add "ingestlib[qdrant]" # or pinecone · pgvector · mongodb · milvus
# · opensearch · weaviate · all
Structured retrieval (querying SQL
databases via retrieve()) has its own extras — postgres · mysql ·
duckdb · snowflake (sqlite needs none). Add them only if you use it.
2. LibreOffice (DOCX/PPTX only)¶
Office documents are converted to PDF before parsing, which needs LibreOffice on the machine. PDFs and images work without it.
3. The OCR inference server¶
parse() (and therefore ingest()) runs
PaddleOCR-VL-1.6 —
a 0.9B vision model — behind an inference server on your own GPU. The first
launch downloads ~1.8 GB of weights; later launches load from cache in
seconds.
Served by mlx-vlm on the Metal GPU (installed automatically with ingestlib on macOS/arm64):
Served by vLLM:
Then set paddle_vl.backend: vllm-server in your config.yaml.
Only parsing needs the server
classify(), split(), extract(), and retrieve() all run without the OCR
server. If you only see a server warning from ingestlib doctor, the
rest of the pipeline still works.
A second, smaller layout model (PP-DocLayoutV3, ~126 MB) downloads automatically on your first parse.
4. PostgreSQL client tools (registry backup only)¶
ingestlib registry backup and restore shell out to pg_dump /
pg_restore. Install them only if you use those commands (or event-driven
auto-backup) — the rest of the pipeline never calls them.
Disk footprint¶
| Component | Size | Location |
|---|---|---|
| Python dependencies | ~1.4 GB core (+ your vector-store extra) | your environment |
| PaddleOCR-VL-1.6 weights | ~1.8 GB | ~/.cache/huggingface/hub/ |
| PP-DocLayoutV3 | ~126 MB | ~/.paddlex/official_models/ |
| LibreOffice | ~600 MB | system |
Next: Quickstart — configure a stack and get your first cited answer.