docling-parse


Namedocling-parse JSON
Version 3.0.0 PyPI version JSON
download
home_pagehttps://github.com/DS4SD/docling-parse
SummarySimple package to extract text with coordinates from programmatic PDFs
upload_time2024-12-09 11:13:42
maintainerPeter Staar
docs_urlNone
authorPeter Staar
requires_python<4.0,>=3.9
licenseMIT
keywords docling pdf parser
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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("error") # info, warning, error, fatal

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 install
```

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": "https://files.pythonhosted.org/packages/44/00/470cb9e2eaea562b7a7c8d61f70cee22eecfe1cc3a02848cead9ded95048/docling_parse-3.0.0.tar.gz",
    "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(\"error\") # info, warning, error, fatal\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 install\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\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple package to extract text with coordinates from programmatic PDFs",
    "version": "3.0.0",
    "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": "b01a644481461387f7221752cd1d35b411747f806a1229a62bf6ffa52b3f03a7",
                "md5": "f71bb63a614a2722ef8b336122f279f8",
                "sha256": "8de583f9562549379b8878f4054c17a715ac492999187855a6178c258388d1c6"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f71bb63a614a2722ef8b336122f279f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 22023624,
            "upload_time": "2024-12-09T11:12:17",
            "upload_time_iso_8601": "2024-12-09T11:12:17.113492Z",
            "url": "https://files.pythonhosted.org/packages/b0/1a/644481461387f7221752cd1d35b411747f806a1229a62bf6ffa52b3f03a7/docling_parse-3.0.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21cf7191ec8b9b2276b96b06dec36c5a83fe9631a5046f15a680e8d0225df2c9",
                "md5": "bae2ca21595b23f6c7826701f4cb4514",
                "sha256": "0a504152836b52119c84ce6f2124006b2297eca9576c1e961745f774b8f55f59"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp310-cp310-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bae2ca21595b23f6c7826701f4cb4514",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 21909089,
            "upload_time": "2024-12-09T11:12:22",
            "upload_time_iso_8601": "2024-12-09T11:12:22.784432Z",
            "url": "https://files.pythonhosted.org/packages/21/cf/7191ec8b9b2276b96b06dec36c5a83fe9631a5046f15a680e8d0225df2c9/docling_parse-3.0.0-cp310-cp310-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2d18bbe6dbc2c4065f0e9aa833b73fb6d5eb3bd3fecf50491f490ab829a6855",
                "md5": "44b64b396ea1aaf0548eb87f788dfa8f",
                "sha256": "e73836d75127b168073e76a4170ec615ee49d6d46ac37d1a3f9d5c585b2c4363"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "44b64b396ea1aaf0548eb87f788dfa8f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 22350328,
            "upload_time": "2024-12-09T11:12:26",
            "upload_time_iso_8601": "2024-12-09T11:12:26.663305Z",
            "url": "https://files.pythonhosted.org/packages/d2/d1/8bbe6dbc2c4065f0e9aa833b73fb6d5eb3bd3fecf50491f490ab829a6855/docling_parse-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b30fe8fc2a28000a7045ab29f7b38810b4f90f4e25b6009676fc48ad20cf937",
                "md5": "488c885a5ba690eaab9a96bacdb1e21c",
                "sha256": "1fdff7e14e50c0f66350346082f1fdf6cbc0584bef809532075593fa0c2a2ab2"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "488c885a5ba690eaab9a96bacdb1e21c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 22416774,
            "upload_time": "2024-12-09T11:12:30",
            "upload_time_iso_8601": "2024-12-09T11:12:30.092450Z",
            "url": "https://files.pythonhosted.org/packages/1b/30/fe8fc2a28000a7045ab29f7b38810b4f90f4e25b6009676fc48ad20cf937/docling_parse-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbdd2f74b66529ffc44e6ede99345783ed5200a568d05d2e1958d018d75072a7",
                "md5": "3e374f839280f735d878b8b9499e51a8",
                "sha256": "f56ae44328f7242e7420330d3d737d5284ec256af8ecd0b02fe6e34719b3040a"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3e374f839280f735d878b8b9499e51a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 23215427,
            "upload_time": "2024-12-09T11:12:32",
            "upload_time_iso_8601": "2024-12-09T11:12:32.591937Z",
            "url": "https://files.pythonhosted.org/packages/cb/dd/2f74b66529ffc44e6ede99345783ed5200a568d05d2e1958d018d75072a7/docling_parse-3.0.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e9e96acb98d30633b04bb4ab522154d7491c04e4e21eedb8ba6270672a5074fa",
                "md5": "8ef33f91310ddbe46a181c5a34dab1ff",
                "sha256": "f228587e0d3a8f46fec46934e324d74be90d7f1ad96579c775644b130f28acdb"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8ef33f91310ddbe46a181c5a34dab1ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 22025643,
            "upload_time": "2024-12-09T11:12:35",
            "upload_time_iso_8601": "2024-12-09T11:12:35.544533Z",
            "url": "https://files.pythonhosted.org/packages/e9/e9/6acb98d30633b04bb4ab522154d7491c04e4e21eedb8ba6270672a5074fa/docling_parse-3.0.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1815ac79595f38f743bbf501a4911f4c196d0c95c8c5ab773e2393c20742e41f",
                "md5": "e99dfb7b45f1ec227c7a59992496acf3",
                "sha256": "25da7fa46449386956906f04cad5e9bec87816c00146caaef1112c8cdda6b79c"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp311-cp311-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e99dfb7b45f1ec227c7a59992496acf3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 21910337,
            "upload_time": "2024-12-09T11:12:38",
            "upload_time_iso_8601": "2024-12-09T11:12:38.000341Z",
            "url": "https://files.pythonhosted.org/packages/18/15/ac79595f38f743bbf501a4911f4c196d0c95c8c5ab773e2393c20742e41f/docling_parse-3.0.0-cp311-cp311-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1798bfd1de8db8fecd8b45cbc13e5d6d4d6e8bb1eec173d1cdca725b28d1aa3",
                "md5": "81c39135b72f60bb42dcb4e544eb30bd",
                "sha256": "787c200081af2fb2d267d8f404a1b57464ee2fbcda4abd8d7bab99244c1716cb"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "81c39135b72f60bb42dcb4e544eb30bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 22351347,
            "upload_time": "2024-12-09T11:12:40",
            "upload_time_iso_8601": "2024-12-09T11:12:40.437133Z",
            "url": "https://files.pythonhosted.org/packages/e1/79/8bfd1de8db8fecd8b45cbc13e5d6d4d6e8bb1eec173d1cdca725b28d1aa3/docling_parse-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34428e513f48b7a91f824abe3c7744f3ab86d3be6050363a8d591abd42c2a500",
                "md5": "abe685fd6165f6db6cebdba0f3d2456e",
                "sha256": "be7a28e7a3ae6e198722dbb29341956c565ab9d8fdbddaee91f81dc21d870dde"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "abe685fd6165f6db6cebdba0f3d2456e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 22417964,
            "upload_time": "2024-12-09T11:12:42",
            "upload_time_iso_8601": "2024-12-09T11:12:42.828605Z",
            "url": "https://files.pythonhosted.org/packages/34/42/8e513f48b7a91f824abe3c7744f3ab86d3be6050363a8d591abd42c2a500/docling_parse-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54c9308f994ad5df170dd7f609f763d374d67618e0228ead8fd8e1a938f35378",
                "md5": "efa80ce1d6421521f3f0d6ec357039f5",
                "sha256": "4251888da7c0ff946ce77ea8f14a0896ffe24b79422155db5871b7ee1b9fbc0a"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "efa80ce1d6421521f3f0d6ec357039f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 23216577,
            "upload_time": "2024-12-09T11:12:45",
            "upload_time_iso_8601": "2024-12-09T11:12:45.727397Z",
            "url": "https://files.pythonhosted.org/packages/54/c9/308f994ad5df170dd7f609f763d374d67618e0228ead8fd8e1a938f35378/docling_parse-3.0.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6bc3cadfde769f9db1bb81eefceaa47238791ab19d1a27cff72d5c5226010e64",
                "md5": "49046554042392e68b65dc63e8b2903a",
                "sha256": "642e47bdf090b89766e035b74cc849abffe0df520f2907ff4dede5c819b31d4a"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp312-cp312-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "49046554042392e68b65dc63e8b2903a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 22025947,
            "upload_time": "2024-12-09T11:12:48",
            "upload_time_iso_8601": "2024-12-09T11:12:48.973927Z",
            "url": "https://files.pythonhosted.org/packages/6b/c3/cadfde769f9db1bb81eefceaa47238791ab19d1a27cff72d5c5226010e64/docling_parse-3.0.0-cp312-cp312-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78e7009e2fc15e9c3b5888ccfc50458b0e814890aea5934a84f1da1a2243de6b",
                "md5": "6c968142a463d2e26991e850b87b8bba",
                "sha256": "731de22e279af1505f962dc10102b6405bcaac3d855657bf3542048e7182b440"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp312-cp312-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6c968142a463d2e26991e850b87b8bba",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 21909782,
            "upload_time": "2024-12-09T11:12:51",
            "upload_time_iso_8601": "2024-12-09T11:12:51.839277Z",
            "url": "https://files.pythonhosted.org/packages/78/e7/009e2fc15e9c3b5888ccfc50458b0e814890aea5934a84f1da1a2243de6b/docling_parse-3.0.0-cp312-cp312-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e29884987768c8a4d3c060873f0f3822723c44123877c3fd2d413e0a009bd0c1",
                "md5": "08a4bbcbdd104a6c0f65199aa2cde8d1",
                "sha256": "afd553a715e6282fc5aadd3bfd402faab4e43b77f4952bd065e3941218118f39"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "08a4bbcbdd104a6c0f65199aa2cde8d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 22350717,
            "upload_time": "2024-12-09T11:12:55",
            "upload_time_iso_8601": "2024-12-09T11:12:55.326781Z",
            "url": "https://files.pythonhosted.org/packages/e2/98/84987768c8a4d3c060873f0f3822723c44123877c3fd2d413e0a009bd0c1/docling_parse-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7fefb473b9900b5749013d41071ea10320ce4d1c3fa46329435c864df66ca6b8",
                "md5": "51794c4b2c4e2a6af15cac0bb38d10bc",
                "sha256": "6cfb02830a918958a47144ca13ce985f09578a353c97da941935591e8917f432"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "51794c4b2c4e2a6af15cac0bb38d10bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 22417413,
            "upload_time": "2024-12-09T11:12:59",
            "upload_time_iso_8601": "2024-12-09T11:12:59.154308Z",
            "url": "https://files.pythonhosted.org/packages/7f/ef/b473b9900b5749013d41071ea10320ce4d1c3fa46329435c864df66ca6b8/docling_parse-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c379449ef8095543cd43da20af7b425ae7712f586174e5e990eccf9f760a8357",
                "md5": "5b76529503a1d1f163f9fb3d8165811d",
                "sha256": "85ca7610e5debcfc37e7b6311f4fc7c62c9d0eeea11b8bf2b33a760e65dd64fe"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5b76529503a1d1f163f9fb3d8165811d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 23217163,
            "upload_time": "2024-12-09T11:13:02",
            "upload_time_iso_8601": "2024-12-09T11:13:02.285203Z",
            "url": "https://files.pythonhosted.org/packages/c3/79/449ef8095543cd43da20af7b425ae7712f586174e5e990eccf9f760a8357/docling_parse-3.0.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83515b2fe10baedc5755b66ad17a0476235d5370c3fe17c79930d2b3d6caa5f8",
                "md5": "7c189ffafe18e4862e6892798a429fe4",
                "sha256": "9171180b509a41856d1e32e1486934eaf1460575a5d86fa3a8941cb01e2955ac"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp313-cp313-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7c189ffafe18e4862e6892798a429fe4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 22026106,
            "upload_time": "2024-12-09T11:13:05",
            "upload_time_iso_8601": "2024-12-09T11:13:05.462178Z",
            "url": "https://files.pythonhosted.org/packages/83/51/5b2fe10baedc5755b66ad17a0476235d5370c3fe17c79930d2b3d6caa5f8/docling_parse-3.0.0-cp313-cp313-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c32a75bc956503d4bd3346010317334a778543eeccca64c6a1cf6d0627144803",
                "md5": "ea94f0191bbb08445256ae13ec441aa4",
                "sha256": "12c5fbeb41f491b75d77e055304fc931b723d28fab29e4c4cb2a113201a86918"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp313-cp313-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ea94f0191bbb08445256ae13ec441aa4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 21909763,
            "upload_time": "2024-12-09T11:13:07",
            "upload_time_iso_8601": "2024-12-09T11:13:07.869462Z",
            "url": "https://files.pythonhosted.org/packages/c3/2a/75bc956503d4bd3346010317334a778543eeccca64c6a1cf6d0627144803/docling_parse-3.0.0-cp313-cp313-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6015e08dc34d3b650f639ac1b905029f5233b07c665e6948dec35359ad5002b8",
                "md5": "573f94f1997b8c36b3d4bad58dafd12e",
                "sha256": "83744522c1994ef2fe888865876515e28627ddfce396a119db3cb196a1a99a75"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "573f94f1997b8c36b3d4bad58dafd12e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 22351523,
            "upload_time": "2024-12-09T11:13:10",
            "upload_time_iso_8601": "2024-12-09T11:13:10.513782Z",
            "url": "https://files.pythonhosted.org/packages/60/15/e08dc34d3b650f639ac1b905029f5233b07c665e6948dec35359ad5002b8/docling_parse-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f5835c66e2246f47e9a4c486286598ad4f5e04f23b88686f32754aa8882002a",
                "md5": "a1af743b71c9928abb6d6d877307439f",
                "sha256": "9857d8982bb7a7b51e7cefdd01613a7979e66c9c3ed40ea151e979b0fc2fc5e3"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a1af743b71c9928abb6d6d877307439f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 22418183,
            "upload_time": "2024-12-09T11:13:12",
            "upload_time_iso_8601": "2024-12-09T11:13:12.825775Z",
            "url": "https://files.pythonhosted.org/packages/2f/58/35c66e2246f47e9a4c486286598ad4f5e04f23b88686f32754aa8882002a/docling_parse-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bcdbae6a0fbf883cb51e9ce10439ad80ac442f5ef957da6f39529e847cb2451",
                "md5": "ff8a5ab13edcc976c55814a4a10bd55e",
                "sha256": "1ff51e5153d164b957bf6284987d805ff1b43559a0244265d1788c0034cb899a"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ff8a5ab13edcc976c55814a4a10bd55e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 23216489,
            "upload_time": "2024-12-09T11:13:15",
            "upload_time_iso_8601": "2024-12-09T11:13:15.910101Z",
            "url": "https://files.pythonhosted.org/packages/8b/cd/bae6a0fbf883cb51e9ce10439ad80ac442f5ef957da6f39529e847cb2451/docling_parse-3.0.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26554c84457b841dc83af4c043d52b1656144b09e10d7d3d308f690ec8233869",
                "md5": "8d6da29efbc0189ad1afc2d52fbdc480",
                "sha256": "a15efbef123b100a58425fa7073121e7bf0cb8433814bac200df416c4eb9e599"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp39-cp39-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8d6da29efbc0189ad1afc2d52fbdc480",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 22023802,
            "upload_time": "2024-12-09T11:13:19",
            "upload_time_iso_8601": "2024-12-09T11:13:19.022584Z",
            "url": "https://files.pythonhosted.org/packages/26/55/4c84457b841dc83af4c043d52b1656144b09e10d7d3d308f690ec8233869/docling_parse-3.0.0-cp39-cp39-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e29f9a1f9885d67dd9f5f4c3c63e7405254a7d1431cd03f85b12602fd7906b82",
                "md5": "7d1d08df4bb6e6eda8dc7ef333a8db36",
                "sha256": "1155d6ca8310e046e18c6a6dc7b7f57e0ed6c89791d3757db2a039f7f69694a6"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp39-cp39-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7d1d08df4bb6e6eda8dc7ef333a8db36",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 21909124,
            "upload_time": "2024-12-09T11:13:21",
            "upload_time_iso_8601": "2024-12-09T11:13:21.313392Z",
            "url": "https://files.pythonhosted.org/packages/e2/9f/9a1f9885d67dd9f5f4c3c63e7405254a7d1431cd03f85b12602fd7906b82/docling_parse-3.0.0-cp39-cp39-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c765e8fb6f3d195789778b538475cdff3a9221c0da6253248c00949042bf44eb",
                "md5": "815a43445059d61c57aa0e914ee45c25",
                "sha256": "159c12370d6dfbe3e572f43a6a2804ee81d7f073d0bd7e5ca08d9acd1876aa83"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "815a43445059d61c57aa0e914ee45c25",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 22351249,
            "upload_time": "2024-12-09T11:13:24",
            "upload_time_iso_8601": "2024-12-09T11:13:24.206703Z",
            "url": "https://files.pythonhosted.org/packages/c7/65/e8fb6f3d195789778b538475cdff3a9221c0da6253248c00949042bf44eb/docling_parse-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67be54e8192e5bda13e765ff37f5fd050555c6ce942820c85d77fa9f748be5d5",
                "md5": "0b1297d4d4ee5040cbabe4c0b7a0a739",
                "sha256": "351f4d718485f44686d41d04b26867a429898dbb6ccfe43454adaae3a434d919"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0b1297d4d4ee5040cbabe4c0b7a0a739",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 22417119,
            "upload_time": "2024-12-09T11:13:27",
            "upload_time_iso_8601": "2024-12-09T11:13:27.566747Z",
            "url": "https://files.pythonhosted.org/packages/67/be/54e8192e5bda13e765ff37f5fd050555c6ce942820c85d77fa9f748be5d5/docling_parse-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6f145ce157307c6c41a3fce4e7729610ec61f932484ad647659da31f9016f917",
                "md5": "6f0fc28df32597ef33ae7d528ced7a02",
                "sha256": "9172c98615c85303a231b800dfb2e4c1e539b04e383dfc5d7f0dc5f708ea50fd"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6f0fc28df32597ef33ae7d528ced7a02",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 23215498,
            "upload_time": "2024-12-09T11:13:30",
            "upload_time_iso_8601": "2024-12-09T11:13:30.209392Z",
            "url": "https://files.pythonhosted.org/packages/6f/14/5ce157307c6c41a3fce4e7729610ec61f932484ad647659da31f9016f917/docling_parse-3.0.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0be2160f43afc3742ca5ac8122d5f36630ce47afb4ad42f5a490fb0ee0ac5c0c",
                "md5": "ddbd4a72fc2bedb52879875324f0e63a",
                "sha256": "1ba1c3469a38b404123bb615e220c046496d5d47e161cc5af7ae749e8cf181ab"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ddbd4a72fc2bedb52879875324f0e63a",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "<4.0,>=3.9",
            "size": 24989806,
            "upload_time": "2024-12-09T11:13:32",
            "upload_time_iso_8601": "2024-12-09T11:13:32.729875Z",
            "url": "https://files.pythonhosted.org/packages/0b/e2/160f43afc3742ca5ac8122d5f36630ce47afb4ad42f5a490fb0ee0ac5c0c/docling_parse-3.0.0-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f41bcfb1d7b46e19f773e2abcd6674f187cf92db76c5314239d02c9f165bd79",
                "md5": "4a9f7cb63d886dd9f5cb6fa2d7ef3fb9",
                "sha256": "eb315b0af70757f2cba654b1629272ccb35a1a416facf552ff72fd89abe98967"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4a9f7cb63d886dd9f5cb6fa2d7ef3fb9",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "<4.0,>=3.9",
            "size": 24990406,
            "upload_time": "2024-12-09T11:13:35",
            "upload_time_iso_8601": "2024-12-09T11:13:35.391177Z",
            "url": "https://files.pythonhosted.org/packages/0f/41/bcfb1d7b46e19f773e2abcd6674f187cf92db76c5314239d02c9f165bd79/docling_parse-3.0.0-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4400470cb9e2eaea562b7a7c8d61f70cee22eecfe1cc3a02848cead9ded95048",
                "md5": "dcb83922e0033aa67092937a8ec12359",
                "sha256": "62a50d0fc4bb437ba840fb0419a466361d93071f300ae5f0cebe9b842ef0c8d4"
            },
            "downloads": -1,
            "filename": "docling_parse-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dcb83922e0033aa67092937a8ec12359",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 34665630,
            "upload_time": "2024-12-09T11:13:42",
            "upload_time_iso_8601": "2024-12-09T11:13:42.345985Z",
            "url": "https://files.pythonhosted.org/packages/44/00/470cb9e2eaea562b7a7c8d61f70cee22eecfe1cc3a02848cead9ded95048/docling_parse-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-09 11:13:42",
    "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"
}
        
Elapsed time: 0.61314s