# Docling Core
[](https://pypi.org/project/docling-core/)

[](https://github.com/astral-sh/uv)
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)
[](https://mypy-lang.org/)
[](https://pydantic.dev)
[](https://github.com/pre-commit/pre-commit)
[](https://opensource.org/licenses/MIT)
Docling Core is a library that defines core data types and transformations in [Docling](https://github.com/docling-project/docling).
## Installation
To use Docling Core, simply install `docling-core` from your package manager, e.g. pip:
```bash
pip install docling-core
```
### Development setup
To develop for Docling Core, you need Python 3.9 / 3.10 / 3.11 / 3.12 / 3.13 and uv. You can then install from your local clone's root dir:
```bash
uv sync --all-extras
```
To run the pytest suite, execute:
```
uv run pytest -s test
```
## Main features
Docling Core provides the foundational DoclingDocument data model and API, as well as
additional APIs for tasks like serialization and chunking, which are key to developing
generative AI applications using Docling.
### DoclingDocument
Docling Core defines the DoclingDocument as a Pydantic model, allowing for advanced
data model control, customizability, and interoperability.
In addition to specifying the schema, it provides a handy API for building documents,
as well as for basic operations, e.g. exporting to various formats, like Markdown, HTML,
and others.
👉 More details:
- [Architecture docs](https://docling-project.github.io/docling/concepts/architecture/)
- [DoclingDocument docs](https://docling-project.github.io/docling/concepts/docling_document/)
### Serialization
Different users can have varying requirements when it comes to serialization.
To address this, the Serialization API introduces a design that allows easy extension,
while providing feature-rich built-in implementations (on which the respective
DoclingDocument helpers are actually based).
👉 More details:
- [Serialization docs](https://docling-project.github.io/docling/concepts/serialization/)
- [Serialization example](https://docling-project.github.io/docling/examples/serialization/)
### Chunking
Similarly to above, the Chunking API provides built-in chunking capabilities as well as
a design that enables easy extension, this way tackling customization requirements of
different use cases.
👉 More details:
- [Chunking docs](https://docling-project.github.io/docling/concepts/chunking/)
- [Hybrid chunking example](https://docling-project.github.io/docling/examples/hybrid_chunking/)
- [Advanced chunking and serialization](https://docling-project.github.io/docling/examples/advanced_chunking_and_serialization/)
## Contributing
Please read [Contributing to Docling Core](./CONTRIBUTING.md) for details.
## References
If you use Docling Core 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 Core codebase is under MIT license.
For individual model usage, please refer to the model licenses found in the original packages.
Raw data
{
"_id": null,
"home_page": null,
"name": "docling-core",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": "Panos Vagenas <pva@zurich.ibm.com>, Michele Dolfi <dol@zurich.ibm.com>, Christoph Auer <cau@zurich.ibm.com>, Peter Staar <taa@zurich.ibm.com>, Cesar Berrospi Ramis <ceb@zurich.ibm.com>",
"keywords": "docling, discovery, etl, information retrieval, analytics, database, database schema, schema, JSON",
"author": null,
"author_email": "Cesar Berrospi Ramis <ceb@zurich.ibm.com>, Panos Vagenas <pva@zurich.ibm.com>, Michele Dolfi <dol@zurich.ibm.com>, Christoph Auer <cau@zurich.ibm.com>, Peter Staar <taa@zurich.ibm.com>",
"download_url": "https://files.pythonhosted.org/packages/60/c9/f5555f8efbbbecce858e78791fbe0b9465c3c91ea917a3a3acdb1c3c9887/docling_core-2.42.0.tar.gz",
"platform": null,
"description": "# Docling Core\n\n[](https://pypi.org/project/docling-core/)\n\n[](https://github.com/astral-sh/uv)\n[](https://github.com/psf/black)\n[](https://pycqa.github.io/isort/)\n[](https://mypy-lang.org/)\n[](https://pydantic.dev)\n[](https://github.com/pre-commit/pre-commit)\n[](https://opensource.org/licenses/MIT)\n\nDocling Core is a library that defines core data types and transformations in [Docling](https://github.com/docling-project/docling).\n\n## Installation\n\nTo use Docling Core, simply install `docling-core` from your package manager, e.g. pip:\n```bash\npip install docling-core\n```\n\n### Development setup\n\nTo develop for Docling Core, you need Python 3.9 / 3.10 / 3.11 / 3.12 / 3.13 and uv. You can then install from your local clone's root dir:\n```bash\nuv sync --all-extras\n```\n\nTo run the pytest suite, execute:\n```\nuv run pytest -s test\n```\n\n## Main features\n\nDocling Core provides the foundational DoclingDocument data model and API, as well as\nadditional APIs for tasks like serialization and chunking, which are key to developing\ngenerative AI applications using Docling.\n\n### DoclingDocument\n\nDocling Core defines the DoclingDocument as a Pydantic model, allowing for advanced\ndata model control, customizability, and interoperability.\n\nIn addition to specifying the schema, it provides a handy API for building documents,\nas well as for basic operations, e.g. exporting to various formats, like Markdown, HTML,\nand others.\n\n\ud83d\udc49 More details:\n- [Architecture docs](https://docling-project.github.io/docling/concepts/architecture/)\n- [DoclingDocument docs](https://docling-project.github.io/docling/concepts/docling_document/)\n\n### Serialization\n\nDifferent users can have varying requirements when it comes to serialization.\nTo address this, the Serialization API introduces a design that allows easy extension,\nwhile providing feature-rich built-in implementations (on which the respective\nDoclingDocument helpers are actually based).\n\n\ud83d\udc49 More details:\n- [Serialization docs](https://docling-project.github.io/docling/concepts/serialization/)\n- [Serialization example](https://docling-project.github.io/docling/examples/serialization/)\n\n### Chunking\n\nSimilarly to above, the Chunking API provides built-in chunking capabilities as well as\na design that enables easy extension, this way tackling customization requirements of\ndifferent use cases.\n\n\ud83d\udc49 More details:\n- [Chunking docs](https://docling-project.github.io/docling/concepts/chunking/)\n- [Hybrid chunking example](https://docling-project.github.io/docling/examples/hybrid_chunking/)\n- [Advanced chunking and serialization](https://docling-project.github.io/docling/examples/advanced_chunking_and_serialization/)\n\n## Contributing\n\nPlease read [Contributing to Docling Core](./CONTRIBUTING.md) for details.\n\n## References\n\nIf you use Docling Core in your projects, please consider citing the following:\n\n```bib\n@techreport{Docling,\n author = \"Deep Search Team\",\n month = 8,\n title = \"Docling Technical Report\",\n url = \"https://arxiv.org/abs/2408.09869\",\n eprint = \"2408.09869\",\n doi = \"10.48550/arXiv.2408.09869\",\n version = \"1.0.0\",\n year = 2024\n}\n```\n\n## License\n\nThe Docling Core codebase is under MIT license.\nFor individual model usage, please refer to the model licenses found in the original packages.\n",
"bugtrack_url": null,
"license": null,
"summary": "A python library to define and validate data types in Docling.",
"version": "2.42.0",
"project_urls": {
"changelog": "https://github.com/docling-project/docling-core/blob/main/CHANGELOG.md",
"homepage": "https://github.com/docling-project",
"issues": "https://github.com/docling-project/docling-core/issues",
"repository": "https://github.com/docling-project/docling-core"
},
"split_keywords": [
"docling",
" discovery",
" etl",
" information retrieval",
" analytics",
" database",
" database schema",
" schema",
" json"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0de4685bb1b38ca120fdffc1c24f1ce54229ff996e5cad50a9c9dd39b671cb83",
"md5": "d0ee68b70e1e412f441858f149d4ff0a",
"sha256": "0774391f335217a5aec8357977e66b63b6e8c9d821c56103de54c526eab92ed6"
},
"downloads": -1,
"filename": "docling_core-2.42.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0ee68b70e1e412f441858f149d4ff0a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 158101,
"upload_time": "2025-07-09T12:27:33",
"upload_time_iso_8601": "2025-07-09T12:27:33.147915Z",
"url": "https://files.pythonhosted.org/packages/0d/e4/685bb1b38ca120fdffc1c24f1ce54229ff996e5cad50a9c9dd39b671cb83/docling_core-2.42.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "60c9f5555f8efbbbecce858e78791fbe0b9465c3c91ea917a3a3acdb1c3c9887",
"md5": "db1ece72fe598cccd2af21cf0a790547",
"sha256": "cf2bb9e889920bac1d94412bd89c10e647419b6d5f7fe5e6f71ed732eb8f24f6"
},
"downloads": -1,
"filename": "docling_core-2.42.0.tar.gz",
"has_sig": false,
"md5_digest": "db1ece72fe598cccd2af21cf0a790547",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 154657,
"upload_time": "2025-07-09T12:27:34",
"upload_time_iso_8601": "2025-07-09T12:27:34.858049Z",
"url": "https://files.pythonhosted.org/packages/60/c9/f5555f8efbbbecce858e78791fbe0b9465c3c91ea917a3a3acdb1c3c9887/docling_core-2.42.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-09 12:27:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "docling-project",
"github_project": "docling-core",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "docling-core"
}