← All reportsPublic report

docling-project/docling

Get your documents ready for gen AI

66k stars Python View on GitHubprofiled 11d ago
Try GitZoid
123PRs this week
46Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

PythonShell

Frameworks

typerrichpydanticpydantic-settingstorch/torchvisiontransformersfastapi (dev test fakes)mkdocs/mkdocstrings (docs)

Infrastructure

Docker (root Dockerfile and .actor/Dockerfile wrapping quay.io/ds4sd/docling-serve-cpu)Apify Actor platform (.actor/actor.json, actor.sh)pre-commit (prek)tach module-boundary enforcementpytest/pytest-xdist/coverage CI toolingpython-semantic-release versioning

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.

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.

03 · Security check

Dependencies and code review

0 dependencies scanned

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