This release is a pre-release and may not be stable for production use.
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, CSV, 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)
Quickstart
1. Install
pip install docling-pipelines
Requires Python 3.12. Works on macOS and Linux (x86_64 and arm64).
2. 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
3. Python API
from docpipe.lib.docpipe_flow_manager import DocpipeFlowManager
manager = DocpipeFlowManager(flow_file="path/to/flow.json")
result = manager.execute()
Log verbosity is controlled via DS_LOG_LEVEL (DEBUG, INFO, WARNING).
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 File Ingest (ingest_local), Remote Source Ingest (ingest_source) — S3, IBM COS, SharePoint, OneDrive, Google Drive, Box, CSV, 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 |
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docling_pipelines-1.0.0.dev2.tar.gz.
File metadata
- Download URL: docling_pipelines-1.0.0.dev2.tar.gz
- Upload date:
- Size: 4.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39b11bb6fa9e6eba2083b189a012d807659bb271af6f7d6d76a6aa2af7292cc5
|
|
| MD5 |
919c34a8af1f51b97088409818366bc4
|
|
| BLAKE2b-256 |
499b5ad310d7dd40d0c36a269dca31bf2fc5fa5c59d432fb61fee3306ee8934f
|
Provenance
The following attestation bundles were made for docling_pipelines-1.0.0.dev2.tar.gz:
Publisher:
pypi.yml on IBM/docling-pipelines
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
docling_pipelines-1.0.0.dev2.tar.gz -
Subject digest:
39b11bb6fa9e6eba2083b189a012d807659bb271af6f7d6d76a6aa2af7292cc5 - Sigstore transparency entry: 2280137233
- Sigstore integration time:
-
Permalink:
IBM/docling-pipelines@98376f9a7d6785059943ce412f1633809e7d8271 -
Branch / Tag:
refs/tags/v1.0.0.dev2 - Owner: https://github.com/IBM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@98376f9a7d6785059943ce412f1633809e7d8271 -
Trigger Event:
release
-
Statement type:
File details
Details for the file docling_pipelines-1.0.0.dev2-py3-none-any.whl.
File metadata
- Download URL: docling_pipelines-1.0.0.dev2-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb777ed4acf32d38b46a0de815bbc030411705bfa0a9cf5d6aa94ed778ee8c62
|
|
| MD5 |
7347604862b726d25d2ed1b0b2f48faa
|
|
| BLAKE2b-256 |
2abcd9ea176a4c17c4f08ccda1c6083415d5e4dc7dfdfa7826e4b9f4b1580b27
|
Provenance
The following attestation bundles were made for docling_pipelines-1.0.0.dev2-py3-none-any.whl:
Publisher:
pypi.yml on IBM/docling-pipelines
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
docling_pipelines-1.0.0.dev2-py3-none-any.whl -
Subject digest:
bb777ed4acf32d38b46a0de815bbc030411705bfa0a9cf5d6aa94ed778ee8c62 - Sigstore transparency entry: 2280137241
- Sigstore integration time:
-
Permalink:
IBM/docling-pipelines@98376f9a7d6785059943ce412f1633809e7d8271 -
Branch / Tag:
refs/tags/v1.0.0.dev2 - Owner: https://github.com/IBM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@98376f9a7d6785059943ce412f1633809e7d8271 -
Trigger Event:
release
-
Statement type: