Practical overview
When it fits
Use Py Idp when building a Python application that needs a staged document pipeline and structured, validated extraction rather than a standalone document-reading tool.
Who it is for
- Python developers building invoice, form or other document-extraction workflows.
- Teams that need schema-shaped extraction with validation and human-review routing.
- Developers assembling document-processing services from configurable OCR, PDF and LLM components.
Documented uses
- Classify incoming documents and extract fields into Pydantic-defined structures.
- Assess confidence and validate extraction results against schemas and business rules.
- Route results for human review when needed.
- Add OCR or PDF-processing components and expose a workflow through the optional FastAPI server.
Requirements & limits
The repository specifies Python 3.10 or later. Its README identifies AGPL-3.0-or-later and a commercial licensing option.
- The core package includes a mock backend; provider integrations and several processing features are optional extras.
- The README lists OpenAI, Anthropic, Ollama, China-provider integrations and self-hosted Nanonets-OCR2-3B OCR.
- Optional components include Docling for PDF table extraction, Tesseract fallback for noisy scans, PDF rendering, an evaluation harness and a FastAPI server.
- The pipeline exposes per-field confidence and validation results, with a human-review stage.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Py Idp and run the documented mock extraction
Prepare the core library and run its example extraction flow using the in-tree mock backend.
Before you start
- Python 3.10 or later
- A PDF or text document such as invoice.pdf or invoice.txt
Steps
Install the core package with pip install py-idp.
Place invoice.pdf or invoice.txt in the current directory.
Run python examples/00_zero_to_extraction.py.
Expected outcome
The example prints extracted fields and provides a hint for switching to a local LLM.
Guide limitations
- The core install uses the mock backend by default; this flow does not configure a real LLM.
- Optional extras are needed for additional providers and features such as the FastAPI server or OCR fallback.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- rollroyces/py-idp · Official homepage title · retained in its source language

