back to home

docling-project / docling

Get your documents ready for gen AI

53,816 stars
3,644 forks
845 issues
PythonShellDockerfile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing docling-project/docling in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/docling-project/docling)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<p align="center"> <a href="https://github.com/docling-project/docling"> <img loading="lazy" alt="Docling" src="https://github.com/docling-project/docling/raw/main/docs/assets/docling_processing.png" width="100%"/> </a> </p>

Docling

<p align="center"> <a href="https://trendshift.io/repositories/12132" target="_blank"><img src="https://trendshift.io/api/badge/repositories/12132" alt="DS4SD%2Fdocling | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p>

arXiv Docs PyPI version PyPI - Python Version uv Ruff Pydantic v2 pre-commit License MIT PyPI Downloads Docling Actor Chat with Dosu Discord OpenSSF Best Practices LF AI & Data

Docling simplifies document processing, parsing diverse formats โ€” including advanced PDF understanding โ€” and providing seamless integrations with the gen AI ecosystem.

Features

  • ๐Ÿ—‚๏ธ Parsing of multiple document formats incl. PDF, DOCX, PPTX, XLSX, HTML, WAV, MP3, WebVTT, images (PNG, TIFF, JPEG, ...), LaTeX, and more
  • ๐Ÿ“‘ Advanced PDF understanding incl. page layout, reading order, table structure, code, formulas, image classification, and more
  • ๐Ÿงฌ Unified, expressive DoclingDocument representation format
  • โ†ช๏ธ Various export formats and options, including Markdown, HTML, DocTags and lossless JSON
  • ๐Ÿ”’ Local execution capabilities for sensitive data and air-gapped environments
  • ๐Ÿค– Plug-and-play integrations incl. LangChain, LlamaIndex, Crew AI & Haystack for agentic AI
  • ๐Ÿ” Extensive OCR support for scanned PDFs and images
  • ๐Ÿ‘“ Support of several Visual Language Models (GraniteDocling)
  • ๐ŸŽ™๏ธ Audio support with Automatic Speech Recognition (ASR) models
  • ๐Ÿ”Œ Connect to any agent using the MCP server
  • ๐Ÿ’ป Simple and convenient CLI

What's new

  • ๐Ÿ“ค Structured information extraction [๐Ÿงช beta]
  • ๐Ÿ“‘ New layout model (Heron) by default, for faster PDF parsing
  • ๐Ÿ”Œ MCP server for agentic applications
  • ๐Ÿ’ฌ Parsing of Web Video Text Tracks (WebVTT) files
  • ๐Ÿ’ฌ Parsing of LaTeX files

Coming soon

  • ๐Ÿ“ Metadata extraction, including title, authors, references & language
  • ๐Ÿ“ Chart understanding (Barchart, Piechart, LinePlot, etc)
  • ๐Ÿ“ Complex chemistry understanding (Molecular structures)

Installation

To use Docling, simply install docling from your package manager, e.g. pip:

pip install docling

Note: Python 3.9 support was dropped in docling version 2.70.0. Please use Python 3.10 or higher.

Works on macOS, Linux and Windows environments. Both x86_64 and arm64 architectures.

More detailed installation instructions are available in the docs.

Getting started

To convert individual documents with python, use convert(), for example:

from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"  # document per local path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())  # output: "## Docling Technical Report[...]"

More advanced usage options are available in the docs.

CLI

Docling has a built-in CLI to run conversions.

docling https://arxiv.org/pdf/2206.01062

You can also use ๐ŸฅšGraniteDocling and other VLMs via Docling CLI:

docling --pipeline vlm --vlm-model granite_docling https://arxiv.org/pdf/2206.01062

This will use MLX acceleration on supported Apple Silicon hardware.

Read more here

Documentation

Check out Docling's documentation, for details on installation, usage, concepts, recipes, extensions, and more.

Examples

Go hands-on with our examples, demonstrating how to address different application use cases with Docling.

Integrations

To further accelerate your AI application development, check out Docling's native integrations with popular frameworks and tools.

Get help and support

Please feel free to connect with us using the discussion section.

Technical report

For more details on Docling's inner workings, check out the Docling Technical Report.

Contributing

Please read Contributing to Docling for details.

References

If you use Docling in your projects, please consider citing the following:

@techreport{Docling,
  author = {Deep Search Team},
  month = {8},
  title = {Docling Technical Report},
  url = {https://arxiv.org/abs/2408.09869},
  eprint = {2408.09869},
  doi = {10.48550/arXiv.2408.09869},
  version = {1.0.0},
  year = {2024}
}

License

The Docling codebase is under MIT license. For individual model usage, please refer to the model licenses found in the original packages.

LF AI & Data

Docling is hosted as a project in the LF AI & Data Foundation.

IBM โค๏ธ Open Source AI

The project was started by the AI for knowledge team at IBM Research Zurich.