natural-pdf 0.1.21__py3-none-any.whl → 0.1.23__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/analyzers/shape_detection_mixin.py +3 -3
- natural_pdf/classification/manager.py +1 -1
- natural_pdf/classification/mixin.py +35 -14
- natural_pdf/classification/results.py +16 -1
- natural_pdf/cli.py +9 -27
- natural_pdf/core/highlighting_service.py +23 -0
- natural_pdf/core/page.py +16 -0
- natural_pdf/core/pdf.py +55 -49
- natural_pdf/describe/base.py +2 -2
- natural_pdf/describe/elements.py +1 -1
- natural_pdf/elements/base.py +79 -1
- natural_pdf/elements/collections.py +23 -1
- natural_pdf/elements/region.py +54 -148
- natural_pdf/exporters/paddleocr.py +1 -1
- natural_pdf/extraction/manager.py +2 -2
- natural_pdf/extraction/mixin.py +295 -11
- natural_pdf/extraction/result.py +28 -1
- natural_pdf/flows/region.py +1 -1
- natural_pdf/ocr/engine_surya.py +25 -5
- natural_pdf/qa/__init__.py +2 -1
- natural_pdf/qa/document_qa.py +33 -37
- natural_pdf/qa/qa_result.py +55 -0
- natural_pdf/selectors/parser.py +22 -0
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/METADATA +21 -14
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/RECORD +29 -28
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/WHEEL +0 -0
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/entry_points.txt +0 -0
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/licenses/LICENSE +0 -0
- {natural_pdf-0.1.21.dist-info → natural_pdf-0.1.23.dist-info}/top_level.txt +0 -0
natural_pdf/selectors/parser.py
CHANGED
@@ -698,6 +698,28 @@ def _build_filter_list(selector: Dict[str, Any], **kwargs) -> List[Dict[str, Any
|
|
698
698
|
|
699
699
|
filter_lambda = contains_check
|
700
700
|
|
701
|
+
# --- Handle :startswith and :starts-with (alias) --- #
|
702
|
+
elif name in ("starts-with", "startswith") and args is not None:
|
703
|
+
filter_name = f"pseudo-class :{name}({args!r})"
|
704
|
+
|
705
|
+
def startswith_check(element, arg=args):
|
706
|
+
if not hasattr(element, "text") or not element.text:
|
707
|
+
return False
|
708
|
+
return str(element.text).startswith(str(arg))
|
709
|
+
|
710
|
+
filter_lambda = startswith_check
|
711
|
+
|
712
|
+
# --- Handle :endswith and :ends-with (alias) --- #
|
713
|
+
elif name in ("ends-with", "endswith") and args is not None:
|
714
|
+
filter_name = f"pseudo-class :{name}({args!r})"
|
715
|
+
|
716
|
+
def endswith_check(element, arg=args):
|
717
|
+
if not hasattr(element, "text") or not element.text:
|
718
|
+
return False
|
719
|
+
return str(element.text).endswith(str(arg))
|
720
|
+
|
721
|
+
filter_lambda = endswith_check
|
722
|
+
|
701
723
|
elif name == "starts-with" and args is not None:
|
702
724
|
filter_lambda = (
|
703
725
|
lambda el, arg=args: hasattr(el, "text")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: natural-pdf
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.23
|
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
|
@@ -21,14 +21,7 @@ Requires-Dist: urllib3
|
|
21
21
|
Requires-Dist: tqdm
|
22
22
|
Requires-Dist: pydantic
|
23
23
|
Requires-Dist: jenkspy
|
24
|
-
Requires-Dist: pikepdf
|
25
24
|
Requires-Dist: scipy
|
26
|
-
Requires-Dist: torch
|
27
|
-
Requires-Dist: torchvision
|
28
|
-
Requires-Dist: transformers[sentencepiece]
|
29
|
-
Requires-Dist: huggingface_hub>=0.29.3
|
30
|
-
Requires-Dist: sentence-transformers
|
31
|
-
Requires-Dist: timm
|
32
25
|
Requires-Dist: ipywidgets>=7.0.0
|
33
26
|
Provides-Extra: test
|
34
27
|
Requires-Dist: pytest; extra == "test"
|
@@ -58,6 +51,7 @@ Requires-Dist: natural-pdf[test]; extra == "all"
|
|
58
51
|
Requires-Dist: natural-pdf[search]; extra == "all"
|
59
52
|
Requires-Dist: natural-pdf[favorites]; extra == "all"
|
60
53
|
Requires-Dist: natural-pdf[export-extras]; extra == "all"
|
54
|
+
Requires-Dist: natural-pdf[ai]; extra == "all"
|
61
55
|
Provides-Extra: deskew
|
62
56
|
Requires-Dist: deskew>=1.5; extra == "deskew"
|
63
57
|
Requires-Dist: img2pdf; extra == "deskew"
|
@@ -69,6 +63,15 @@ Requires-Dist: pikepdf; extra == "ocr-export"
|
|
69
63
|
Provides-Extra: export-extras
|
70
64
|
Requires-Dist: jupytext; extra == "export-extras"
|
71
65
|
Requires-Dist: nbformat; extra == "export-extras"
|
66
|
+
Provides-Extra: ai
|
67
|
+
Requires-Dist: sentence-transformers; extra == "ai"
|
68
|
+
Requires-Dist: torch; extra == "ai"
|
69
|
+
Requires-Dist: torchvision; extra == "ai"
|
70
|
+
Requires-Dist: transformers[sentencepiece]; extra == "ai"
|
71
|
+
Requires-Dist: huggingface_hub>=0.29.3; extra == "ai"
|
72
|
+
Requires-Dist: timm; extra == "ai"
|
73
|
+
Requires-Dist: doclayout_yolo; extra == "ai"
|
74
|
+
Requires-Dist: easyocr; extra == "ai"
|
72
75
|
Dynamic: license-file
|
73
76
|
|
74
77
|
# Natural PDF
|
@@ -88,25 +91,29 @@ Natural PDF lets you find and extract content from PDFs using simple code that m
|
|
88
91
|
pip install natural-pdf
|
89
92
|
```
|
90
93
|
|
91
|
-
Need OCR engines, layout models, or other heavy add-ons? Install the **core** once, then use the helper
|
94
|
+
Need OCR engines, layout models, or other heavy add-ons? Install the **core** once, then use the helper `npdf` command to pull in exactly what you need:
|
92
95
|
|
93
96
|
```bash
|
94
|
-
#
|
95
|
-
npdf install
|
97
|
+
# Everything you need for classification, document-QA, semantic search, etc.
|
98
|
+
npdf install ai
|
96
99
|
|
97
100
|
# Surya OCR and the YOLO Doc-Layout detector in one go
|
98
101
|
npdf install surya yolo
|
99
102
|
|
103
|
+
# add PaddleOCR (+paddlex) after the fact
|
104
|
+
npdf install paddle
|
105
|
+
|
100
106
|
# see what's already on your machine
|
101
107
|
npdf list
|
102
108
|
```
|
103
109
|
|
104
|
-
|
105
|
-
classic
|
110
|
+
Lightweight extras such as `deskew` or `search` can still be added with
|
111
|
+
classic `pip install`:
|
106
112
|
|
107
113
|
```bash
|
108
114
|
pip install "natural-pdf[deskew]"
|
109
115
|
pip install "natural-pdf[search]"
|
116
|
+
pip install "natural-pdf[ai]"
|
110
117
|
```
|
111
118
|
|
112
119
|
More details in the [installation guide](https://jsoma.github.io/natural-pdf/installation/).
|
@@ -117,7 +124,7 @@ More details in the [installation guide](https://jsoma.github.io/natural-pdf/ins
|
|
117
124
|
from natural_pdf import PDF
|
118
125
|
|
119
126
|
# Open a PDF
|
120
|
-
pdf = PDF('
|
127
|
+
pdf = PDF('https://github.com/jsoma/natural-pdf/raw/refs/heads/main/pdfs/01-practice.pdf')
|
121
128
|
page = pdf.pages[0]
|
122
129
|
|
123
130
|
# Extract all of the text on the page
|
@@ -1,7 +1,7 @@
|
|
1
1
|
natural_pdf/__init__.py,sha256=qDFJNF8sbEDO-2WSFAxoWEM8updOUP6dB-ckya0kxfs,3275
|
2
|
-
natural_pdf/cli.py,sha256=
|
2
|
+
natural_pdf/cli.py,sha256=IXrP2lCHihr-ed-CFiDbMTnSsutQa1j1PYALOLGbpsc,4019
|
3
3
|
natural_pdf/analyzers/__init__.py,sha256=dIXjsMqoxKmd9OOnSBzn12wvdIz7D7YNQRAnXslpJSM,142
|
4
|
-
natural_pdf/analyzers/shape_detection_mixin.py,sha256=
|
4
|
+
natural_pdf/analyzers/shape_detection_mixin.py,sha256=blpeHMWl6nXlutAByfdi6zjfmcyaDpdv2S7IR4l0WO0,81783
|
5
5
|
natural_pdf/analyzers/text_options.py,sha256=qEkDaYWla0rIM_gszEOsu52q7C_dAfV81P2HLJZM2sw,3333
|
6
6
|
natural_pdf/analyzers/text_structure.py,sha256=VfKTsTFrK877sC0grsis9jK3rrgp0Mbp13VWEbukTcs,28437
|
7
7
|
natural_pdf/analyzers/utils.py,sha256=PYbzJzSAHZ7JsMes84WIrSbA0zkjJGs0CLvIeINsf_k,2100
|
@@ -18,27 +18,27 @@ natural_pdf/analyzers/layout/surya.py,sha256=4RdnhRxSS3i3Ns5mFhOA9-P0xd7Ms19uZuK
|
|
18
18
|
natural_pdf/analyzers/layout/table_structure_utils.py,sha256=nISZDBd46RPYkFHxbQyIHwg9WweG4DslpoYJ31OMJYA,2768
|
19
19
|
natural_pdf/analyzers/layout/tatr.py,sha256=cVr0ZyhY2mNLAKZ4DGMm-b7XNJpILKh8x8ZpyDeUhLk,15032
|
20
20
|
natural_pdf/analyzers/layout/yolo.py,sha256=Iw8qsIOHg2lUP7z9GsmkOm3c9kJ-Ywk01Oej50kZgDw,8360
|
21
|
-
natural_pdf/classification/manager.py,sha256=
|
22
|
-
natural_pdf/classification/mixin.py,sha256=
|
23
|
-
natural_pdf/classification/results.py,sha256=
|
21
|
+
natural_pdf/classification/manager.py,sha256=7HOyHdjMJtC9DfzI8OXAREnGDpXaAgSfTFVC42n3tVQ,18889
|
22
|
+
natural_pdf/classification/mixin.py,sha256=nYpmHQ4BlrealdPtIJt-_idME5o-xKLKNuAdIHzWL6c,7580
|
23
|
+
natural_pdf/classification/results.py,sha256=Mcay-xLBHbYoZ8U7f4gMj2IhhH_yORNEkZHWdWJzmsU,3239
|
24
24
|
natural_pdf/collections/mixins.py,sha256=sj76Cn6EdBtb5f-bdAV-1qpdixX8tI4BzPccPiYLI1w,5117
|
25
25
|
natural_pdf/collections/pdf_collection.py,sha256=HLlyakM--23ZOeHDPucoM6Tw3yUyMXm0SSoqJwxRc2E,30744
|
26
26
|
natural_pdf/core/__init__.py,sha256=QC8H4M3KbXwMFiQORZ0pdPlzx1Ix6oKKQSS7Ib2KEaA,38
|
27
27
|
natural_pdf/core/element_manager.py,sha256=_UdXu51sLi6STzc8Pj4k8R721G3yJixXDLuRHn3hmr8,25731
|
28
|
-
natural_pdf/core/highlighting_service.py,sha256=
|
29
|
-
natural_pdf/core/page.py,sha256=
|
30
|
-
natural_pdf/core/pdf.py,sha256=
|
28
|
+
natural_pdf/core/highlighting_service.py,sha256=wWoU2kJ_JBbxKV3NWEjqU6DLvmlwME9sTntk-TDqOfs,38223
|
29
|
+
natural_pdf/core/page.py,sha256=U4GRy_zdoTB4sx4EPrAIKg4beIQ8atJsY5HX_jWfDjg,118953
|
30
|
+
natural_pdf/core/pdf.py,sha256=qsSW4RxOJRmCnweLPMs0NhzkRfiAVdghTgnh4D_wuO4,74295
|
31
31
|
natural_pdf/describe/__init__.py,sha256=B3zjuHjFI_dFuBLgXR1Q4v7c72fVDyk84d2hs0H4KV8,561
|
32
|
-
natural_pdf/describe/base.py,sha256=
|
33
|
-
natural_pdf/describe/elements.py,sha256=
|
32
|
+
natural_pdf/describe/base.py,sha256=LAZLc_thK2u2surgGd0Pk7CN2uVaZK9AbMOE3-1RmQ4,16842
|
33
|
+
natural_pdf/describe/elements.py,sha256=xD8wwR1z5IKat7RIwoAwQRUEL6zJTEwcOKorF4F-xPg,12717
|
34
34
|
natural_pdf/describe/mixin.py,sha256=U0x6v8r57KQb8qC3VVo64hvhfXQWsti8vdKBM7AXnMo,3116
|
35
35
|
natural_pdf/describe/summary.py,sha256=dPtjrn6fQ8nL0F74RITX2vXlDX7ZgaX9JQPnJB-S_XQ,6735
|
36
36
|
natural_pdf/elements/__init__.py,sha256=S8XeiNWJ1WcgnyYKdYV1yxQlAxCCO3FfITT8MQwNbyk,41
|
37
|
-
natural_pdf/elements/base.py,sha256=
|
38
|
-
natural_pdf/elements/collections.py,sha256=
|
37
|
+
natural_pdf/elements/base.py,sha256=iTIy6FfQj48llZkm7wERnTky3VTmUgkYfQytRuyueZo,43304
|
38
|
+
natural_pdf/elements/collections.py,sha256=zaqJ8pr0dmYwv1gPBs24oXfZExpSIX4URDRox-QLj98,123173
|
39
39
|
natural_pdf/elements/line.py,sha256=300kSFBDUBIudfeQtH_tzW9gTYRgRKUDPiTABw6J-BE,4782
|
40
40
|
natural_pdf/elements/rect.py,sha256=kiVa3e377ZnqIOXc89d9ZSY4EcmDxtccdtUw-HOQzpw,3796
|
41
|
-
natural_pdf/elements/region.py,sha256=
|
41
|
+
natural_pdf/elements/region.py,sha256=BAOriJuQYovppV0S5xI6tq5YEuzffiMQneDvHuT22Uo,118562
|
42
42
|
natural_pdf/elements/text.py,sha256=13HvVZGinj2Vm_fFCAnqi7hohtoKvnpCp3VCfkpeAbc,11146
|
43
43
|
natural_pdf/export/mixin.py,sha256=L1q3MIEFWuvie4j4_EmW7GT3NerbZ1as0XMUoqTS7gM,5083
|
44
44
|
natural_pdf/exporters/__init__.py,sha256=g1WRPCDVzceaUUsm8dchPhzdHFSjYM0NfRyc8iN0mtE,644
|
@@ -46,31 +46,32 @@ natural_pdf/exporters/base.py,sha256=XhR1xlkHOh7suOuX7mWbsj1h2o1pZNet-OAS5YCJyeI
|
|
46
46
|
natural_pdf/exporters/hocr.py,sha256=wksvJvWLSxuAfhYzg_0T2_W8eqDoMgAVC-gwZ9FoO_k,19969
|
47
47
|
natural_pdf/exporters/hocr_font.py,sha256=1wsGOMj6zoaRN2rxCwrv4MMLGawpNz984WgXpmWekgw,4574
|
48
48
|
natural_pdf/exporters/original_pdf.py,sha256=dtvC4er6TWOfqq-n24Pejw3mlAuPd8IVyihggJtcf0s,6634
|
49
|
-
natural_pdf/exporters/paddleocr.py,sha256=
|
49
|
+
natural_pdf/exporters/paddleocr.py,sha256=RBP03GCk0mLeC7tWtuti8AIUHlpOrtvbWkE2n7Ja7k8,19484
|
50
50
|
natural_pdf/exporters/searchable_pdf.py,sha256=G2Tc4tpDXSYIufXJlkA8ppW_3DuzHAaweYKae33pI_c,16290
|
51
51
|
natural_pdf/exporters/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
52
|
natural_pdf/exporters/data/pdf.ttf,sha256=x4RUIJJaI9iO2DCmOVe4r4Wmao2vjZ_JDoQ2c7LvGlk,572
|
53
53
|
natural_pdf/exporters/data/sRGB.icc,sha256=KpLUuuRQt22LCqQhk9-XTXX2Jzjs6_dPAcXnWxKpV5Y,6922
|
54
|
-
natural_pdf/extraction/manager.py,sha256=
|
55
|
-
natural_pdf/extraction/mixin.py,sha256=
|
56
|
-
natural_pdf/extraction/result.py,sha256=
|
54
|
+
natural_pdf/extraction/manager.py,sha256=sASPJZ5cWFsl8A4PyTjg2yqkyC00tRl6glfoFA6HcsM,4979
|
55
|
+
natural_pdf/extraction/mixin.py,sha256=_5wGnzOCEuRWhqdSUV1Lqo9HIi56YC4MWzbBxOkOEKU,23160
|
56
|
+
natural_pdf/extraction/result.py,sha256=D5DhjxLW7IvhEkvsAP7Zs2YA8K4hyuoTg681CSn5qA0,1825
|
57
57
|
natural_pdf/flows/__init__.py,sha256=cUN4A8hTDLZSRr4PO2W_lR4z6hWpbNG8Seox-IIcrLU,277
|
58
58
|
natural_pdf/flows/collections.py,sha256=qGuSPFSPQF-wiYquG6STiSzg_o951MSsFEq_B44Jef8,28441
|
59
59
|
natural_pdf/flows/element.py,sha256=mKzk3B7A7sWNvu4CDvAjLr3_ZFLt--ktrSNoLfLpFxU,23940
|
60
60
|
natural_pdf/flows/flow.py,sha256=I61BpFVDQyo6ORsmoqoYiOEP1DBRp0vgDJjm_V8frhc,10562
|
61
|
-
natural_pdf/flows/region.py,sha256=
|
61
|
+
natural_pdf/flows/region.py,sha256=hucKKmjjmLt__x-RiX6S1Amsp88yweyjcgWJ7PQtTgY,22187
|
62
62
|
natural_pdf/ocr/__init__.py,sha256=VY8hhvDPf7Gh2lB-d2QRmghLLyTy6ydxlgo1cS4dOSk,2482
|
63
63
|
natural_pdf/ocr/engine.py,sha256=ZBC1tZNM5EDbGDJJmZI9mNHr4nCMLEZvUFhiJq8GdF4,8741
|
64
64
|
natural_pdf/ocr/engine_doctr.py,sha256=ptKrupMWoulZb-R93zr9btoe94JPWU7vlJuN7OBJEIM,17740
|
65
65
|
natural_pdf/ocr/engine_easyocr.py,sha256=bWz6kHUgAJfe3rqdnZBAF-IPvw3B35DlvX5KDdFUtzo,9888
|
66
66
|
natural_pdf/ocr/engine_paddle.py,sha256=0vobobjnsM1G3zihYL7f1roLlKKZWRwioxkGkgIxEUA,16159
|
67
|
-
natural_pdf/ocr/engine_surya.py,sha256=
|
67
|
+
natural_pdf/ocr/engine_surya.py,sha256=lOvSbZk53VKFVxRmqcQzM_0dHVdwTkRGiDZ9AWCgL1Q,5951
|
68
68
|
natural_pdf/ocr/ocr_factory.py,sha256=GkODuBmqNVECg4u1-KW6ZMfBgVndLkK1W5GM15faf8M,5318
|
69
69
|
natural_pdf/ocr/ocr_manager.py,sha256=K2gpFo3e6RB1ouXOstlEAAYd14DbjBNt5RH6J7ZdDQY,14263
|
70
70
|
natural_pdf/ocr/ocr_options.py,sha256=l33QKu_93r-uwi3t_v8UH8pEgHo6HTVzP4tfmQFRF1w,5488
|
71
71
|
natural_pdf/ocr/utils.py,sha256=OxuHwDbHWj6setvnC0QYwMHrAjxGkhmLzWHpMqqGupA,4397
|
72
|
-
natural_pdf/qa/__init__.py,sha256=
|
73
|
-
natural_pdf/qa/document_qa.py,sha256=
|
72
|
+
natural_pdf/qa/__init__.py,sha256=2u2KJcA71g1I0HnLD-j6yvDw1moAjo9kkLhhfoYRURM,166
|
73
|
+
natural_pdf/qa/document_qa.py,sha256=bwOrO_bq_9wEaLu7j7h8EkN3ya5xMxDoE7oNurEb6-E,14889
|
74
|
+
natural_pdf/qa/qa_result.py,sha256=_q4dlSqsjtgomcI8-pqbOT69lqQKnEMkhZNydoxEkkE,2227
|
74
75
|
natural_pdf/search/__init__.py,sha256=0Xa7tT_2q57wHObFMQLQLd4gd9AV0oyS-svV6BmmdMI,4276
|
75
76
|
natural_pdf/search/lancedb_search_service.py,sha256=6dz2IEZUWk3hFW28C-LF_85pWohd7Sr5k44bM0pBdm4,14472
|
76
77
|
natural_pdf/search/numpy_search_service.py,sha256=MoPBlyHTDqah1IrwBzyglEyiXlF4wqaU_5mml_ngvGc,10328
|
@@ -78,7 +79,7 @@ natural_pdf/search/search_options.py,sha256=sq_e8_jSROicD94b_xtDtLnjEr_Zsy4icjzP
|
|
78
79
|
natural_pdf/search/search_service_protocol.py,sha256=Dl-Q-CrutkhZwI69scbW9EWPeYM63qxB60_EA7YqIYo,6699
|
79
80
|
natural_pdf/search/searchable_mixin.py,sha256=hqQ_AuID5eTGRCtKYdFLZ1zF35y73uk3x1M1VW9Il8U,23514
|
80
81
|
natural_pdf/selectors/__init__.py,sha256=oZGeqSv53EqmIZOhcnawuaGGlRg1h79vArXuZCWKm4A,123
|
81
|
-
natural_pdf/selectors/parser.py,sha256=
|
82
|
+
natural_pdf/selectors/parser.py,sha256=nJJPACzFKBMomAZMXzI_L3EMz9ji1agkmxJ5eaij310,32880
|
82
83
|
natural_pdf/templates/__init__.py,sha256=jYBxzfi73vew0f6yhIh1MlRxw4F_TVN2hKQR0YXOFe0,20
|
83
84
|
natural_pdf/utils/__init__.py,sha256=s3M8FggaK1P3EBYn6R_-HgSDjNc9C73gyKe1hihtNWg,43
|
84
85
|
natural_pdf/utils/debug.py,sha256=RN7H3E6ph-GtxubCW6psW7TO8o2BxcNLiEzByTVR9fk,995
|
@@ -91,9 +92,9 @@ natural_pdf/utils/text_extraction.py,sha256=z6Jhy11pakYCsEpkvh8ldw6DkUFsYF1hCL9Y
|
|
91
92
|
natural_pdf/utils/visualization.py,sha256=30pRWQdsRJh2pSObh-brKVsFgC1n8tHmSrta_UDnVPw,8989
|
92
93
|
natural_pdf/widgets/__init__.py,sha256=QTVaUmsw__FCweFYZebwPssQxxUFUMd0wpm_cUbGZJY,181
|
93
94
|
natural_pdf/widgets/viewer.py,sha256=2VUY1TzWMDe9I-IVNOosKZ2LaqpjLB62ftMAdk-s6_8,24952
|
94
|
-
natural_pdf-0.1.
|
95
|
-
natural_pdf-0.1.
|
96
|
-
natural_pdf-0.1.
|
97
|
-
natural_pdf-0.1.
|
98
|
-
natural_pdf-0.1.
|
99
|
-
natural_pdf-0.1.
|
95
|
+
natural_pdf-0.1.23.dist-info/licenses/LICENSE,sha256=9zfwINwJlarbDmdh6iJV4QUG54QSJlSAUcnC1YiC_Ns,1074
|
96
|
+
natural_pdf-0.1.23.dist-info/METADATA,sha256=z7Mq5yr_sckn7pFR1KqBz_fG2sG-jBBSb2czsRrzC_k,6660
|
97
|
+
natural_pdf-0.1.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
98
|
+
natural_pdf-0.1.23.dist-info/entry_points.txt,sha256=1R_KMv7g60UBBpRqGfw7bppsMNGdayR-iJlb9ohEk_8,81
|
99
|
+
natural_pdf-0.1.23.dist-info/top_level.txt,sha256=Cyw1zmNDlUZfb5moU-WUWGprrwH7ln_8LDGdmMHF1xI,17
|
100
|
+
natural_pdf-0.1.23.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|