Installation¶
ingestlib needs Python 3.12+, one system dependency for Office formats, and an OCR inference server for parsing. This page gets all three in place.
1. Install the package¶
uv add ingestlib
pip install ingestlib
git clone https://github.com/LangModule/ingestlib.git
cd ingestlib
uv sync
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
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.
brew install --cask libreoffice
sudo apt install libreoffice-core libreoffice-writer libreoffice-impress
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):
uv run python -m mlx_vlm.server --port 8111 --model PaddlePaddle/PaddleOCR-VL-1.6
Served by vLLM:
vllm serve PaddlePaddle/PaddleOCR-VL-1.6 --port 8111
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.
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.