docling

Get your documents ready for gen AI

https://github.com/docling-project/docling

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    2 of 113 committers (1.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

ai convert document-parser document-parsing documents docx html markdown pdf pdf-converter pdf-to-json pdf-to-text pptx tables xlsx

Keywords from Contributors

rag agents knowledge-graph semantic-retrieval knowledge-extraction deepsearch accelerated-discovery transformers multi-agents fine-tuning
Last synced: 4 months ago · JSON representation ·

Repository

Get your documents ready for gen AI

Basic Info
Statistics
  • Stars: 37,086
  • Watchers: 161
  • Forks: 2,565
  • Open Issues: 522
  • Releases: 120
Topics
ai convert document-parser document-parsing documents docx html markdown pdf pdf-converter pdf-to-json pdf-to-text pptx tables xlsx
Created over 1 year ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security Maintainers

README.md

Docling

Docling

DS4SD%2Fdocling | Trendshift

arXiv Docs PyPI version PyPI - Python Version uv Ruff Pydantic v2 pre-commit License MIT PyPI Downloads Docling Actor Chat with Dosu 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, images (PNG, TIFF, JPEG, ...), 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 (SmolDocling)
  • 🎙️ Support for Audio with Automatic Speech Recognition (ASR) models
  • 💻 Simple and convenient CLI

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: bash pip install docling

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:

```python 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.exporttomarkdown()) # output: "## Docling Technical Report[...]" ```

More advanced usage options are available in the docs.

CLI

Docling has a built-in CLI to run conversions.

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

You can also use 🥚SmolDocling and other VLMs via Docling CLI: bash docling --pipeline vlm --vlm-model smoldocling 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:

bib @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.

Owner

  • Name: Docling Project
  • Login: docling-project
  • Kind: organization
  • Location: Switzerland

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Docling
message: 'If you use Docling, please consider citing as below.'
type: software
authors:
  - name: Docling Team
identifiers:
  - type: url
    value: 'https://arxiv.org/abs/2408.09869'
    description: 'arXiv:2408.09869'
repository-code: 'https://github.com/docling-project/docling'
license: MIT

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 639
  • Total Committers: 113
  • Avg Commits per committer: 5.655
  • Development Distribution Score (DDS): 0.781
Past Year
  • Commits: 562
  • Committers: 112
  • Avg Commits per committer: 5.018
  • Development Distribution Score (DDS): 0.794
Top Committers
Name Email Commits
Michele Dolfi 9****m 140
github-actions[bot] g****] 119
Panos Vagenas 3****s 81
Christoph Auer 6****t 62
Cesar Berrospi Ramis 7****m 34
Maxim Lysak 1****c 31
Peter W. J. Staar 9****M 23
Nikos Livathinos 1****s 12
Rafael Teixeira de Lima R****a@g****m 6
Copilot 1****t 4
Farzad Sunavala 4****8 4
Matteo 4****i 4
AndrewTsai0406 3****6 3
Clément Doumouro c****o@g****m 3
Shkarupa Alex s****x@g****m 3
geoHeil 1****l 3
Qiefan Jiang c****n@q****m 2
krrome r****h@g****m 2
Maroun Touma t****a@u****m 2
nkh0472 6****2 2
Václav Vančura v****a 2
VIktor Kuropiantnyk 1****m 2
Said Gürbüz 5****z 2
Gaspard Petit g****t@g****m 2
Eugene f****d@g****m 2
DavidLee y****i@f****m 2
Suehtam 8****s 1
Eric Deandrea e****c@e****v 1
Fabiano Franz f****z@r****m 1
Fasal Shah f****8@g****m 1
and 83 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 552
  • Total pull requests: 459
  • Average time to close issues: 23 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 389
  • Total pull request authors: 101
  • Average comments per issue: 0.85
  • Average comments per pull request: 2.15
  • Merged pull requests: 296
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 552
  • Pull requests: 414
  • Average time to close issues: 23 days
  • Average time to close pull requests: 7 days
  • Issue authors: 389
  • Pull request authors: 100
  • Average comments per issue: 0.85
  • Average comments per pull request: 2.38
  • Merged pull requests: 251
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • vagenas (14)
  • divekarsc (12)
  • madmaxtwentytwo (10)
  • dolfim-ibm (10)
  • Fogapod (7)
  • LuRe97 (6)
  • geoHeil (6)
  • ceberam (5)
  • vishaldasnewtide (5)
  • jehlum11 (5)
  • simonschoe (5)
  • major (5)
  • TheMrguiller (4)
  • harinisri2001 (4)
  • NikhilVerma (4)
Pull Request Authors
  • dolfim-ibm (96)
  • vagenas (45)
  • cau-git (35)
  • ceberam (25)
  • PeterStaar-IBM (22)
  • maxmnemonic (17)
  • rateixei (10)
  • AndrewTsai0406 (10)
  • MoheyEl-DinBadr (7)
  • nikos-livathinos (6)
  • ClemDoum (5)
  • felixdittrich92 (4)
  • nkh0472 (4)
  • Nikhil200030 (4)
  • rafaeltuelho (4)
Top Labels
Issue Labels
bug (294) question (152) enhancement (104) html (15) table structure (7) docx (6) pdf parsing (5) ocr (3) pdf (3) chunker (3) table cell intersection (2) markdown (2) layout (2) smoldocling (1) rtl-language (1) performance (1) asciidoc (1) duplicate (1) dependency mgmt (1) vlm-pipeline (1) document-viewer (1) documentation (1) csv (1) xlsx (1) reading_order (1) accelerators (1) pytorch (1)
Pull Request Labels
bug (13) html (12) enhancement (6) markdown (3) icebox (2) asciidoc (2) pdf parsing (1) table structure (1) ocr (1) xml (1) documentation (1) docx (1) tests (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 961,546 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 245
  • Total maintainers: 2
proxy.golang.org: github.com/docling-project/docling
  • Versions: 121
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
pypi.org: docling-enhanced

SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 31 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.5%
Dependent repos count: 51.7%
Maintainers (1)
Last synced: 4 months ago
pypi.org: docling

SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications.

  • Versions: 123
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 961,515 Last month
Rankings
Dependent packages count: 10.6%
Average: 35.3%
Dependent repos count: 59.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/actions/setup-poetry/action.yml actions
  • actions/setup-python v4 composite
.github/workflows/cd.yml actions
  • ./.github/actions/setup-poetry * composite
  • actions/checkout v3 composite
.github/workflows/checks.yml actions
  • ./.github/actions/setup-poetry * composite
  • actions/checkout v3 composite
.github/workflows/ci.yml actions
.github/workflows/pypi.yml actions
  • ./.github/actions/setup-poetry * composite
  • actions/checkout v3 composite
Dockerfile docker
  • python 3.11-slim-bookworm build
poetry.lock pypi
  • 201 dependencies
pyproject.toml pypi
  • black ^24.4.2 develop
  • flake8 ^6.0.0 develop
  • flake8-pyproject ^1.2.3 develop
  • isort ^5.10.1 develop
  • mypy ^1.10.1 develop
  • pre-commit ^3.7.1 develop
  • pylint ^2.17.5 develop
  • pyproject-flake8 ^6.0.0 develop
  • pytest ^7.2.2 develop
  • pytest-xdist ^3.3.1 develop
  • python-semantic-release ^7.32.2 develop
  • types-requests ^2.31.0.2 develop
  • certifi >=2024.7.4
  • deepsearch-glm >=0.19.0,<1
  • docling-core ^1.1.2
  • docling-ibm-models ^1.1.0
  • docling-parse ^0.0.1
  • easyocr ^1.7
  • filetype ^1.2.0
  • huggingface_hub >=0.23,<1
  • pydantic ^2.0.0
  • pydantic-settings ^2.3.0
  • pypdfium2 ^4.30.0
  • python ^3.10
  • requests ^2.32.3