docling 2.36.0__py3-none-any.whl → 2.37.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -176,9 +176,9 @@ class LayoutModel(BasePageModel):
176
176
  # Apply postprocessing
177
177
 
178
178
  processed_clusters, processed_cells = LayoutPostprocessor(
179
- page.cells, clusters, page.size
179
+ page, clusters
180
180
  ).postprocess()
181
- # processed_clusters, processed_cells = clusters, page.cells
181
+ # Note: LayoutPostprocessor updates page.cells and page.parsed_page internally
182
182
 
183
183
  with warnings.catch_warnings():
184
184
  warnings.filterwarnings(
@@ -198,7 +198,6 @@ class LayoutModel(BasePageModel):
198
198
  )
199
199
  )
200
200
 
201
- page.cells = processed_cells
202
201
  page.predictions.layout = LayoutPrediction(
203
202
  clusters=processed_clusters
204
203
  )
@@ -132,7 +132,7 @@ class OcrMacModel(BaseOcrModel):
132
132
  all_ocr_cells.extend(cells)
133
133
 
134
134
  # Post-process the cells
135
- page.cells = self.post_process_cells(all_ocr_cells, page.cells)
135
+ self.post_process_cells(all_ocr_cells, page)
136
136
 
137
137
  # DEBUG code:
138
138
  if settings.debug.visualize_ocr:
@@ -2,7 +2,7 @@ import re
2
2
  import warnings
3
3
  from collections.abc import Iterable
4
4
  from pathlib import Path
5
- from typing import Optional
5
+ from typing import Literal, Optional
6
6
 
7
7
  import numpy as np
8
8
  from PIL import ImageDraw
@@ -17,7 +17,6 @@ from docling.utils.profiling import TimeRecorder
17
17
 
18
18
  class PagePreprocessingOptions(BaseModel):
19
19
  images_scale: Optional[float]
20
- create_parsed_page: bool
21
20
 
22
21
 
23
22
  class PagePreprocessingModel(BasePageModel):
@@ -66,10 +65,8 @@ class PagePreprocessingModel(BasePageModel):
66
65
  def _parse_page_cells(self, conv_res: ConversionResult, page: Page) -> Page:
67
66
  assert page._backend is not None
68
67
 
69
- page.cells = list(page._backend.get_text_cells())
70
-
71
- if self.options.create_parsed_page:
72
- page.parsed_page = page._backend.get_segmented_page()
68
+ page.parsed_page = page._backend.get_segmented_page()
69
+ assert page.parsed_page is not None
73
70
 
74
71
  # Rate the text quality from the PDF parser, and aggregate on page
75
72
  text_scores = []
@@ -134,7 +134,7 @@ class RapidOcrModel(BaseOcrModel):
134
134
  all_ocr_cells.extend(cells)
135
135
 
136
136
  # Post-process the cells
137
- page.cells = self.post_process_cells(all_ocr_cells, page.cells)
137
+ self.post_process_cells(all_ocr_cells, page)
138
138
 
139
139
  # DEBUG code:
140
140
  if settings.debug.visualize_ocr:
@@ -334,12 +334,12 @@ class ReadingOrderModel:
334
334
  "Labels of merged elements must match."
335
335
  )
336
336
  prov = ProvenanceItem(
337
- page_no=element.page_no + 1,
337
+ page_no=merged_elem.page_no + 1,
338
338
  charspan=(
339
339
  len(new_item.text) + 1,
340
340
  len(new_item.text) + 1 + len(merged_elem.text),
341
341
  ),
342
- bbox=element.cluster.bbox.to_bottom_left_origin(page_height),
342
+ bbox=merged_elem.cluster.bbox.to_bottom_left_origin(page_height),
343
343
  )
344
344
  new_item.text += f" {merged_elem.text}"
345
345
  new_item.orig += f" {merged_elem.text}" # TODO: This is incomplete, we don't have the `orig` field of the merged element.
@@ -99,12 +99,12 @@ class TesseractOcrCliModel(BaseOcrModel):
99
99
 
100
100
  return name, version
101
101
 
102
- def _run_tesseract(self, ifilename: str, osd: pd.DataFrame):
102
+ def _run_tesseract(self, ifilename: str, osd: Optional[pd.DataFrame]):
103
103
  r"""
104
104
  Run tesseract CLI
105
105
  """
106
106
  cmd = [self.options.tesseract_cmd]
107
- if self._is_auto:
107
+ if self._is_auto and osd is not None:
108
108
  lang = self._parse_language(osd)
109
109
  if lang is not None:
110
110
  cmd.append("-l")
@@ -231,6 +231,7 @@ class TesseractOcrCliModel(BaseOcrModel):
231
231
  fname = image_file.name
232
232
  high_res_image.save(image_file)
233
233
  doc_orientation = 0
234
+ df_osd: Optional[pd.DataFrame] = None
234
235
  try:
235
236
  df_osd = self._perform_osd(fname)
236
237
  doc_orientation = _parse_orientation(df_osd)
@@ -305,7 +306,7 @@ class TesseractOcrCliModel(BaseOcrModel):
305
306
  all_ocr_cells.append(cell)
306
307
 
307
308
  # Post-process the cells
308
- page.cells = self.post_process_cells(all_ocr_cells, page.cells)
309
+ self.post_process_cells(all_ocr_cells, page)
309
310
 
310
311
  # DEBUG code:
311
312
  if settings.debug.visualize_ocr:
@@ -235,7 +235,7 @@ class TesseractOcrModel(BaseOcrModel):
235
235
  all_ocr_cells.extend(cells)
236
236
 
237
237
  # Post-process the cells
238
- page.cells = self.post_process_cells(all_ocr_cells, page.cells)
238
+ self.post_process_cells(all_ocr_cells, page)
239
239
 
240
240
  # DEBUG code:
241
241
  if settings.debug.visualize_ocr:
@@ -99,6 +99,7 @@ class HuggingFaceTransformersVlmModel(BasePageModel, HuggingFaceModelDownloadMix
99
99
  self.vlm_model = model_cls.from_pretrained(
100
100
  artifacts_path,
101
101
  device_map=self.device,
102
+ torch_dtype=self.vlm_options.torch_dtype,
102
103
  _attn_implementation=(
103
104
  "flash_attention_2"
104
105
  if self.device.startswith("cuda")
@@ -72,7 +72,6 @@ class StandardPdfPipeline(PaginatedPipeline):
72
72
  PagePreprocessingModel(
73
73
  options=PagePreprocessingOptions(
74
74
  images_scale=pipeline_options.images_scale,
75
- create_parsed_page=pipeline_options.generate_parsed_pages,
76
75
  )
77
76
  ),
78
77
  # OCR
@@ -8,7 +8,7 @@ from docling_core.types.doc import DocItemLabel, Size
8
8
  from docling_core.types.doc.page import TextCell
9
9
  from rtree import index
10
10
 
11
- from docling.datamodel.base_models import BoundingBox, Cluster
11
+ from docling.datamodel.base_models import BoundingBox, Cluster, Page
12
12
 
13
13
  _log = logging.getLogger(__name__)
14
14
 
@@ -194,11 +194,11 @@ class LayoutPostprocessor:
194
194
  DocItemLabel.TITLE: DocItemLabel.SECTION_HEADER,
195
195
  }
196
196
 
197
- def __init__(self, cells: List[TextCell], clusters: List[Cluster], page_size: Size):
198
- """Initialize processor with cells and clusters."""
199
- """Initialize processor with cells and spatial indices."""
200
- self.cells = cells
201
- self.page_size = page_size
197
+ def __init__(self, page: Page, clusters: List[Cluster]) -> None:
198
+ """Initialize processor with page and clusters."""
199
+ self.cells = page.cells
200
+ self.page = page
201
+ self.page_size = page.size
202
202
  self.all_clusters = clusters
203
203
  self.regular_clusters = [
204
204
  c for c in clusters if c.label not in self.SPECIAL_TYPES
@@ -240,6 +240,10 @@ class LayoutPostprocessor:
240
240
  for child in cluster.children:
241
241
  child.cells = self._sort_cells(child.cells)
242
242
 
243
+ assert self.page.parsed_page is not None
244
+ self.page.parsed_page.textline_cells = self.cells
245
+ self.page.parsed_page.has_lines = len(self.cells) > 0
246
+
243
247
  return final_clusters, self.cells
244
248
 
245
249
  def _process_regular_clusters(self) -> List[Cluster]:
@@ -301,6 +305,7 @@ class LayoutPostprocessor:
301
305
  special_clusters = self._handle_cross_type_overlaps(special_clusters)
302
306
 
303
307
  # Calculate page area from known page size
308
+ assert self.page_size is not None
304
309
  page_area = self.page_size.width * self.page_size.height
305
310
  if page_area > 0:
306
311
  # Filter out full-page pictures
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docling
3
- Version: 2.36.0
3
+ Version: 2.37.0
4
4
  Summary: SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications.
5
5
  Author-email: Christoph Auer <cau@zurich.ibm.com>, Michele Dolfi <dol@zurich.ibm.com>, Maxim Lysak <mly@zurich.ibm.com>, Nikos Livathinos <nli@zurich.ibm.com>, Ahmed Nassar <ahn@zurich.ibm.com>, Panos Vagenas <pva@zurich.ibm.com>, Peter Staar <taa@zurich.ibm.com>
6
6
  License-Expression: MIT
@@ -37,7 +37,7 @@ Requires-Dist: requests<3.0.0,>=2.32.2
37
37
  Requires-Dist: easyocr<2.0,>=1.7
38
38
  Requires-Dist: certifi>=2024.7.4
39
39
  Requires-Dist: rtree<2.0.0,>=1.3.0
40
- Requires-Dist: typer<0.16.0,>=0.12.5
40
+ Requires-Dist: typer<0.17.0,>=0.12.5
41
41
  Requires-Dist: python-docx<2.0.0,>=1.1.2
42
42
  Requires-Dist: python-pptx<2.0.0,>=1.0.2
43
43
  Requires-Dist: beautifulsoup4<5.0.0,>=4.12.3
@@ -49,7 +49,6 @@ Requires-Dist: pillow<12.0.0,>=10.0.0
49
49
  Requires-Dist: tqdm<5.0.0,>=4.65.0
50
50
  Requires-Dist: pluggy<2.0.0,>=1.0.0
51
51
  Requires-Dist: pylatexenc<3.0,>=2.10
52
- Requires-Dist: click<8.2.0
53
52
  Requires-Dist: scipy<2.0.0,>=1.6.0
54
53
  Provides-Extra: tesserocr
55
54
  Requires-Dist: tesserocr<3.0.0,>=2.7.1; extra == "tesserocr"
@@ -4,18 +4,18 @@ docling/exceptions.py,sha256=K1WnCS1leK2JtMB5ewZWKkb0EaijFgl-tRzrO9ntgPM,134
4
4
  docling/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
5
5
  docling/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  docling/backend/abstract_backend.py,sha256=1lNxzwDTn303aXduPDVmTyXn-5ZIoWMLYqNxANGWmQQ,1658
7
- docling/backend/asciidoc_backend.py,sha256=W-4MRcID6AU9Ax23q8FwDwGG-OOCrBoqcNf2Ch_WPUc,14041
7
+ docling/backend/asciidoc_backend.py,sha256=RDNLrPJHxROiM7-NQdZn3DdvAyiPAndbSWcZo9PbCKU,14417
8
8
  docling/backend/csv_backend.py,sha256=2g9famYG2W-ID9jEdZPxc6O8QGv1vWQfjN8pL-QMBE0,4536
9
- docling/backend/docling_parse_backend.py,sha256=bVSPmmiVXdCVfe-eLtDhbPQKBjkFR8rZJoRxdWIMdYU,7998
10
- docling/backend/docling_parse_v2_backend.py,sha256=R4YPCEs72GYg-Xc9VfizPv8QjtGmKOsQzVPNAU2RIK0,9376
11
- docling/backend/docling_parse_v4_backend.py,sha256=aWh-fd-lnuRGVGC_DG17QUptIsArv5V1gJo8QFbB5Ys,6263
9
+ docling/backend/docling_parse_backend.py,sha256=9rUo1vPxX6QLzGqF-2B2iEYglZg6YQ3Uea00XrLluTg,7918
10
+ docling/backend/docling_parse_v2_backend.py,sha256=3ckTfke8IICjaImlIzc3TRhG7KDuxDDba0AuCEcjA-M,9500
11
+ docling/backend/docling_parse_v4_backend.py,sha256=7tQvpCwpYoq98PNszDkrXaFhy5eWmQqMP4RjWWPLPgw,6197
12
12
  docling/backend/html_backend.py,sha256=3K-l5SUAAyqISNEb7nPst_I51xzYOVOkgmwXh3lv9sw,21063
13
13
  docling/backend/md_backend.py,sha256=JkY1qTvQFXjKSZGfD-83d-fZelorUG_l6mpJdYGqvX8,17210
14
14
  docling/backend/msexcel_backend.py,sha256=3j0WQfqDpgPXdPMCguefdv7arcNVDedPD6gl54cmLn8,18110
15
- docling/backend/mspowerpoint_backend.py,sha256=RwqfvvzrtM56L9uf7PR9lvlHJ-LyYGpkS1iVxkTl72Q,17203
16
- docling/backend/msword_backend.py,sha256=iB2yRg8hXtET2-Wjkv5pq0p9Y1SGQYIVCcWtOtXUILU,44621
15
+ docling/backend/mspowerpoint_backend.py,sha256=0lsb8ZeQFxbDt7jZpSQyk5wYHYa3SP2T2y2dMI-o30o,15216
16
+ docling/backend/msword_backend.py,sha256=GCwUnebgRgvHlF6z1RP8RUb1nhHheJ5bpiVeTfNGsBU,44694
17
17
  docling/backend/pdf_backend.py,sha256=KE9TMuFO5WX-o5A_DAd4tEaLi4HMZ4XjKdpllItVkWM,2238
18
- docling/backend/pypdfium2_backend.py,sha256=fUGRBupwTYftEgdIDWKphA2zdfb-SrUoUGENK6j-q-0,11002
18
+ docling/backend/pypdfium2_backend.py,sha256=8dVniLHgiTdJuDbYr66kPp6Ccv5ZDlqDMEbA2xIfS7U,13370
19
19
  docling/backend/docx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  docling/backend/docx/latex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  docling/backend/docx/latex/latex_dict.py,sha256=tFJp4ScT_AkY2ON7nLEa560p601Jq2glcZvMKxxjn7w,6593
@@ -32,31 +32,31 @@ docling/cli/models.py,sha256=9yLGp6QRJGpR86U3SjmWAXDt3MvBaJLLY4xDVdsu3O8,4160
32
32
  docling/cli/tools.py,sha256=QhtRxQG0TVrfsMqdv5i7J0_qQy1ZZyWYnHPwJl7b5oY,322
33
33
  docling/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  docling/datamodel/accelerator_options.py,sha256=wv6dOFTVAwr9onkE-0pfUqX_fDb6gX53iPPE6o8nKjI,2511
35
- docling/datamodel/base_models.py,sha256=bkooSG4brZy2jt2dndkin3DHvfZ5HFp0C94yBGmCWeI,10568
35
+ docling/datamodel/base_models.py,sha256=iHkzAgWXPyvYwhqrcsgHTY1YoKoQZQO3eNvIjxagRp0,10818
36
36
  docling/datamodel/document.py,sha256=vPwiVU5zWCKbVYMq-TSmb7LTjijrqJq0FyAgDBa0XGA,16154
37
- docling/datamodel/pipeline_options.py,sha256=iMuwsa77hkAgjJWXBRAFEQGw9tGNMDQrPnSvE5mirNs,9081
38
- docling/datamodel/pipeline_options_vlm_model.py,sha256=-ZPAp2uSKMatDbjZPv9chT587B1aftfDVmi_FDb2aw8,1997
37
+ docling/datamodel/pipeline_options.py,sha256=NCldcrDjmV_N1PUtK4FfpxVQaKj4f0IdSIbXf5nZYVY,9155
38
+ docling/datamodel/pipeline_options_vlm_model.py,sha256=kivUljsC97CQGb7VEJ5nqC-d26q9Kj_2uRdInH1YTX4,2052
39
39
  docling/datamodel/settings.py,sha256=ajMz7Ao2m0ZGYkfArqTDDbiF89O408mtgeh06PUi0MA,1900
40
40
  docling/datamodel/vlm_model_specs.py,sha256=--jZexGeu-s_lWp7y_WwWEf6CD1J4XqADrS1-OY_pWM,4737
41
41
  docling/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  docling/models/api_vlm_model.py,sha256=w3P1wOsr3JvZsawbK1Z4uwnD5ehUMbcKGkyhcX83Okc,2738
43
43
  docling/models/base_model.py,sha256=Zx_nByGYkubTvvYiQxwiB6P8lc7wOD4ZTC2QIw6vCEg,2950
44
- docling/models/base_ocr_model.py,sha256=c6a2QzZnAMfQECQDz1JASecl_Z2F3i6P3ax6kHWcz6o,7221
44
+ docling/models/base_ocr_model.py,sha256=HtrefTq9Zy4UnUInMchPv0tbobiA7CQU5VUauKJD7IU,8006
45
45
  docling/models/code_formula_model.py,sha256=5uWh-eI-Ejmv3DujKJoKKgJBuvPLokt7AJ_ybt8VHEw,11373
46
46
  docling/models/document_picture_classifier.py,sha256=fkJLV7pMy3v6iNwOzVb6zdBU1dGtBM1ARHLIRPfoAG4,6124
47
- docling/models/easyocr_model.py,sha256=bTK-AQYc-WTzX8SRoMRwVjqlMigaJKGloaLUcH6RCKU,7406
48
- docling/models/layout_model.py,sha256=KdGhS4EMWKP6BwlhUJ0mdbhk2Fc78qwzqEZbTxyrbFM,8508
49
- docling/models/ocr_mac_model.py,sha256=CJOwz9h84crvZd3kQMLxYntpXz-1w2eLDjhGUnGIwMQ,5415
47
+ docling/models/easyocr_model.py,sha256=ECPBd-48cCw5s935NsPJO_C_1QuK_yAUGloMM77WqIM,7387
48
+ docling/models/layout_model.py,sha256=EJuRXW0rFdnNPS5AifdEsr812EATUqAioeMCVjw8PL0,8460
49
+ docling/models/ocr_mac_model.py,sha256=y-1DSFDbACHpEwNTfQwzN9ab8r5j5rBFNPtQ48BzsrA,5396
50
50
  docling/models/page_assemble_model.py,sha256=TvN1naez7dUodLxpUUBzpuMCpqZBTf6YSpewxgjzmrg,6323
51
- docling/models/page_preprocessing_model.py,sha256=8cdhR9n3zcC8JxDen8WdPBx_GNk_5VICeHJo1-kP518,5186
51
+ docling/models/page_preprocessing_model.py,sha256=x8MI4mvjizqEqAb5511dtrNRCJSb-lSmwHw0tmHPFiI,5103
52
52
  docling/models/picture_description_api_model.py,sha256=o3EkV5aHW_6WzE_fdj_VRnNCrS_btclO_ZCLAUqrfl0,2377
53
53
  docling/models/picture_description_base_model.py,sha256=kLthLhdlgwhootQ4_xhhcAk6A-vso5-qcsFJ3TcYfO0,2991
54
54
  docling/models/picture_description_vlm_model.py,sha256=7LeCx9ZdPxsmWJ468OtxCdAkH48A1HD0iwH9cs_7-1Q,3800
55
- docling/models/rapid_ocr_model.py,sha256=miTPn1YTWKtXUuddiVv0SjgkuNWHXCW3CZ6epDUmKjI,5935
56
- docling/models/readingorder_model.py,sha256=S9ru2ApY9sE-Uue3hptWHmbmElwo36bUbAikxCFpHYs,14574
55
+ docling/models/rapid_ocr_model.py,sha256=AMdc66s_iWO4p6nQ0LNjQMUYVxrDSxMyLNPpjPYt6N8,5916
56
+ docling/models/readingorder_model.py,sha256=46ZYGJrRIp2ueJAQPmqXHjEw-5LcNtVUECSd4yIcHnM,14582
57
57
  docling/models/table_structure_model.py,sha256=dQf6u_zn5fHCkHzmTwYfCbRtZCBddsyAM0WNVBUUQzk,12473
58
- docling/models/tesseract_ocr_cli_model.py,sha256=oQZVWXQ6wRrFonRFwbWeW9nJ9FLQZdzSWErOp0mEff0,12698
59
- docling/models/tesseract_ocr_model.py,sha256=AjrZNwgVbV0IbzBJwI35YP0KxvqWJWJE0v_lgHJiQrk,10606
58
+ docling/models/tesseract_ocr_cli_model.py,sha256=qcM3-n7Z_dm1CGBhVUcNr2XT41iXnU32zk4RqKHBl9I,12775
59
+ docling/models/tesseract_ocr_model.py,sha256=9DPAE7XP7smej7HYhr7mdwpuxSjAcv_GPrYZG3bb1RA,10587
60
60
  docling/models/factories/__init__.py,sha256=x_EM5dDg_A3HBcBYzOoqwmA2AFLtJ1IzYDPX-R1A-Sg,868
61
61
  docling/models/factories/base_factory.py,sha256=MfWIljMETi5aaVR-6qLTelW8u1gwDAQsOwg3fu7O4Qc,4028
62
62
  docling/models/factories/ocr_factory.py,sha256=G5RkmkKvkl-ihpo6qSj8WC77VdlVSQ1s0ekwUX2ILts,316
@@ -66,19 +66,19 @@ docling/models/plugins/defaults.py,sha256=qslXGnRX07Z3GGttNriqaox0v0vXp4zs4KLurH
66
66
  docling/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
67
  docling/models/utils/hf_model_download.py,sha256=scBEfsM4yl7xPzqe7UtPvDh9RfQZQnuOhqQKilYBHls,984
68
68
  docling/models/vlm_models_inline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- docling/models/vlm_models_inline/hf_transformers_model.py,sha256=SXSu6spu8zNCsrD32RU_irLs59ltF6PqbLVfpjDujmE,7285
69
+ docling/models/vlm_models_inline/hf_transformers_model.py,sha256=4o1_G2__4opIl3J1HzujmdGyZaabqtEGgTmkraZYsXo,7343
70
70
  docling/models/vlm_models_inline/mlx_model.py,sha256=CFe1UNxQufZd5K4iaOW3HsplQBPb_1cENf3KIwWUSWw,5702
71
71
  docling/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
72
  docling/pipeline/base_pipeline.py,sha256=DnuxAf7EQusdSRae0QUVth-0f2mSff8JZjX-2vazk00,8751
73
73
  docling/pipeline/simple_pipeline.py,sha256=TXZOwR7hZRji462ZTIpte0VJjzbxvNVE8dbLFANDhSU,2253
74
- docling/pipeline/standard_pdf_pipeline.py,sha256=itCZPj7nMFAQtAlStfmWthpCIHZFUm9W5uTgvVi6PkQ,12738
74
+ docling/pipeline/standard_pdf_pipeline.py,sha256=2Hqg2wnAXfbZbLUOQrRus8PMEuZ549jR1mfR86-CAB4,12659
75
75
  docling/pipeline/vlm_pipeline.py,sha256=IrjDbajCPmUPep_jATKNiABST4tQ8mvpkQz9mtBQ8qQ,15279
76
76
  docling/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  docling/utils/accelerator_utils.py,sha256=Fww4UiTiuIB91iuPgUZTy-DYpCGRMI8YuCYKhFb0gjA,2905
78
78
  docling/utils/api_image_request.py,sha256=_CgdzmPqdsyXmyYUFGLZcXcoH586qC6A1p5vsNbj1Q0,1416
79
79
  docling/utils/export.py,sha256=VwVUnYDk3mhGmISDbVm306fwpGNnoojouStBD4UajXI,4673
80
80
  docling/utils/glm_utils.py,sha256=TKOWQqWAHsX_w4fvoAA7_2xCi_urhnp1DsmjY8_sk5w,12274
81
- docling/utils/layout_postprocessor.py,sha256=3WCmkPsPJ80xfWzAUeWb5L9BmuwJ79ztctvbbUs8AfI,24068
81
+ docling/utils/layout_postprocessor.py,sha256=laTPGGj-hv16Zh1TRcn8NK0POKs7d3jeaV1pRR_TjIU,24228
82
82
  docling/utils/locks.py,sha256=RzqQtD5UispgV71pGN_nU6GYfeN11BN0Sh_Dq9ycqGo,52
83
83
  docling/utils/model_downloader.py,sha256=6TDxFOvMRYT8JyYyaQS_wXMJzNga61ImY3sFdks66qM,4004
84
84
  docling/utils/ocr_utils.py,sha256=AOaDAHr5S74d-IRVR_LKhKynUTIurAwLJ3wNeY58gPA,2326
@@ -86,9 +86,9 @@ docling/utils/orientation.py,sha256=xXlOfowL54FKwjsTFrM7y3ogk1wChLNn_-u74tYIf1s,
86
86
  docling/utils/profiling.py,sha256=YaMGoB9MMZpagF9mb5ndoHj8Lpb9aIdb7El-Pl7IcFs,1753
87
87
  docling/utils/utils.py,sha256=kJtIYuzXeOyJHYlxmLAo7dGM5rEsDa1i84qEsUj1nio,1908
88
88
  docling/utils/visualization.py,sha256=tY2ylE2aiQKkmzlSLnFW-HTfFyqUUMguW18ldd1PLfo,2868
89
- docling-2.36.0.dist-info/licenses/LICENSE,sha256=mBb7ErEcM8VS9OhiGHnQ2kk75HwPhr54W1Oiz3965MY,1088
90
- docling-2.36.0.dist-info/METADATA,sha256=QvDUpjcs-p-AzrU8qJWl2xCadZtCXcBJj5S7uKh0QsY,10063
91
- docling-2.36.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
92
- docling-2.36.0.dist-info/entry_points.txt,sha256=hzVlbeE0aMSTQ9S0-NTYN0Hmgsn6qL_EA2qX4UbkAuY,149
93
- docling-2.36.0.dist-info/top_level.txt,sha256=vkIywP-USjFyYo1AIRQbWQQaL3xB5jf8vkCYdTIfNic,8
94
- docling-2.36.0.dist-info/RECORD,,
89
+ docling-2.37.0.dist-info/licenses/LICENSE,sha256=mBb7ErEcM8VS9OhiGHnQ2kk75HwPhr54W1Oiz3965MY,1088
90
+ docling-2.37.0.dist-info/METADATA,sha256=MvNxmbh1_bNJ8Z2_GG3EoJHH2S-5rbOEBpM6x4LQeoA,10036
91
+ docling-2.37.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
92
+ docling-2.37.0.dist-info/entry_points.txt,sha256=hzVlbeE0aMSTQ9S0-NTYN0Hmgsn6qL_EA2qX4UbkAuY,149
93
+ docling-2.37.0.dist-info/top_level.txt,sha256=vkIywP-USjFyYo1AIRQbWQQaL3xB5jf8vkCYdTIfNic,8
94
+ docling-2.37.0.dist-info/RECORD,,