Docling pipelines
What is Docling pipelines?
Docling pipelines is an enterprise-grade document curation pipeline for Retrieval Augmented Generation (RAG) applications. It ingests data from unstructured sources, curates documents, and writes entities and vector embeddings to targets — enabling AI-ready pipelines at scale.
It connects to cloud document sources (S3, OneDrive, SharePoint, Google Drive, Box, and more) and extracts content and entities from PDF, DOCX, HTML, images, and other formats using Docling. Extracted content is curated for LLMs, converted into chunks and embeddings, and stored in a vector database such as Milvus or OpenSearch.
Features
- 📥 Multi-source ingestion — local filesystem, Amazon S3, IBM COS, SharePoint, OneDrive, Google Drive, Box, Dropbox, and web pages
- 📄 Document extraction — PDF, DOCX, HTML, images, and more via Docling, with optional VLM and ASR pipelines
- 🧠 Entity extraction — LLM-based extraction via LiteLLM (100+ providers), IBM watsonx.ai, or Docling templates
- ✂️ Chunking — Docling-native and semantic chunking strategies
- 🔢 Embeddings — vector embedding generation for any downstream vector store
- 🔍 Quality operators — language detection, readability scoring, PII/HAP detection, deduplication, redaction, SQL filtering, document classification, and ML enrichment
- 🗄️ Vector storage — write to OpenSearch or Milvus
- 🔀 DAG-based flows — define pipelines as JSON with automatic dependency resolution and parallel execution
- 🔌 Extensible — load custom operators from Python packages, local paths, or S3 without modifying core code
- 🖥️ Multiple interfaces — CLI, Python API (
DocpipeFlowManager), and REST API (FastAPI)
Installation
pip install docling-pipelines
Requires Python 3.12. Works on macOS and Linux (x86_64 and arm64).
OCR Installation
RapidOCR is included in the default PyPI installation and works out of the box. For advanced setups, platform-specific extras, or other OCR backends, see the Extract Operator Guide.
Lightweight variant
For a lightweight version of docling-pipelines that excludes certain operator dependencies, see docs/guides/SLIM_VARIANT.md.
Quickstart
1. Run a flow (CLI)
docling-pipelines --flow-file path/to/flow.json
Validate without executing:
docling-pipelines --flow-file flow.json --validate
List all available operators:
docling-pipelines --list-operators
2. Python API
from docpipe import DocpipeFlowManager
manager = DocpipeFlowManager(flow_file="path/to/flow.json")
result = manager.execute()
Log verbosity is controlled via DS_LOG_LEVEL (DEBUG, INFO, WARNING).
UI
Docling pipelines includes a React + TypeScript frontend (IBM Carbon Design System) served by the FastAPI backend at /ui.
Development setup
Prerequisites: Node.js 22.15.1 (use nvm use in the frontend/ directory), npm.
1. Start the backend:
uvicorn docpipe.api.main:app --reload --host 0.0.0.0 --port 8080
2. Start the frontend dev server (separate terminal):
cd frontend
nvm use
npm install
npm run dev
# UI available at http://localhost:3000
Production (bundled with the wheel)
The frontend is automatically built and bundled into the wheel during uv build. After installing:
uvicorn docpipe.api.main:app --host 0.0.0.0 --port 8080
# UI available at http://localhost:8080/ui
For full details see FRONTEND_BUILD_INTEGRATION.md.
Documentation
Check out the full documentation for installation, flow authoring, operator reference, and more:
- Quick Start Guide — first pipeline in under 5 minutes
- Pipeline Setup Guide — complete setup with Ollama, OpenSearch, and flow examples
- Flow Authoring Format — declarative flow authoring
- Operator Reference — full parameter specs for all operators
- Architecture — system design and distributed execution patterns
- Troubleshooting — common issues and solutions
Available Operators
| Category | Operators |
|---|---|
| Ingest | Local Filesystem & Remote Source Ingest (ingest_source) — filesystem, S3, IBM COS, SharePoint, OneDrive, Google Drive, Box, Dropbox, web |
| Extract | Document Extractor (extract_operator), ACL Extraction (acl_operator) |
| Functional | Chunking (chunker), Embeddings (embeddings), Branching Operator (branching), Merge Operator (merge), Document ID Hash (doc_id_hash), Entity Curation (entity_curation), No-op (noop) |
| Quality | Language Annotator (lang_detect), Readability Operator (readability), PII and HAP Annotator (pii_and_hap), Document Classifier (document_classifier), Annotation Filter (sql_filter), Redaction (redaction), De-duplicator (ededup), ML Text Enrichment (ml_enrichment), Document Quality (doc_quality) |
| VectorDB | Vector Database (vectordb) — OpenSearch, Milvus |
| Storage | Document Set (document_set) — DuckDB-backed document collections, Storage Output (storage_output) — write pipeline output to filesystem, S3, IBM COS, and more |
For per-operator configuration guides, see Operator Configuration Guides.
Examples
Explore sample flows and DocpipeFlowManager examples for common pipeline patterns.
For interactive, hands-on tutorials, see the Jupyter notebook examples.
Contributing
Please read Contributing to Docling pipelines for development setup, code standards, testing requirements, and the pull request process.
License
The Docling pipelines codebase is under the MIT License.
Metadata
Release files for docling-pipelines 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| docling_pipelines-2.0.0.tar.gz | 5.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| docling_pipelines-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.2 MB
Release files / docling_pipelines-2.0.0.tar.gz
| Download URL | docling_pipelines-2.0.0.tar.gz |
|---|---|
| Size | 5.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb20b4472fad7a5e67a829240c7663378826c46e11c74d22dc13ed29cf0c4d83
|
|
BLAKE2b-256 checksum How to use checksums |
94249ac328f1e1db4cf7a094bb2cadd2602f18acd6db794d5a19916d632bb3d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency logRelease files / docling_pipelines-2.0.0-py3-none-any.whl
| Download URL | docling_pipelines-2.0.0-py3-none-any.whl |
|---|---|
| Size | 4.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c291f76869354fcb9b63a631dea532a12ec5c4041f38a36e0bc437acacbc6769
|
|
BLAKE2b-256 checksum How to use checksums |
dd9e392ffdc3612b73245be320c366f5763c682f7223e5f724fd12c23a7e815d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency log