# Docling Parse
[![PyPI version](https://img.shields.io/pypi/v/docling-parse)](https://pypi.org/project/docling-parse/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docling-parse)](https://pypi.org/project/docling-parse/)
[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
[![Pybind11](https://img.shields.io/badge/build-pybind11-blue)](https://github.com/pybind/pybind11/)
[![Platforms](https://img.shields.io/badge/platform-macos%20|%20linux%20|%20windows-blue)](https://github.com/DS4SD/docling-parse/)
[![License MIT](https://img.shields.io/github/license/DS4SD/docling-parse)](https://opensource.org/licenses/MIT)
Simple package to extract text, paths and bitmap images with coordinates from programmatic PDFs.
This package is used in the [Docling](https://github.com/DS4SD/docling) PDF conversion.
<table>
<tr>
<th>Version</th>
<th>Original</th>
<th>Word-level</th>
<th>Snippet-level</th>
<th>Performance</th>
</tr>
<tr>
<th>V1</th>
<td rowspan="2"><img src="./docs/example_visualisations/2305.14962v1.pdf_page=0.png" alt="screenshot" width="100"/></td>
<td>Not Supported</td>
<td><img src="./docs/example_visualisations/2305.14962v1.pdf_page=0.v1.png" alt="v1 snippet" width="100"/></td>
<td>~0.250 page/sec</td>
</tr>
<tr>
<th>V2</th>
<!-- The "Original" column image spans from the previous row -->
<td><img src="./docs/example_visualisations/2305.14962v1.pdf_page=0.v2.original.png" alt="v1 word" width="100"/></td>
<td><img src="./docs/example_visualisations/2305.14962v1.pdf_page=0.v2.sanitized.png" alt="v2 snippet" width="100"/></td>
<td>~0.050 page/sec <br><br>[~5-10X faster than v1]</td>
</tr>
</table>
## Quick start
Install the package from Pypi
```sh
pip install docling-parse
```
Convert a PDF (look in the [visualise.py](docling_parse/visualise.py) for a more detailed information)
```python
from docling_parse.docling_parse import pdf_parser_v2
# Do this only once to load fonts (avoid initialising it many times)
parser = pdf_parser_v2()
# parser.set_loglevel(1) # 1=error, 2=warning, 3=success, 4=info
doc_file = "my-doc.pdf" # filename
doc_key = f"key={pdf_doc}" # unique document key (eg hash, UUID, etc)
# Load the document from file using filename doc_file. This only loads
# the QPDF document, but no extracted data
success = parser.load_document(doc_key, doc_file)
# Open the file in binary mode and read its contents
# with open(pdf_doc, "rb") as file:
# file_content = file.read()
# Create a BytesIO object and write the file contents to it
# bytes_io = io.BytesIO(file_content)
# success = parser.load_document_from_bytesio(doc_key, bytes_io)
# Parse the entire document in one go, easier, but could require
# a lot (more) memory as parsing page-by-page
# json_doc = parser.parse_pdf_from_key(doc_key)
# Get number of pages
num_pages = parser.number_of_pages(doc_key)
# Parse page by page to minimize memory footprint
for page in range(0, num_pages):
# Internal memory for page is auto-deleted after this call.
# No need to unload a specifc page
json_doc = parser.parse_pdf_from_key_on_page(doc_key, page)
if "pages" not in json_doc: # page could not get parsed
continue
# parsed page is the first one!
json_page = json_doc["pages"][0]
# <Insert your own code>
# Unload the (QPDF) document and buffers
parser.unload_document(doc_key)
# Unloads everything at once
# parser.unload_documents()
```
Use the CLI
```sh
$ docling-parse -h
usage: docling-parse [-h] -p PDF
Process a PDF file.
options:
-h, --help show this help message and exit
-p PDF, --pdf PDF Path to the PDF file
```
## Performance Benchmarks
We ran the v1 and v2 parser on [DocLayNet](https://huggingface.co/datasets/ds4sd/DocLayNet-v1.1). We found the following overall behavior
![parser-performance](./docs/dln-v1.png)
## Development
### CXX
To build the parse, simply run the following command in the root folder,
```sh
rm -rf build; cmake -B ./build; cd build; make
```
You can run the parser from your build folder. Example from parse_v1,
```sh
% ./parse_v1.exe -h
A program to process PDF files or configuration files
Usage:
PDFProcessor [OPTION...]
-i, --input arg Input PDF file
-c, --config arg Config file
--create-config arg Create config file
-o, --output arg Output file
-l, --loglevel arg loglevel [error;warning;success;info]
-h, --help Print usage
```
Example from parse_v2,
```sh
% ./parse_v2.exe -h
program to process PDF files or configuration files
Usage:
PDFProcessor [OPTION...]
-i, --input arg Input PDF file
-c, --config arg Config file
--create-config arg Create config file
-p, --page arg Pages to process (default: -1 for all) (default:
-1)
-o, --output arg Output file
-l, --loglevel arg loglevel [error;warning;success;info]
-h, --help Print usage
```
If you dont have an input file, then a template input file will be printed on the terminal.
### Python
To build the package, simply run (make sure [poetry](https://python-poetry.org/) is [installed](https://python-poetry.org/docs/#installing-with-the-official-installer)),
```
poetry build
```
To test the package, run:
```
poetry run pytest ./tests -v -s
```
## Contributing
Please read [Contributing to Docling Parse](https://github.com/DS4SD/docling-parse/blob/main/CONTRIBUTING.md) 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 Parse 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": "https://github.com/DS4SD/docling-parse",
"name": "docling-parse",
"maintainer": "Peter Staar",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": "taa@zurich.ibm.com",
"keywords": "docling, pdf, parser",
"author": "Peter Staar",
"author_email": "taa@zurich.ibm.com",
"download_url": null,
"platform": null,
"description": "# Docling Parse\n\n[![PyPI version](https://img.shields.io/pypi/v/docling-parse)](https://pypi.org/project/docling-parse/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docling-parse)](https://pypi.org/project/docling-parse/)\n[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n[![Pybind11](https://img.shields.io/badge/build-pybind11-blue)](https://github.com/pybind/pybind11/)\n[![Platforms](https://img.shields.io/badge/platform-macos%20|%20linux%20|%20windows-blue)](https://github.com/DS4SD/docling-parse/)\n[![License MIT](https://img.shields.io/github/license/DS4SD/docling-parse)](https://opensource.org/licenses/MIT)\n\nSimple package to extract text, paths and bitmap images with coordinates from programmatic PDFs.\nThis package is used in the [Docling](https://github.com/DS4SD/docling) PDF conversion.\n\n<table>\n <tr>\n <th>Version</th>\n <th>Original</th>\n <th>Word-level</th>\n <th>Snippet-level</th>\n <th>Performance</th>\n </tr>\n <tr>\n <th>V1</th>\n <td rowspan=\"2\"><img src=\"./docs/example_visualisations/2305.14962v1.pdf_page=0.png\" alt=\"screenshot\" width=\"100\"/></td>\n <td>Not Supported</td>\n <td><img src=\"./docs/example_visualisations/2305.14962v1.pdf_page=0.v1.png\" alt=\"v1 snippet\" width=\"100\"/></td>\n <td>~0.250 page/sec</td>\n </tr>\n <tr>\n <th>V2</th>\n <!-- The \"Original\" column image spans from the previous row -->\n <td><img src=\"./docs/example_visualisations/2305.14962v1.pdf_page=0.v2.original.png\" alt=\"v1 word\" width=\"100\"/></td>\n <td><img src=\"./docs/example_visualisations/2305.14962v1.pdf_page=0.v2.sanitized.png\" alt=\"v2 snippet\" width=\"100\"/></td>\n <td>~0.050 page/sec <br><br>[~5-10X faster than v1]</td>\n </tr>\n</table>\n\n## Quick start\n\nInstall the package from Pypi\n\n```sh\npip install docling-parse\n```\n\nConvert a PDF (look in the [visualise.py](docling_parse/visualise.py) for a more detailed information)\n\n```python\nfrom docling_parse.docling_parse import pdf_parser_v2\n\n# Do this only once to load fonts (avoid initialising it many times)\nparser = pdf_parser_v2()\n\n# parser.set_loglevel(1) # 1=error, 2=warning, 3=success, 4=info\n\ndoc_file = \"my-doc.pdf\" # filename\ndoc_key = f\"key={pdf_doc}\" # unique document key (eg hash, UUID, etc)\n\n# Load the document from file using filename doc_file. This only loads\n# the QPDF document, but no extracted data\nsuccess = parser.load_document(doc_key, doc_file)\n\n# Open the file in binary mode and read its contents\n# with open(pdf_doc, \"rb\") as file:\n# file_content = file.read()\n\n# Create a BytesIO object and write the file contents to it\n# bytes_io = io.BytesIO(file_content)\n# success = parser.load_document_from_bytesio(doc_key, bytes_io)\n\n# Parse the entire document in one go, easier, but could require\n# a lot (more) memory as parsing page-by-page\n# json_doc = parser.parse_pdf_from_key(doc_key)\t\n\n# Get number of pages\nnum_pages = parser.number_of_pages(doc_key)\n\n# Parse page by page to minimize memory footprint\nfor page in range(0, num_pages):\n\n # Internal memory for page is auto-deleted after this call.\n # No need to unload a specifc page \n json_doc = parser.parse_pdf_from_key_on_page(doc_key, page)\n\n if \"pages\" not in json_doc: # page could not get parsed\n continue\n\n # parsed page is the first one!\t\t\t\t \n json_page = json_doc[\"pages\"][0] \n \n\t# <Insert your own code>\n\n# Unload the (QPDF) document and buffers\nparser.unload_document(doc_key)\n\n# Unloads everything at once\n# parser.unload_documents()\n```\n\nUse the CLI\n\n```sh\n$ docling-parse -h\nusage: docling-parse [-h] -p PDF\n\nProcess a PDF file.\n\noptions:\n -h, --help show this help message and exit\n -p PDF, --pdf PDF Path to the PDF file\n```\n\n## Performance Benchmarks\n\nWe ran the v1 and v2 parser on [DocLayNet](https://huggingface.co/datasets/ds4sd/DocLayNet-v1.1). We found the following overall behavior\n\n![parser-performance](./docs/dln-v1.png)\n\n## Development\n\n### CXX\n\nTo build the parse, simply run the following command in the root folder,\n\n```sh\nrm -rf build; cmake -B ./build; cd build; make\n```\n\nYou can run the parser from your build folder. Example from parse_v1,\n\n```sh\n% ./parse_v1.exe -h\nA program to process PDF files or configuration files\nUsage:\n PDFProcessor [OPTION...]\n\n -i, --input arg Input PDF file\n -c, --config arg Config file\n --create-config arg Create config file\n -o, --output arg Output file\n -l, --loglevel arg loglevel [error;warning;success;info]\n -h, --help Print usage\n```\n\nExample from parse_v2,\n\n```sh\n% ./parse_v2.exe -h\nprogram to process PDF files or configuration files\nUsage:\n PDFProcessor [OPTION...]\n\n -i, --input arg Input PDF file\n -c, --config arg Config file\n --create-config arg Create config file\n -p, --page arg Pages to process (default: -1 for all) (default:\n -1)\n -o, --output arg Output file\n -l, --loglevel arg loglevel [error;warning;success;info]\n -h, --help Print usage\n```\n\nIf you dont have an input file, then a template input file will be printed on the terminal.\n\n\n### Python\n\nTo build the package, simply run (make sure [poetry](https://python-poetry.org/) is [installed](https://python-poetry.org/docs/#installing-with-the-official-installer)),\n\n```\npoetry build\n```\n\nTo test the package, run:\n\n```\npoetry run pytest ./tests -v -s\n```\n\n\n## Contributing\n\nPlease read [Contributing to Docling Parse](https://github.com/DS4SD/docling-parse/blob/main/CONTRIBUTING.md) for details.\n\n\n## References\n\nIf you use Docling 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 Parse 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": "MIT",
"summary": "Simple package to extract text with coordinates from programmatic PDFs",
"version": "2.0.3",
"project_urls": {
"Homepage": "https://github.com/DS4SD/docling-parse",
"Repository": "https://github.com/DS4SD/docling-parse"
},
"split_keywords": [
"docling",
" pdf",
" parser"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "db398c0d7fcfd863dc389b7c2096f2a6cc1a00d49e397d642ce2a38d4b080699",
"md5": "35f6bdbd71e2fcca9f017948021cda6c",
"sha256": "6747bbede758cef6c5c0e4bf9d8ccf348f86cb23e091a75605bbe47693045049"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp310-cp310-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "35f6bdbd71e2fcca9f017948021cda6c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 21857485,
"upload_time": "2024-11-05T14:39:14",
"upload_time_iso_8601": "2024-11-05T14:39:14.463197Z",
"url": "https://files.pythonhosted.org/packages/db/39/8c0d7fcfd863dc389b7c2096f2a6cc1a00d49e397d642ce2a38d4b080699/docling_parse-2.0.3-cp310-cp310-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "27fb42c5362232589c79da6e18cf367722be1e4240470d2089748458e9602977",
"md5": "ed4fe07a4beafb02e5d2711f66c777a7",
"sha256": "4da35cb9d4c25fd273571bd7bcbb1c6e4c80687dba2fc688b281b292fd72536a"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp310-cp310-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "ed4fe07a4beafb02e5d2711f66c777a7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 21959565,
"upload_time": "2024-11-05T14:36:27",
"upload_time_iso_8601": "2024-11-05T14:36:27.738196Z",
"url": "https://files.pythonhosted.org/packages/27/fb/42c5362232589c79da6e18cf367722be1e4240470d2089748458e9602977/docling_parse-2.0.3-cp310-cp310-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8fb8c37c45b7f03fbdc26ddf2195a503f462a8069870de20e94520e662969f24",
"md5": "21d15ad49d19036d9a2abcd777c303d6",
"sha256": "4f1f40d4c0e2815d84128d2c8e444577a79d68c7cbc78451ab58702e3a46db2b"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp310-cp310-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "21d15ad49d19036d9a2abcd777c303d6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 21843904,
"upload_time": "2024-11-05T14:32:26",
"upload_time_iso_8601": "2024-11-05T14:32:26.496421Z",
"url": "https://files.pythonhosted.org/packages/8f/b8/c37c45b7f03fbdc26ddf2195a503f462a8069870de20e94520e662969f24/docling_parse-2.0.3-cp310-cp310-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09bb62dc69b16b65567272047ae43fa869561d66495125233e2c7b6073753625",
"md5": "3ede5d078168f66d84593d034c8dffb7",
"sha256": "3b0911580298174361acb484e4d08c6742e90c908050ac6c0b7d028c9b94990a"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp310-cp310-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "3ede5d078168f66d84593d034c8dffb7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 21944987,
"upload_time": "2024-11-05T14:29:23",
"upload_time_iso_8601": "2024-11-05T14:29:23.310913Z",
"url": "https://files.pythonhosted.org/packages/09/bb/62dc69b16b65567272047ae43fa869561d66495125233e2c7b6073753625/docling_parse-2.0.3-cp310-cp310-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d58713574a3079fe72ae63b06127961658293a8f05579d434e731bf24a3292e0",
"md5": "338cd1155ec98f995f45374ba2cd3de5",
"sha256": "ed0a05314d14ed17e8a58ea27931557f2271006f2bb6baef696d30d74d5c6b1f"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "338cd1155ec98f995f45374ba2cd3de5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 23146562,
"upload_time": "2024-11-05T14:45:32",
"upload_time_iso_8601": "2024-11-05T14:45:32.847325Z",
"url": "https://files.pythonhosted.org/packages/d5/87/13574a3079fe72ae63b06127961658293a8f05579d434e731bf24a3292e0/docling_parse-2.0.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d6b09b3afb4caf4f09afb0c541219d369e696b84eb55ae31f4cd174bcc28cd50",
"md5": "d0ef76f70d08ea67485b942f81e89fbe",
"sha256": "04420782b1a66927cdb739f8f5cf5db1cb7c33fb5af40181a797e2eb720b983f"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp311-cp311-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "d0ef76f70d08ea67485b942f81e89fbe",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 21858084,
"upload_time": "2024-11-05T14:34:31",
"upload_time_iso_8601": "2024-11-05T14:34:31.442727Z",
"url": "https://files.pythonhosted.org/packages/d6/b0/9b3afb4caf4f09afb0c541219d369e696b84eb55ae31f4cd174bcc28cd50/docling_parse-2.0.3-cp311-cp311-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bc043e36e5ec014c9151824ba82d0b17fb700474dcf55700e5d2c5224e2c6cc6",
"md5": "82a46caeb53ec257e861bfc49b032940",
"sha256": "a76fd0765c1946f5c568bc8bce56f26ff2bfb409194158c71f1b4ab9e01dac48"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp311-cp311-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "82a46caeb53ec257e861bfc49b032940",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 21960552,
"upload_time": "2024-11-05T14:46:11",
"upload_time_iso_8601": "2024-11-05T14:46:11.127420Z",
"url": "https://files.pythonhosted.org/packages/bc/04/3e36e5ec014c9151824ba82d0b17fb700474dcf55700e5d2c5224e2c6cc6/docling_parse-2.0.3-cp311-cp311-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3985b5c78735c3d865daaaeee0c31ddf4678c6ba31d35394dc2f160d57679fe3",
"md5": "88941acc1fb9f465307ea5bad563c36c",
"sha256": "3d2e09967ece6ef33979750532fba5078e22c64014bf8b5a0b176cb92b0973f1"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp311-cp311-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "88941acc1fb9f465307ea5bad563c36c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 21845421,
"upload_time": "2024-11-05T14:39:33",
"upload_time_iso_8601": "2024-11-05T14:39:33.162806Z",
"url": "https://files.pythonhosted.org/packages/39/85/b5c78735c3d865daaaeee0c31ddf4678c6ba31d35394dc2f160d57679fe3/docling_parse-2.0.3-cp311-cp311-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c01871f3a839e04e36744e74c0991cd93f812c020d116327741eee4e693862f",
"md5": "81b26d5f600ec7eb34a7f2b2268f9ad9",
"sha256": "59df67516a2f760576e4c7ceb7c352b461ae95df5e69b465bbc5277963ad4896"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp311-cp311-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "81b26d5f600ec7eb34a7f2b2268f9ad9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 21947382,
"upload_time": "2024-11-05T14:41:30",
"upload_time_iso_8601": "2024-11-05T14:41:30.476573Z",
"url": "https://files.pythonhosted.org/packages/1c/01/871f3a839e04e36744e74c0991cd93f812c020d116327741eee4e693862f/docling_parse-2.0.3-cp311-cp311-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5dba6c8860462002a7b14c06d64c4049c04fd2dd21c6e58c8ea195e3e46c76ef",
"md5": "bf81da68e8df58c324287e7d32b3ae2d",
"sha256": "8b5025c46888ebb41cc2734f3c0289bc272923ca2b5ef1aa1d8abe49f95643d1"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "bf81da68e8df58c324287e7d32b3ae2d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 23148022,
"upload_time": "2024-11-05T14:42:35",
"upload_time_iso_8601": "2024-11-05T14:42:35.749345Z",
"url": "https://files.pythonhosted.org/packages/5d/ba/6c8860462002a7b14c06d64c4049c04fd2dd21c6e58c8ea195e3e46c76ef/docling_parse-2.0.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "50407413a037f761e0070a2730e74881278184e1a669bf9ec3dc059867914172",
"md5": "d22f3116d9bb55e4242926d27e5d8eb3",
"sha256": "6576e6f21379b6a673ca1b6827c64d15d8504ec459925f5176e09128eca08ae9"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp312-cp312-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "d22f3116d9bb55e4242926d27e5d8eb3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 21857891,
"upload_time": "2024-11-05T14:46:43",
"upload_time_iso_8601": "2024-11-05T14:46:43.235757Z",
"url": "https://files.pythonhosted.org/packages/50/40/7413a037f761e0070a2730e74881278184e1a669bf9ec3dc059867914172/docling_parse-2.0.3-cp312-cp312-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "176c1188519104013ae99126512128f43f7b8c6386ba756064d14d7d992b4055",
"md5": "a920ec54c86341088ef0d44b8d41d9fd",
"sha256": "55febc86776cdf0eea169f4d572d8edb404ed77bd6a02969739fe7562db9ba14"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp312-cp312-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "a920ec54c86341088ef0d44b8d41d9fd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 21960506,
"upload_time": "2024-11-05T14:47:50",
"upload_time_iso_8601": "2024-11-05T14:47:50.560277Z",
"url": "https://files.pythonhosted.org/packages/17/6c/1188519104013ae99126512128f43f7b8c6386ba756064d14d7d992b4055/docling_parse-2.0.3-cp312-cp312-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1670c8fca04c6f579e73f94ac8bc62baf0cce98b9b2149f5f0f1d02bcc68166a",
"md5": "33068f61c5c2e20d15ec9e1f488c7ad3",
"sha256": "248f9cf6a3380f1405e9d2b94b1d3759edaede1baaf27ad5957f1860eade56ef"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp312-cp312-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "33068f61c5c2e20d15ec9e1f488c7ad3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 21844840,
"upload_time": "2024-11-05T14:45:52",
"upload_time_iso_8601": "2024-11-05T14:45:52.157839Z",
"url": "https://files.pythonhosted.org/packages/16/70/c8fca04c6f579e73f94ac8bc62baf0cce98b9b2149f5f0f1d02bcc68166a/docling_parse-2.0.3-cp312-cp312-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c461b3ce5977dd0d4e34aaed7ef8cc0fc60b543433dcdacad61e6b82e663a84b",
"md5": "81e5dae5db596c03b870487e58a01023",
"sha256": "c028c9d3f3b586b43c8258dec3f6ed84770a8d1bf042e6c8c4058d060acf8637"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp312-cp312-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "81e5dae5db596c03b870487e58a01023",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 21946599,
"upload_time": "2024-11-05T14:46:58",
"upload_time_iso_8601": "2024-11-05T14:46:58.884070Z",
"url": "https://files.pythonhosted.org/packages/c4/61/b3ce5977dd0d4e34aaed7ef8cc0fc60b543433dcdacad61e6b82e663a84b/docling_parse-2.0.3-cp312-cp312-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7f6d8e47b80d8dd20bcf9a5547fc9b32df05efdac1a9f31aa763bd118cfd08c",
"md5": "fe50ba98bc12a41a5ecd4157995e572d",
"sha256": "1f9dfbb8688b4240ed432403c321b75a102662129302409c8253234c5063d169"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "fe50ba98bc12a41a5ecd4157995e572d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 23147797,
"upload_time": "2024-11-05T14:44:14",
"upload_time_iso_8601": "2024-11-05T14:44:14.688872Z",
"url": "https://files.pythonhosted.org/packages/c7/f6/d8e47b80d8dd20bcf9a5547fc9b32df05efdac1a9f31aa763bd118cfd08c/docling_parse-2.0.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "79768009856ab0a6fb638ac7a04531416f99c227916d86e0235250c4a9d81070",
"md5": "07ee115f6fda9ef685d5ce6c49274247",
"sha256": "cc2f5412f559d78ef5eb364875533e6210e9324f53a9494b7c3b897ceeb3cfed"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp313-cp313-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "07ee115f6fda9ef685d5ce6c49274247",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 21857923,
"upload_time": "2024-11-05T14:54:02",
"upload_time_iso_8601": "2024-11-05T14:54:02.231386Z",
"url": "https://files.pythonhosted.org/packages/79/76/8009856ab0a6fb638ac7a04531416f99c227916d86e0235250c4a9d81070/docling_parse-2.0.3-cp313-cp313-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56c0785179947bbd74fa32e424bdaf28948ee794145623c919779f716bc6a34b",
"md5": "af850b21353c5bb73c37d8cd9bd9e773",
"sha256": "659db85825dbc6c7f25ee45163c5f4a847b296b05e0d0956789f079387fdb65f"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp313-cp313-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "af850b21353c5bb73c37d8cd9bd9e773",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 21960583,
"upload_time": "2024-11-05T14:56:55",
"upload_time_iso_8601": "2024-11-05T14:56:55.221201Z",
"url": "https://files.pythonhosted.org/packages/56/c0/785179947bbd74fa32e424bdaf28948ee794145623c919779f716bc6a34b/docling_parse-2.0.3-cp313-cp313-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dd6179aa4c8b5b63316588356c018cdcde800a2d9665d61e89e7557669d4e7ea",
"md5": "046fd4241459c41d99597df381d5a0cb",
"sha256": "d58a08dab1607da95630f1f3625557d178e1af2f88e97bf5c1d7ff0a705349a2"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp313-cp313-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "046fd4241459c41d99597df381d5a0cb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 21844888,
"upload_time": "2024-11-05T14:52:33",
"upload_time_iso_8601": "2024-11-05T14:52:33.561087Z",
"url": "https://files.pythonhosted.org/packages/dd/61/79aa4c8b5b63316588356c018cdcde800a2d9665d61e89e7557669d4e7ea/docling_parse-2.0.3-cp313-cp313-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "547da6f63a4d7011a25774b6dfcf4691fd53d42b3c460981bae589585bd3a87e",
"md5": "14c4944e71f57f51ed6c31c6edc4f749",
"sha256": "052c7ea7781241cd3215243932cf4d3a18858ab2ce47271d3e9d2a60214411bb"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp313-cp313-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "14c4944e71f57f51ed6c31c6edc4f749",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 21946758,
"upload_time": "2024-11-05T14:51:57",
"upload_time_iso_8601": "2024-11-05T14:51:57.518965Z",
"url": "https://files.pythonhosted.org/packages/54/7d/a6f63a4d7011a25774b6dfcf4691fd53d42b3c460981bae589585bd3a87e/docling_parse-2.0.3-cp313-cp313-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "732dd62529627923d72c94bdf289a03ea1e9b3e1af480713296deb2946917355",
"md5": "c4705bafd1b815d8cf1eca1ebc9c07b7",
"sha256": "4e81d11cb296d7ef4525515c22bc3ae9cbe254f7233f5ba8a083f9b6e048d23c"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "c4705bafd1b815d8cf1eca1ebc9c07b7",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 23147982,
"upload_time": "2024-11-05T14:44:46",
"upload_time_iso_8601": "2024-11-05T14:44:46.752765Z",
"url": "https://files.pythonhosted.org/packages/73/2d/d62529627923d72c94bdf289a03ea1e9b3e1af480713296deb2946917355/docling_parse-2.0.3-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6606d94586930b5d4ab78f208c540f29de268d09ca4a7b886a4b3ca8caea8a5f",
"md5": "d5b410862b7f5a1b65d8ed4141470e11",
"sha256": "f5ff8a4b4fdc1ce2b77236b00c6e65c035e195933b91c71005c2fe510a6da917"
},
"downloads": -1,
"filename": "docling_parse-2.0.3-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "d5b410862b7f5a1b65d8ed4141470e11",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": "<4.0,>=3.9",
"size": 24859164,
"upload_time": "2024-11-05T14:45:45",
"upload_time_iso_8601": "2024-11-05T14:45:45.904902Z",
"url": "https://files.pythonhosted.org/packages/66/06/d94586930b5d4ab78f208c540f29de268d09ca4a7b886a4b3ca8caea8a5f/docling_parse-2.0.3-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-05 14:39:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DS4SD",
"github_project": "docling-parse",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "docling-parse"
}