docling 2.36.1__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.
- docling/backend/asciidoc_backend.py +39 -18
- docling/backend/docling_parse_backend.py +61 -59
- docling/backend/docling_parse_v2_backend.py +72 -62
- docling/backend/docling_parse_v4_backend.py +21 -19
- docling/backend/mspowerpoint_backend.py +72 -113
- docling/backend/msword_backend.py +28 -18
- docling/backend/pypdfium2_backend.py +127 -53
- docling/datamodel/base_models.py +10 -3
- docling/datamodel/pipeline_options.py +3 -1
- docling/datamodel/pipeline_options_vlm_model.py +2 -1
- docling/models/base_ocr_model.py +33 -11
- docling/models/easyocr_model.py +1 -1
- docling/models/layout_model.py +2 -3
- docling/models/ocr_mac_model.py +1 -1
- docling/models/page_preprocessing_model.py +3 -6
- docling/models/rapid_ocr_model.py +1 -1
- docling/models/readingorder_model.py +2 -2
- docling/models/tesseract_ocr_cli_model.py +4 -3
- docling/models/tesseract_ocr_model.py +1 -1
- docling/models/vlm_models_inline/hf_transformers_model.py +1 -0
- docling/pipeline/standard_pdf_pipeline.py +0 -1
- docling/utils/layout_postprocessor.py +11 -6
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/METADATA +1 -1
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/RECORD +28 -28
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/WHEEL +0 -0
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/entry_points.txt +0 -0
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/licenses/LICENSE +0 -0
- {docling-2.36.1.dist-info → docling-2.37.0.dist-info}/top_level.txt +0 -0
docling/models/layout_model.py
CHANGED
@@ -176,9 +176,9 @@ class LayoutModel(BasePageModel):
|
|
176
176
|
# Apply postprocessing
|
177
177
|
|
178
178
|
processed_clusters, processed_cells = LayoutPostprocessor(
|
179
|
-
page
|
179
|
+
page, clusters
|
180
180
|
).postprocess()
|
181
|
-
#
|
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
|
)
|
docling/models/ocr_mac_model.py
CHANGED
@@ -132,7 +132,7 @@ class OcrMacModel(BaseOcrModel):
|
|
132
132
|
all_ocr_cells.extend(cells)
|
133
133
|
|
134
134
|
# Post-process the cells
|
135
|
-
|
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.
|
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
|
-
|
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=
|
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=
|
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
|
-
|
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
|
-
|
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")
|
@@ -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,
|
198
|
-
"""Initialize processor with
|
199
|
-
|
200
|
-
self.
|
201
|
-
self.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.
|
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
|
@@ -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=
|
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=
|
10
|
-
docling/backend/docling_parse_v2_backend.py,sha256=
|
11
|
-
docling/backend/docling_parse_v4_backend.py,sha256=
|
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=
|
16
|
-
docling/backend/msword_backend.py,sha256=
|
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=
|
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=
|
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=
|
38
|
-
docling/datamodel/pipeline_options_vlm_model.py,sha256
|
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=
|
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=
|
48
|
-
docling/models/layout_model.py,sha256=
|
49
|
-
docling/models/ocr_mac_model.py,sha256=
|
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=
|
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=
|
56
|
-
docling/models/readingorder_model.py,sha256=
|
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=
|
59
|
-
docling/models/tesseract_ocr_model.py,sha256=
|
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=
|
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=
|
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=
|
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.
|
90
|
-
docling-2.
|
91
|
-
docling-2.
|
92
|
-
docling-2.
|
93
|
-
docling-2.
|
94
|
-
docling-2.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|