docling-parse


Namedocling-parse JSON
Version 2.0.3 PyPI version JSON
download
home_pagehttps://github.com/DS4SD/docling-parse
SummarySimple package to extract text with coordinates from programmatic PDFs
upload_time2024-11-05 14:39:14
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()

# 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"
}
        
Elapsed time: 0.40414s