Docling simplifies document processing, parsing diverse formats — including advanced PDF understanding — and providing seamless integrations with the gen AI ecosystem.
Go to file
Peter W. J. Staar 926dfd29d5
feat: added excel backend (#334)
* feat: added excel backend

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first msexcel backend

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added tooling for the cli

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first working version for excel parsing of tables

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added proper typing for mypy

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added proper typing for mypy

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* refactor EXCEL to XLSX

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added the unit tests

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* ran poetry lock

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* adding images to output [WIP]

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* reformatted the code

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* fixed the mypy

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updated the msexcel

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updated the msexcel (2)

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* fixed the mypy

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added tests for merged cells in excel

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* reformatted the code

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

---------

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
2024-11-19 12:21:17 +01:00
.github ci: fix mergify (#350) 2024-11-15 17:13:01 +01:00
docling feat: added excel backend (#334) 2024-11-19 12:21:17 +01:00
docs docs: add automatic generation of CLI reference (#325) 2024-11-15 13:18:17 +01:00
tests feat: added excel backend (#334) 2024-11-19 12:21:17 +01:00
.gitignore ci: Add Github Actions (#4) 2024-07-16 13:05:04 +02:00
.pre-commit-config.yaml feat!: Docling v2 (#117) 2024-10-16 21:02:03 +02:00
CHANGELOG.md chore: bump version to 2.5.2 [skip ci] 2024-11-13 08:19:09 +00:00
CODE_OF_CONDUCT.md Initial commit 2024-07-15 09:42:42 +02:00
CONTRIBUTING.md Fix Typo errors in CONTRIBUTING.md file (#164) 2024-10-22 07:01:48 +02:00
Dockerfile fix: Dockerfile example copy command (#234) 2024-11-05 12:48:27 +01:00
LICENSE chore: fix placeholders in license (#63) 2024-09-06 17:10:07 +02:00
MAINTAINERS.md docs: Update MAINTAINERS.md (#59) 2024-09-02 12:34:38 +02:00
mkdocs.yml docs: add automatic generation of CLI reference (#325) 2024-11-15 13:18:17 +01:00
poetry.lock feat: added excel backend (#334) 2024-11-19 12:21:17 +01:00
pyproject.toml feat: added excel backend (#334) 2024-11-19 12:21:17 +01:00
README.md docs: update badges & credits (#248) 2024-11-05 13:57:06 +01:00

Docling

Docling

DS4SD%2Fdocling | Trendshift

arXiv Docs PyPI version Python Poetry Code style: black Imports: isort Pydantic v2 pre-commit License MIT

Docling parses documents and exports them to the desired format with ease and speed.

Features

  • 🗂️ Reads popular document formats (PDF, DOCX, PPTX, Images, HTML, AsciiDoc, Markdown) and exports to Markdown and JSON
  • 📑 Advanced PDF document understanding including page layout, reading order & table structures
  • 🧩 Unified, expressive DoclingDocument representation format
  • 🤖 Easy integration with LlamaIndex 🦙 & LangChain 🦜🔗 for powerful RAG / QA applications
  • 🔍 OCR support for scanned PDFs
  • 💻 Simple and convenient CLI

Explore the documentation to discover plenty examples and unlock the full power of Docling!

Coming soon

  • ♾️ Equation & code extraction
  • 📝 Metadata extraction, including title, authors, references & language
  • 🦜🔗 Native LangChain extension

Installation

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

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, 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[...]"

Check out Getting started. You will find lots of tuning options to leverage all the advanced capabilities.

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.

IBM ❤️ Open Source AI

Docling has been brought to you by IBM.