docling-project/docling
Get your documents ready for gen AI
How docling is put together
Docling is a Python SDK and CLI that converts documents (PDF, DOCX, PPTX, XLSX, HTML, Markdown, LaTeX, email, iWork, XML dialects, audio/video) into a unified structured document representation for GenAI/RAG workflows. It is organized as a uv workspace of three Hatchling-built distributions: docling-slim (all source code, modular extras), docling (meta-package re-exporting slim with 'standard' extras), and docling-client (remote-serving SDK). Data flows from input sources through format-specific backends (docling/backend/*) into pipelines (standard PDF, ASR, VLM, extraction, threaded variants) that run layout/table/OCR/VLM models locally (torch, ONNX) or remotely (OpenAI-compatible APIs, KServe v2 gRPC/HTTP), producing ConversionResults consumed by the Typer/Rich CLI or the async service_client. A companion Apify Actor (.actor/) wraps docling-serve-cpu in Docker for serverless conversion.
Languages
Frameworks
Infrastructure
Major components
Format backends (docling/backend)
Parse each supported input format (PDF via pypdfium2/docling-parse, MS Office, OpenDocument, HTML, Markdown, LaTeX, email, iWork/iwa, JATS/USPTO/XBRL XML, CSV, EPUB, WebVTT) into internal page/item representations.
Conversion pipelines (docling/pipeline)
Orchestrate per-format processing strategies: standard_pdf_pipeline, legacy_standard_pdf_pipeline, threaded_standard_pdf_pipeline, vlm_pipeline, asr_pipeline, video_pipeline, simple_pipeline, and extraction pipelines.
Models & inference engines (docling/models)
Implement layout detection, table structure, OCR engines, picture classification/description, and VLM models, with swappable local/remote inference engines including KServe v2 HTTP/gRPC clients.
Datamodel & settings (docling/datamodel)
Pydantic option/spec classes (pipeline options, accelerator options, model specs, service request/response types) plus DOCLING_-prefixed environment-driven AppSettings.
CLI (docling/cli)
Typer apps for local conversion (main.py), model download/tools (tools.py), and remote docling-serve conversion (remote.py) with export utilities.
Service client (docling/service_client)
Async HTTP/WebSocket client SDK with scheduler, job handling, and watchers for submitting conversion tasks to a remote docling-serve endpoint.
Remote inference utilities (docling/utils/api_image_request.py)
Send base64-encoded page images with prompts to OpenAI-compatible chat-completion endpoints (streaming SSE and non-streaming) with retry/backoff for VLM pipelines.
Apify Actor wrapper (.actor/)
Serverless packaging that starts docling-serve on port 5001 inside the official CPU Docker image, health-checks it, posts /v1alpha/convert/source, and stores results in Apify key-value stores.
A busy week of bug fixes across formats plus new iWork table recovery, faster layout matching, and compact-table output options.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A busy week of bug fixes across formats plus new iWork table recovery, faster layout matching, and compact-table output options.
Week of 2026-08-17
Apple Pages support arrived, along with better OCR input selection and a batch of coordinate and rendering fixes.
Week of 2026-08-10
Outlook .msg support and smarter PDF heading detection headlined a week full of format-specific crash fixes.
Week of 2026-08-03
An EBCDIC backend debuted while Word list numbering, section headers, and inline-text bugs got careful repairs.
Week of 2026-07-27
Agent skills for using docling launched, PowerPoint slides gained visual reading order, and speech recognition got language auto-detection.
Over the past five weeks, the docling project shipped a steady stream of new file-format support — Apple Pages, Outlook .msg, EBCDIC text, and iWork documents — alongside a wave of reliability fixes for PDF, Word, and PowerPoint parsing. Performance work landed to speed up layout and table-cell matching, and the team invested heavily in tests and documentation. The service side also grew, with a new docling-client package, chunking options in the API, and richer CLI controls.
Week by week
2026-08-24A busy week of bug fixes across formats plus new iWork table recovery, faster layout matching, and compact-table output options.latest6 changes
Refactor
Faster layout and table cell matching
The code that matches detected layout regions and table cells was optimized so document conversion runs noticeably quicker.
Feature
iWork titles, headings, and tables
Apple iWork '09 files can now have their titles, headings, and tables recovered during conversion.
Feature
Compact tables option
A new compact_tables setting lets users request smaller, simplified table output when converting documents.
Fix
Hyphen handling fixed
A hyphen at the end of a line that does not actually split a word is now preserved instead of being wrongly removed.
Fix
Tables and pictures nested in form regions
Layout processing now correctly places tables and pictures inside form areas instead of leaving them loose.
Chore
Expanded test coverage
New tests were added for the service client, KServe transport, speaker diarization, and developer tooling.
2026-08-17Apple Pages support arrived, along with better OCR input selection and a batch of coordinate and rendering fixes.6 changes
Feature
Apple Pages (.pages) support
Users can now convert Apple Pages documents directly with docling.
Feature
Improved PDF page backend
The PDF page backend was extended for tighter integration with docling-parse and smarter choice of OCR inputs.
Feature
Service version negotiation header
The service client now advertises which DoclingDocument version it accepts via an Accept header.
Fix
Page rotation respected in coordinates
Rotated PDF pages no longer produce misplaced text cells because rotation is now applied to their coordinates.
Fix
DPI respected in image rendering
Image-based conversions now honor the requested DPI so output quality matches expectations.
Fix
Content controls with pictures handled
Word documents that nest pictures inside content-control elements no longer lose those images.
2026-08-10Outlook .msg support and smarter PDF heading detection headlined a week full of format-specific crash fixes.6 changes
Feature
Outlook .msg support
Outlook email files can now be converted, with optional listing of their attachments.
Feature
Heading levels inferred from fonts
PDF headings are now detected by analyzing font weight, slant, and capitalization rather than relying only on styles.
Feature
New docling-client package
A standalone Python client package was published so apps can talk to docling services more easily.
Feature
CLI engine and page-range options
The command line gained flags to pick layout/table engines and convert only a chosen range of pages.
Fix
Headings found via outline level
Word headings using custom style names are still recognized when they carry an outline level.
Fix
PowerPoint chart and shape fixes
Unsupported 3-D charts no longer crash conversion, and shapes positioned exactly at the left edge keep their correct placement.
2026-08-03An EBCDIC backend debuted while Word list numbering, section headers, and inline-text bugs got careful repairs.6 changes
Feature
EBCDIC backend
Documents encoded in the legacy EBCDIC character set can now be converted.
Feature
Heading inference exposed in service API
The PDF heading-level detection feature became available through the service API as well as locally.
Fix
Word headers and footers kept
Section header and footer content in Word documents is no longer dropped during conversion.
Fix
Ordered lists resume numbering
Numbered Word lists continue from where they left off after an unrelated list interrupts them.
Fix
Pictures inside table cells preserved
Images embedded within PDF table cells are now kept in the output instead of being lost.
Fix
ODF text after inline elements saved
Text following inline formatting elements in OpenDocument files is no longer cut off.
2026-07-27Agent skills for using docling launched, PowerPoint slides gained visual reading order, and speech recognition got language auto-detection.6 changes
Feature
Agent skills for docling
Ready-made skill files were added so AI agents can learn how to use docling effectively.
Fix
Slides read in visual order
PowerPoint shapes are now processed top-to-bottom, left-to-right on the slide instead of in arbitrary file order.
Feature
All PP-OCR languages via RapidOCR
The RapidOCR model was refactored to support every PP-OCR language through automatic version and backbone resolution.
Fix
Speech auto-detects language
Audio transcription now detects the spoken language automatically instead of always assuming English.
Feature
Chunking options in service API
The service data models gained chunking options and targets so clients can control how documents are split.
Fix
Deep PDF outlines no longer crash
Very deeply nested PDF bookmarks are walked iteratively, avoiding stack-overflow errors.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required