natural-pdf 0.1.10__py3-none-any.whl → 0.1.12__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.
- natural_pdf/__init__.py +29 -40
- natural_pdf/analyzers/text_options.py +9 -1
- natural_pdf/analyzers/text_structure.py +371 -58
- natural_pdf/classification/manager.py +1 -1
- natural_pdf/core/element_manager.py +11 -1
- natural_pdf/core/highlighting_service.py +120 -40
- natural_pdf/core/page.py +20 -18
- natural_pdf/core/pdf.py +146 -13
- natural_pdf/elements/base.py +17 -0
- natural_pdf/elements/collections.py +374 -30
- natural_pdf/elements/region.py +45 -14
- natural_pdf/exporters/data/__init__.py +0 -0
- natural_pdf/exporters/data/pdf.ttf +0 -0
- natural_pdf/exporters/data/sRGB.icc +0 -0
- natural_pdf/exporters/hocr.py +519 -0
- natural_pdf/exporters/hocr_font.py +136 -0
- natural_pdf/exporters/original_pdf.py +127 -0
- natural_pdf/exporters/searchable_pdf.py +2 -12
- natural_pdf/ocr/engine_surya.py +1 -1
- natural_pdf/search/__init__.py +65 -52
- natural_pdf/search/lancedb_search_service.py +325 -0
- natural_pdf/search/numpy_search_service.py +255 -0
- natural_pdf/search/searchable_mixin.py +25 -71
- natural_pdf/widgets/viewer.py +22 -31
- {natural_pdf-0.1.10.dist-info → natural_pdf-0.1.12.dist-info}/METADATA +54 -50
- {natural_pdf-0.1.10.dist-info → natural_pdf-0.1.12.dist-info}/RECORD +29 -23
- {natural_pdf-0.1.10.dist-info → natural_pdf-0.1.12.dist-info}/WHEEL +1 -1
- natural_pdf/search/haystack_search_service.py +0 -687
- natural_pdf/search/haystack_utils.py +0 -474
- {natural_pdf-0.1.10.dist-info → natural_pdf-0.1.12.dist-info}/licenses/LICENSE +0 -0
- {natural_pdf-0.1.10.dist-info → natural_pdf-0.1.12.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: natural-pdf
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.12
|
4
4
|
Summary: A more intuitive interface for working with PDFs
|
5
5
|
Author-email: Jonathan Soma <jonathan.soma@gmail.com>
|
6
6
|
License-Expression: MIT
|
@@ -12,20 +12,16 @@ Requires-Python: >=3.9
|
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
14
|
Requires-Dist: pdfplumber
|
15
|
-
Requires-Dist:
|
15
|
+
Requires-Dist: pillow
|
16
16
|
Requires-Dist: colour
|
17
17
|
Requires-Dist: numpy
|
18
18
|
Requires-Dist: urllib3
|
19
19
|
Requires-Dist: tqdm
|
20
20
|
Requires-Dist: pydantic
|
21
|
-
|
22
|
-
Requires-Dist:
|
23
|
-
Provides-Extra:
|
24
|
-
Requires-Dist:
|
25
|
-
Requires-Dist: lancedb-haystack; extra == "haystack"
|
26
|
-
Requires-Dist: lancedb; extra == "haystack"
|
27
|
-
Requires-Dist: sentence-transformers; extra == "haystack"
|
28
|
-
Requires-Dist: natural-pdf[core-ml]; extra == "haystack"
|
21
|
+
Requires-Dist: jenkspy
|
22
|
+
Requires-Dist: pikepdf>=9.7.0
|
23
|
+
Provides-Extra: viewer
|
24
|
+
Requires-Dist: ipywidgets<9.0.0,>=7.0.0; extra == "viewer"
|
29
25
|
Provides-Extra: easyocr
|
30
26
|
Requires-Dist: easyocr; extra == "easyocr"
|
31
27
|
Requires-Dist: natural-pdf[core-ml]; extra == "easyocr"
|
@@ -41,19 +37,25 @@ Requires-Dist: natural-pdf[core-ml]; extra == "surya"
|
|
41
37
|
Provides-Extra: doctr
|
42
38
|
Requires-Dist: python-doctr[torch]; extra == "doctr"
|
43
39
|
Requires-Dist: natural-pdf[core-ml]; extra == "doctr"
|
44
|
-
Provides-Extra: qa
|
45
|
-
Requires-Dist: natural-pdf[core-ml]; extra == "qa"
|
46
40
|
Provides-Extra: docling
|
47
41
|
Requires-Dist: docling; extra == "docling"
|
48
42
|
Requires-Dist: natural-pdf[core-ml]; extra == "docling"
|
49
43
|
Provides-Extra: llm
|
50
44
|
Requires-Dist: openai>=1.0; extra == "llm"
|
51
|
-
Provides-Extra: classification
|
52
|
-
Requires-Dist: sentence-transformers; extra == "classification"
|
53
|
-
Requires-Dist: timm; extra == "classification"
|
54
|
-
Requires-Dist: natural-pdf[core-ml]; extra == "classification"
|
55
45
|
Provides-Extra: test
|
56
46
|
Requires-Dist: pytest; extra == "test"
|
47
|
+
Provides-Extra: search
|
48
|
+
Requires-Dist: lancedb; extra == "search"
|
49
|
+
Requires-Dist: pyarrow; extra == "search"
|
50
|
+
Provides-Extra: favorites
|
51
|
+
Requires-Dist: natural-pdf[deskew]; extra == "favorites"
|
52
|
+
Requires-Dist: natural-pdf[llm]; extra == "favorites"
|
53
|
+
Requires-Dist: natural-pdf[surya]; extra == "favorites"
|
54
|
+
Requires-Dist: natural-pdf[easyocr]; extra == "favorites"
|
55
|
+
Requires-Dist: natural-pdf[layout_yolo]; extra == "favorites"
|
56
|
+
Requires-Dist: natural-pdf[ocr-export]; extra == "favorites"
|
57
|
+
Requires-Dist: natural-pdf[viewer]; extra == "favorites"
|
58
|
+
Requires-Dist: natural-pdf[search]; extra == "favorites"
|
57
59
|
Provides-Extra: dev
|
58
60
|
Requires-Dist: black; extra == "dev"
|
59
61
|
Requires-Dist: isort; extra == "dev"
|
@@ -67,31 +69,33 @@ Requires-Dist: pipdeptree; extra == "dev"
|
|
67
69
|
Requires-Dist: nbformat; extra == "dev"
|
68
70
|
Requires-Dist: jupytext; extra == "dev"
|
69
71
|
Requires-Dist: nbclient; extra == "dev"
|
72
|
+
Requires-Dist: ipykernel; extra == "dev"
|
70
73
|
Provides-Extra: deskew
|
71
74
|
Requires-Dist: deskew>=1.5; extra == "deskew"
|
72
75
|
Requires-Dist: img2pdf; extra == "deskew"
|
73
76
|
Provides-Extra: all
|
74
|
-
Requires-Dist: natural-pdf[
|
75
|
-
Requires-Dist: natural-pdf[haystack]; extra == "all"
|
77
|
+
Requires-Dist: natural-pdf[viewer]; extra == "all"
|
76
78
|
Requires-Dist: natural-pdf[easyocr]; extra == "all"
|
77
79
|
Requires-Dist: natural-pdf[paddle]; extra == "all"
|
78
80
|
Requires-Dist: natural-pdf[layout_yolo]; extra == "all"
|
79
81
|
Requires-Dist: natural-pdf[surya]; extra == "all"
|
80
82
|
Requires-Dist: natural-pdf[doctr]; extra == "all"
|
81
|
-
Requires-Dist: natural-pdf[qa]; extra == "all"
|
82
83
|
Requires-Dist: natural-pdf[ocr-export]; extra == "all"
|
83
84
|
Requires-Dist: natural-pdf[docling]; extra == "all"
|
84
85
|
Requires-Dist: natural-pdf[llm]; extra == "all"
|
85
|
-
Requires-Dist: natural-pdf[
|
86
|
+
Requires-Dist: natural-pdf[core-ml]; extra == "all"
|
86
87
|
Requires-Dist: natural-pdf[deskew]; extra == "all"
|
87
88
|
Requires-Dist: natural-pdf[test]; extra == "all"
|
89
|
+
Requires-Dist: natural-pdf[search]; extra == "all"
|
88
90
|
Provides-Extra: core-ml
|
89
91
|
Requires-Dist: torch; extra == "core-ml"
|
90
92
|
Requires-Dist: torchvision; extra == "core-ml"
|
91
93
|
Requires-Dist: transformers[sentencepiece]; extra == "core-ml"
|
92
94
|
Requires-Dist: huggingface_hub; extra == "core-ml"
|
95
|
+
Requires-Dist: sentence-transformers; extra == "core-ml"
|
96
|
+
Requires-Dist: numpy; extra == "core-ml"
|
97
|
+
Requires-Dist: timm; extra == "core-ml"
|
93
98
|
Provides-Extra: ocr-export
|
94
|
-
Requires-Dist: ocrmypdf; extra == "ocr-export"
|
95
99
|
Requires-Dist: pikepdf; extra == "ocr-export"
|
96
100
|
Provides-Extra: export-extras
|
97
101
|
Requires-Dist: jupytext; extra == "export-extras"
|
@@ -115,26 +119,11 @@ Natural PDF lets you find and extract content from PDFs using simple code that m
|
|
115
119
|
pip install natural-pdf
|
116
120
|
```
|
117
121
|
|
118
|
-
For optional features like specific OCR engines, layout analysis models, or the interactive Jupyter widget, you can install extras:
|
122
|
+
For optional features like specific OCR engines, layout analysis models, or the interactive Jupyter widget, you can install one to two million different extras. If you just want the greatest hits:
|
119
123
|
|
120
124
|
```bash
|
121
|
-
#
|
122
|
-
pip install natural-pdf[
|
123
|
-
pip install natural-pdf[surya]
|
124
|
-
pip install natural-pdf[paddle]
|
125
|
-
|
126
|
-
# Example: Install support for features using Large Language Models (e.g., via OpenAI-compatible APIs)
|
127
|
-
pip install natural-pdf[llm]
|
128
|
-
# (May require setting API key environment variables, e.g., GOOGLE_API_KEY for Gemini)
|
129
|
-
|
130
|
-
# Example: Install with interactive viewer support
|
131
|
-
pip install natural-pdf[interactive]
|
132
|
-
|
133
|
-
# Example: Install with semantic search support (Haystack)
|
134
|
-
pip install natural-pdf[haystack]
|
135
|
-
|
136
|
-
# Install everything
|
137
|
-
pip install natural-pdf[all]
|
125
|
+
# deskewing, OCR (surya) + layout analysis (yolo), interactive browsing
|
126
|
+
pip install natural-pdf[favorites]
|
138
127
|
```
|
139
128
|
|
140
129
|
See the [installation guide](https://jsoma.github.io/natural-pdf/installation/) for more details on extras.
|
@@ -148,25 +137,26 @@ from natural_pdf import PDF
|
|
148
137
|
pdf = PDF('document.pdf')
|
149
138
|
page = pdf.pages[0]
|
150
139
|
|
140
|
+
# Extract all of the text on the page
|
141
|
+
page.extract_text()
|
142
|
+
|
151
143
|
# Find elements using CSS-like selectors
|
152
144
|
heading = page.find('text:contains("Summary"):bold')
|
153
145
|
|
154
146
|
# Extract content below the heading
|
155
147
|
content = heading.below().extract_text()
|
156
|
-
print("Content below Summary:", content[:100] + "...")
|
157
148
|
|
158
|
-
#
|
159
|
-
|
160
|
-
page.add_exclusion(page.find('text:contains("CONFIDENTIAL")').above())
|
161
|
-
page.add_exclusion(page.find_all('line')[-1].below())
|
149
|
+
# Examine all the bold text on the page
|
150
|
+
page.find_all('text:bold').show()
|
162
151
|
|
163
|
-
#
|
164
|
-
|
165
|
-
|
152
|
+
# Exclude parts of the page from selectors/extractors
|
153
|
+
header = page.find('text:contains("CONFIDENTIAL")').above()
|
154
|
+
footer = page.find_all('line')[-1].below()
|
155
|
+
page.add_exclusion(header)
|
156
|
+
page.add_exclusion(footer)
|
166
157
|
|
167
|
-
#
|
168
|
-
|
169
|
-
page.to_image()
|
158
|
+
# Extract clean text from the page ignoring exclusions
|
159
|
+
clean_text = page.extract_text()
|
170
160
|
```
|
171
161
|
|
172
162
|
And as a fun bonus, `page.viewer()` will provide an interactive method to explore the PDF.
|
@@ -187,3 +177,17 @@ Natural PDF offers a range of features for working with PDFs:
|
|
187
177
|
## Learn More
|
188
178
|
|
189
179
|
Dive deeper into the features and explore advanced usage in the [**Complete Documentation**](https://jsoma.github.io/natural-pdf).
|
180
|
+
|
181
|
+
## Best friends
|
182
|
+
|
183
|
+
Natural PDF sits on top of a *lot* of fantastic tools and mdoels, some of which are:
|
184
|
+
|
185
|
+
- [pdfplumber](https://github.com/jsvine/pdfplumber)
|
186
|
+
- [EasyOCR](https://www.jaided.ai/easyocr/)
|
187
|
+
- [PaddleOCR](https://paddlepaddle.github.io/PaddleOCR/latest/en/index.html)
|
188
|
+
- [Surya](https://github.com/VikParuchuri/surya)
|
189
|
+
- A specific [YOLO](https://github.com/opendatalab/DocLayout-YOLO)
|
190
|
+
- [deskew](https://github.com/sbrunner/deskew)
|
191
|
+
- [doctr](https://github.com/mindee/doctr)
|
192
|
+
- [docling](https://github.com/docling-project/docling)
|
193
|
+
- [Hugging Face](https://huggingface.co/models)
|
@@ -1,7 +1,7 @@
|
|
1
|
-
natural_pdf/__init__.py,sha256=
|
1
|
+
natural_pdf/__init__.py,sha256=0sCYgb9BAV5OnpD_1AswMuOLuXNmpe3OLJpv_6p3tgw,2449
|
2
2
|
natural_pdf/analyzers/__init__.py,sha256=dIXjsMqoxKmd9OOnSBzn12wvdIz7D7YNQRAnXslpJSM,142
|
3
|
-
natural_pdf/analyzers/text_options.py,sha256=
|
4
|
-
natural_pdf/analyzers/text_structure.py,sha256=
|
3
|
+
natural_pdf/analyzers/text_options.py,sha256=qEkDaYWla0rIM_gszEOsu52q7C_dAfV81P2HLJZM2sw,3333
|
4
|
+
natural_pdf/analyzers/text_structure.py,sha256=VfKTsTFrK877sC0grsis9jK3rrgp0Mbp13VWEbukTcs,28437
|
5
5
|
natural_pdf/analyzers/utils.py,sha256=PYbzJzSAHZ7JsMes84WIrSbA0zkjJGs0CLvIeINsf_k,2100
|
6
6
|
natural_pdf/analyzers/layout/__init__.py,sha256=oq1uJ5UkGGMbBKGirV1aRKK3hxAUyjTLywYkPCQH1f0,33
|
7
7
|
natural_pdf/analyzers/layout/base.py,sha256=bYawhmc_0xqKG-xbxUSiazIU1om-aBox5Jh8qDqv-eM,6451
|
@@ -15,28 +15,34 @@ natural_pdf/analyzers/layout/pdfplumber_table_finder.py,sha256=Tk0Q7wv7nGYPo69lh
|
|
15
15
|
natural_pdf/analyzers/layout/surya.py,sha256=4RdnhRxSS3i3Ns5mFhOA9-P0xd7Ms19uZuKvUGQfEBI,9789
|
16
16
|
natural_pdf/analyzers/layout/tatr.py,sha256=cVr0ZyhY2mNLAKZ4DGMm-b7XNJpILKh8x8ZpyDeUhLk,15032
|
17
17
|
natural_pdf/analyzers/layout/yolo.py,sha256=ANo2U4EZgeN2eYKM1bZIuysiuJLgwl4JeQchrRxOKwA,8388
|
18
|
-
natural_pdf/classification/manager.py,sha256=
|
18
|
+
natural_pdf/classification/manager.py,sha256=4iHoZQ6W541efFvwJt38K-4n5svYH3uYk0ixWPCt7do,17922
|
19
19
|
natural_pdf/classification/mixin.py,sha256=hhX9qWPShpOq_-mgoEq0GUWnutBnNMo3YdUlxwyNWMA,6781
|
20
20
|
natural_pdf/classification/results.py,sha256=El1dY7cBQVOB5lP-uj52dWgH6Y7TeQgJOVcZD-OLjes,2778
|
21
21
|
natural_pdf/collections/mixins.py,sha256=sj76Cn6EdBtb5f-bdAV-1qpdixX8tI4BzPccPiYLI1w,5117
|
22
22
|
natural_pdf/collections/pdf_collection.py,sha256=obHizc2KR4ZiAspodaPOeMgfpoW3aKg_G0goBHlrFJI,32018
|
23
23
|
natural_pdf/core/__init__.py,sha256=QC8H4M3KbXwMFiQORZ0pdPlzx1Ix6oKKQSS7Ib2KEaA,38
|
24
|
-
natural_pdf/core/element_manager.py,sha256=
|
25
|
-
natural_pdf/core/highlighting_service.py,sha256=
|
26
|
-
natural_pdf/core/page.py,sha256=
|
27
|
-
natural_pdf/core/pdf.py,sha256=
|
24
|
+
natural_pdf/core/element_manager.py,sha256=_UdXu51sLi6STzc8Pj4k8R721G3yJixXDLuRHn3hmr8,25731
|
25
|
+
natural_pdf/core/highlighting_service.py,sha256=F1s9KEVkZb3Srtp1_ayQJayp1ZvDf9FcChsZdLk4yWk,37138
|
26
|
+
natural_pdf/core/page.py,sha256=XoHPdsg7YUQIkayD0U1cQ7pNR8NCgV9xkV0rVAO7n3s,105167
|
27
|
+
natural_pdf/core/pdf.py,sha256=ssXJviTVKyVZuyiSKv1vE0GW7BACNXBhovIUbPm5MZ4,69511
|
28
28
|
natural_pdf/elements/__init__.py,sha256=S8XeiNWJ1WcgnyYKdYV1yxQlAxCCO3FfITT8MQwNbyk,41
|
29
|
-
natural_pdf/elements/base.py,sha256=
|
30
|
-
natural_pdf/elements/collections.py,sha256=
|
29
|
+
natural_pdf/elements/base.py,sha256=qKU95sJMw6uiIuez57i-3SmMIHvi9ctv7jwIWJI9qnQ,38415
|
30
|
+
natural_pdf/elements/collections.py,sha256=gPj_7eONu6zLyYHnWdPRvgHd___FfTW9mg8iwEBsgxg,112383
|
31
31
|
natural_pdf/elements/line.py,sha256=7cow3xMUKhAj7zoQz7OaB1eIH2_a8B__LB7iGJ4Mb0o,4612
|
32
32
|
natural_pdf/elements/rect.py,sha256=kiVa3e377ZnqIOXc89d9ZSY4EcmDxtccdtUw-HOQzpw,3796
|
33
|
-
natural_pdf/elements/region.py,sha256=
|
33
|
+
natural_pdf/elements/region.py,sha256=HWqO_Or_wi7pu82w_LUoKHa7r_64AEOJDdmBXSWeZ50,98848
|
34
34
|
natural_pdf/elements/text.py,sha256=13HvVZGinj2Vm_fFCAnqi7hohtoKvnpCp3VCfkpeAbc,11146
|
35
35
|
natural_pdf/export/mixin.py,sha256=L1q3MIEFWuvie4j4_EmW7GT3NerbZ1as0XMUoqTS7gM,5083
|
36
36
|
natural_pdf/exporters/__init__.py,sha256=7MnvRLLQdwtg-ULu-8uK8C84GsKiJamyhRw_GgWhw7k,151
|
37
37
|
natural_pdf/exporters/base.py,sha256=XhR1xlkHOh7suOuX7mWbsj1h2o1pZNet-OAS5YCJyeI,2115
|
38
|
+
natural_pdf/exporters/hocr.py,sha256=MOb5sTxe-GlMSOtmqp3p4SY_ZigwOtmd4sj_zMRCIQY,19907
|
39
|
+
natural_pdf/exporters/hocr_font.py,sha256=1wsGOMj6zoaRN2rxCwrv4MMLGawpNz984WgXpmWekgw,4574
|
40
|
+
natural_pdf/exporters/original_pdf.py,sha256=zsZPg_lUoEerKIzzoEw-qGdM5XBg_LZhFJeVKnCUp4o,5054
|
38
41
|
natural_pdf/exporters/paddleocr.py,sha256=BYpdtJI7S8rBkI2dkRESx2epVAZOTfzqU-rjJnUQ5jQ,16249
|
39
|
-
natural_pdf/exporters/searchable_pdf.py,sha256=
|
42
|
+
natural_pdf/exporters/searchable_pdf.py,sha256=G2Tc4tpDXSYIufXJlkA8ppW_3DuzHAaweYKae33pI_c,16290
|
43
|
+
natural_pdf/exporters/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
44
|
+
natural_pdf/exporters/data/pdf.ttf,sha256=x4RUIJJaI9iO2DCmOVe4r4Wmao2vjZ_JDoQ2c7LvGlk,572
|
45
|
+
natural_pdf/exporters/data/sRGB.icc,sha256=KpLUuuRQt22LCqQhk9-XTXX2Jzjs6_dPAcXnWxKpV5Y,6922
|
40
46
|
natural_pdf/extraction/manager.py,sha256=mUBbfgLG5Pl31wmajXwyipdEJb_dZ5I-y8GnWw7IzGo,4969
|
41
47
|
natural_pdf/extraction/mixin.py,sha256=eKbr70VibpbtfjvCE80lTFuYHzq_BoVtOHjznL_GMRA,11719
|
42
48
|
natural_pdf/extraction/result.py,sha256=c1vLguCR6l95cvg-BJJmZvL_MPg2McJaczge55bKZMg,934
|
@@ -45,19 +51,19 @@ natural_pdf/ocr/engine.py,sha256=ZBC1tZNM5EDbGDJJmZI9mNHr4nCMLEZvUFhiJq8GdF4,874
|
|
45
51
|
natural_pdf/ocr/engine_doctr.py,sha256=519WpvSHgwP6Hv24tci_YHFX7XPlaxOnlREN_YG-Yys,16331
|
46
52
|
natural_pdf/ocr/engine_easyocr.py,sha256=9TbxJjmhWFrzM8mcNnZjoRtIDr6gwpuwKm4-Zfub2-8,9281
|
47
53
|
natural_pdf/ocr/engine_paddle.py,sha256=2nIrvLBBAiZG1BxVo3eFVJulA6YGoOTXw_RN98p_BUk,6184
|
48
|
-
natural_pdf/ocr/engine_surya.py,sha256=
|
54
|
+
natural_pdf/ocr/engine_surya.py,sha256=CQHpPecCYsJsr7pEvEyubAf5FJFs7vFHAm_0cGGr-A4,4839
|
49
55
|
natural_pdf/ocr/ocr_factory.py,sha256=gBFXdFs7E4aCynHz06sQsAhaO3s8yhgoFgN5nyxtg9c,5221
|
50
56
|
natural_pdf/ocr/ocr_manager.py,sha256=f0q68ynGYVPkF4D3WnufxmHWD5R1jW5Z_1czTEi9JVU,13931
|
51
57
|
natural_pdf/ocr/ocr_options.py,sha256=ZvtnFn1kPkFEoWveQ13uy6B-ofquP0gHEi4tBHrjqCE,6438
|
52
58
|
natural_pdf/ocr/utils.py,sha256=OxuHwDbHWj6setvnC0QYwMHrAjxGkhmLzWHpMqqGupA,4397
|
53
59
|
natural_pdf/qa/__init__.py,sha256=Pjo62JTnUNEjGNsC437mvsS5KQ5m7X_BibGvavR9AW0,108
|
54
60
|
natural_pdf/qa/document_qa.py,sha256=Jw4yyq3Vifn57D0ANmOfUlZeG8CJjBkItZBV-8ZAmos,15111
|
55
|
-
natural_pdf/search/__init__.py,sha256=
|
56
|
-
natural_pdf/search/
|
57
|
-
natural_pdf/search/
|
61
|
+
natural_pdf/search/__init__.py,sha256=72n_Mj_AhF_RCIoBBhZ6EZKjbILM8omelXZ99fXw7n4,3688
|
62
|
+
natural_pdf/search/lancedb_search_service.py,sha256=tW7ONPcWGY1HKle_7OqCXRnMCI-aKL-AqneKz2YbLlM,13706
|
63
|
+
natural_pdf/search/numpy_search_service.py,sha256=3_8fx7NV-15jBokOU73mcxrznxPxzVQnOlDHf3dpo28,10117
|
58
64
|
natural_pdf/search/search_options.py,sha256=sq_e8_jSROicD94b_xtDtLnjEr_Zsy4icjzPkK0a8QA,3566
|
59
65
|
natural_pdf/search/search_service_protocol.py,sha256=Dl-Q-CrutkhZwI69scbW9EWPeYM63qxB60_EA7YqIYo,6699
|
60
|
-
natural_pdf/search/searchable_mixin.py,sha256=
|
66
|
+
natural_pdf/search/searchable_mixin.py,sha256=dZbaHv8Go3TJNqxoPtnp9Dr0Ftxuf_44RpBeIRXkPxc,23534
|
61
67
|
natural_pdf/selectors/__init__.py,sha256=oZGeqSv53EqmIZOhcnawuaGGlRg1h79vArXuZCWKm4A,123
|
62
68
|
natural_pdf/selectors/parser.py,sha256=oI3ezkB6sIyrq_nLJrbaBaBZktXwEp_HG_gKQlVSVcs,24447
|
63
69
|
natural_pdf/templates/__init__.py,sha256=jYBxzfi73vew0f6yhIh1MlRxw4F_TVN2hKQR0YXOFe0,20
|
@@ -72,9 +78,9 @@ natural_pdf/utils/text_extraction.py,sha256=z6Jhy11pakYCsEpkvh8ldw6DkUFsYF1hCL9Y
|
|
72
78
|
natural_pdf/utils/tqdm_utils.py,sha256=wV3RXvqog26eWEFEqjt2LkGnLswmO1GXaVGSqgS7tAY,1601
|
73
79
|
natural_pdf/utils/visualization.py,sha256=30pRWQdsRJh2pSObh-brKVsFgC1n8tHmSrta_UDnVPw,8989
|
74
80
|
natural_pdf/widgets/__init__.py,sha256=O2fSDo604wDAP6UwUkmBq3eT91RSqHwBpAOQXq92S8s,214
|
75
|
-
natural_pdf/widgets/viewer.py,sha256=
|
76
|
-
natural_pdf-0.1.
|
77
|
-
natural_pdf-0.1.
|
78
|
-
natural_pdf-0.1.
|
79
|
-
natural_pdf-0.1.
|
80
|
-
natural_pdf-0.1.
|
81
|
+
natural_pdf/widgets/viewer.py,sha256=ekgXTEfA48GrR-JjpCpgyBCXdf4IubV0pAXDJozcU7A,39196
|
82
|
+
natural_pdf-0.1.12.dist-info/licenses/LICENSE,sha256=9zfwINwJlarbDmdh6iJV4QUG54QSJlSAUcnC1YiC_Ns,1074
|
83
|
+
natural_pdf-0.1.12.dist-info/METADATA,sha256=GpzOi_m7e7vOS1vlUsrN0WIc0ncvhxvGvpEuPr5UGY8,7653
|
84
|
+
natural_pdf-0.1.12.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
85
|
+
natural_pdf-0.1.12.dist-info/top_level.txt,sha256=Cyw1zmNDlUZfb5moU-WUWGprrwH7ln_8LDGdmMHF1xI,17
|
86
|
+
natural_pdf-0.1.12.dist-info/RECORD,,
|