Loading and Basic Text Extraction¶
In [1]:
Copied!
#%pip install "natural-pdf[all]"
#%pip install "natural-pdf[all]"
In this tutorial, we'll learn how to:
- Load a PDF document
- Extract text from pages
- Extract specific elements
Loading a PDF¶
Let's start by loading a PDF file:
In [2]:
Copied!
from natural_pdf import PDF
import os
# Load a PDF file
pdf = PDF("https://github.com/jsoma/natural-pdf/raw/refs/heads/main/pdfs/01-practice.pdf")
# Basic info about the document
{
"Filename": os.path.basename(pdf.path),
"Pages": len(pdf.pages),
"Title": pdf.metadata.get("Title", "N/A"),
"Author": pdf.metadata.get("Author", "N/A")
}
from natural_pdf import PDF
import os
# Load a PDF file
pdf = PDF("https://github.com/jsoma/natural-pdf/raw/refs/heads/main/pdfs/01-practice.pdf")
# Basic info about the document
{
"Filename": os.path.basename(pdf.path),
"Pages": len(pdf.pages),
"Title": pdf.metadata.get("Title", "N/A"),
"Author": pdf.metadata.get("Author", "N/A")
}
CropBox missing from /Page, defaulting to MediaBox
Out[2]:
{'Filename': 'tmpplr04ayj.pdf', 'Pages': 1, 'Title': 'N/A', 'Author': 'N/A'}
Extracting Text¶
Now that we have loaded the PDF, let's extract the text from the first page:
In [3]:
Copied!
# Get the first page
page = pdf.pages[0]
# Extract text from the page
text = page.extract_text()
# Show the first 200 characters of the text
print(text[:200])
# Get the first page
page = pdf.pages[0]
# Extract text from the page
text = page.extract_text()
# Show the first 200 characters of the text
print(text[:200])
Jungle Health and Safety Inspection Service INS-UP70N51NCL41R Site: Durham’s Meatpacking Chicago, Ill. Date: February 3, 1905 Violation Count: 7 Summary: Worst of any, however, were the fertilizer men
Finding and Extracting Specific Elements¶
We can find specific elements using spatial queries and text content:
In [4]:
Copied!
# Find text elements containing specific words
elements = page.find_all('text:contains("Inadequate")')
# Show these elements on the page
page.clear_highlights()
elements.highlight(color="red", label="Contains 'Inadequate'")
# Display the page to see them
page.to_image(width=700)
# Find text elements containing specific words
elements = page.find_all('text:contains("Inadequate")')
# Show these elements on the page
page.clear_highlights()
elements.highlight(color="red", label="Contains 'Inadequate'")
# Display the page to see them
page.to_image(width=700)
Out[4]:
Working with Layout Regions¶
We can analyze the layout of the page to identify different regions:
In [5]:
Copied!
# Analyze the page layout
page.analyze_layout(engine='yolo')
# Find and highlight all detected regions
page.clear_highlights()
page.find_all('region').highlight(group_by='type')
# Display the page to see the regions
page.to_image(width=900)
# Analyze the page layout
page.analyze_layout(engine='yolo')
# Find and highlight all detected regions
page.clear_highlights()
page.find_all('region').highlight(group_by='type')
# Display the page to see the regions
page.to_image(width=900)
image 1/1 /var/folders/25/h3prywj14qb0mlkl2s8bxq5m0000gn/T/tmpq3hoe5rt/temp_layout_image.png: 1024x800 1 title, 3 plain texts, 2 abandons, 1 table, 623.8ms
Speed: 4.7ms preprocess, 623.8ms inference, 0.7ms postprocess per image at shape (1, 3, 1024, 800)
Out[5]:
Working with Multiple Pages¶
You can also work with multiple pages:
In [6]:
Copied!
# Process all pages
for page in pdf.pages:
page_text = page.extract_text()
print(f"Page {page.number}", page_text[:100]) # First 100 chars of each page
# Process all pages
for page in pdf.pages:
page_text = page.extract_text()
print(f"Page {page.number}", page_text[:100]) # First 100 chars of each page
Page 1 Jungle Health and Safety Inspection Service INS-UP70N51NCL41R Site: Durham’s Meatpacking Chicago, Il
This tutorial covered the basics of loading PDFs and extracting text. In the next tutorials, we'll explore more advanced features like searching for specific elements, extracting structured content, and working with tables.
In [7]:
Copied!
%%bash
pip install "natural-pdf[all]"
%%bash
pip install "natural-pdf[all]"
Requirement already satisfied: natural-pdf[all] in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (0.1.12.dev9+g83a6dbde.d20250515)
Requirement already satisfied: pdfplumber in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from natural-pdf[all]) (0.11.6) Requirement already satisfied: pillow in /Users/som
a/Development/natural-pdf/.venv/lib/python3.11/site-packages (from natural-pdf[all]) (10.4.0)
Requirement already satisfied: colour in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/si
te-packages (from natural-pdf[all]) (0.1.5) Requirement already satisfied: numpy in /Users/soma/Deve
lopment/natural-pdf/.venv/lib/python3.11/site-packages (from natural-pdf[all]) (2.2.5) Requirement a
lready satisfied: urllib3 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages
(from natural-pdf[all]) (2.4.0)
Requirement already satisfied: tqdm in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site
-packages (from natural-pdf[all]) (4.67.1) Requirement already satisfied: pydantic in /Users/soma/De
velopment/natural-pdf/.venv/lib/python3.11/site-packages (from natural-pdf[all]) (2.11.4) Requiremen
t already satisfied: jenkspy in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packag
es (from natural-pdf[all]) (0.4.1) Requirement already satisfied: pikepdf>=9.7.0 in /Users/soma/Deve
lopment/natural-pdf/.venv/lib/python3.11/site-packages (from natural-pdf[all]) (9.7.0)
Requirement already satisfied: Deprecated in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from pikepdf>=9.7.0->natural-pdf[all]) (1.2.18)
Requirement already satisfied: lxml>=4.8 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from pikepdf>=9.7.0->natural-pdf[all]) (5.4.0) Requirement already satisfied: packag
ing in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from pikepdf>=9.7.0->
natural-pdf[all]) (25.0)
Requirement already satisfied: wrapt<2,>=1.10 in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from Deprecated->pikepdf>=9.7.0->natural-pdf[all]) (1.17.2)
Requirement already satisfied: torch in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/sit
e-packages (from natural-pdf[all]) (2.7.0)
Requirement already satisfied: torchvision in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from natural-pdf[all]) (0.22.0)
Requirement already satisfied: transformers[sentencepiece] in /Users/soma/Development/natural-pdf/.v
env/lib/python3.11/site-packages (from natural-pdf[all]) (4.51.3) Requirement already satisfied: hug
gingface_hub in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from natural
-pdf[all]) (0.31.2)
Requirement already satisfied: sentence-transformers in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from natural-pdf[all]) (4.1.0) Requirement already satisfied: timm in /U
sers/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from natural-pdf[all]) (1.0.15
)
Requirement already satisfied: filelock in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/
site-packages (from huggingface_hub->natural-pdf[all]) (3.18.0) Requirement already satisfied: fsspe
c>=2023.5.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from huggingf
ace_hub->natural-pdf[all]) (2025.3.2)
Requirement already satisfied: pyyaml>=5.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from huggingface_hub->natural-pdf[all]) (6.0.2) Requirement already satisfied: req
uests in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from huggingface_hu
b->natural-pdf[all]) (2.32.3) Requirement already satisfied: typing-extensions>=3.7.4.3 in /Users/so
ma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from huggingface_hub->natural-pdf[all
]) (4.13.2)
Requirement already satisfied: deskew>=1.5 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from natural-pdf[all]) (1.5.1)
Requirement already satisfied: img2pdf in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from natural-pdf[all]) (0.6.1)
Requirement already satisfied: scikit-image in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from deskew>=1.5->natural-pdf[all]) (0.25.2)
Requirement already satisfied: docling in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from natural-pdf[all]) (2.32.0)
Requirement already satisfied: beautifulsoup4<5.0.0,>=4.12.3 in /Users/soma/Development/natural-pdf/
.venv/lib/python3.11/site-packages (from docling->natural-pdf[all]) (4.13.4)
Requirement already satisfied: certifi>=2024.7.4 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from docling->natural-pdf[all]) (2025.4.26)
Requirement already satisfied: click<8.2.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from docling->natural-pdf[all]) (8.1.8)
Requirement already satisfied: docling-core<3.0.0,>=2.26.0 in /Users/soma/Development/natural-pdf/.v
env/lib/python3.11/site-packages (from docling-core[chunking]<3.0.0,>=2.26.0->docling->natural-pdf[a
ll]) (2.30.1)
Requirement already satisfied: docling-ibm-models<4.0.0,>=3.4.0 in /Users/soma/Development/natural-p
df/.venv/lib/python3.11/site-packages (from docling->natural-pdf[all]) (3.4.3)
Requirement already satisfied: docling-parse<5.0.0,>=4.0.0 in /Users/soma/Development/natural-pdf/.v
env/lib/python3.11/site-packages (from docling->natural-pdf[all]) (4.0.1) Requirement already satisf
ied: easyocr<2.0,>=1.7 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (fr
om docling->natural-pdf[all]) (1.7.2)
Requirement already satisfied: filetype<2.0.0,>=1.2.0 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from docling->natural-pdf[all]) (1.2.0) Requirement already satisfied:
marko<3.0.0,>=2.1.2 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from
docling->natural-pdf[all]) (2.1.3)
Requirement already satisfied: openpyxl<4.0.0,>=3.1.5 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from docling->natural-pdf[all]) (3.1.5)
Requirement already satisfied: pandas<3.0.0,>=2.1.4 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from docling->natural-pdf[all]) (2.2.3)
Requirement already satisfied: pluggy<2.0.0,>=1.0.0 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from docling->natural-pdf[all]) (1.5.0)
Requirement already satisfied: pydantic-settings<3.0.0,>=2.3.0 in /Users/soma/Development/natural-pd
f/.venv/lib/python3.11/site-packages (from docling->natural-pdf[all]) (2.9.1)
Requirement already satisfied: pylatexenc<3.0,>=2.10 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from docling->natural-pdf[all]) (2.10)
Requirement already satisfied: pypdfium2<5.0.0,>=4.30.0 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from docling->natural-pdf[all]) (4.30.0)
Requirement already satisfied: python-docx<2.0.0,>=1.1.2 in /Users/soma/Development/natural-pdf/.ven
v/lib/python3.11/site-packages (from docling->natural-pdf[all]) (1.1.2) Requirement already satisfie
d: python-pptx<2.0.0,>=1.0.2 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packag
es (from docling->natural-pdf[all]) (1.0.2)
Requirement already satisfied: rtree<2.0.0,>=1.3.0 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from docling->natural-pdf[all]) (1.4.0) Requirement already satisfied: sci
py<2.0.0,>=1.6.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from doc
ling->natural-pdf[all]) (1.15.3)
Requirement already satisfied: typer<0.16.0,>=0.12.5 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from docling->natural-pdf[all]) (0.15.4)
Requirement already satisfied: soupsieve>1.2 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from beautifulsoup4<5.0.0,>=4.12.3->docling->natural-pdf[all]) (2.7)
Requirement already satisfied: jsonref<2.0.0,>=1.1.0 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from docling-core<3.0.0,>=2.26.0->docling-core[chunking]<3.0.0,>=2.26.0-
>docling->natural-pdf[all]) (1.1.0)
Requirement already satisfied: jsonschema<5.0.0,>=4.16.0 in /Users/soma/Development/natural-pdf/.ven
v/lib/python3.11/site-packages (from docling-core<3.0.0,>=2.26.0->docling-core[chunking]<3.0.0,>=2.2
6.0->docling->natural-pdf[all]) (4.23.0) Requirement already satisfied: latex2mathml<4.0.0,>=3.77.0
in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from docling-core<3.0.0,>
=2.26.0->docling-core[chunking]<3.0.0,>=2.26.0->docling->natural-pdf[all]) (3.78.0)
Requirement already satisfied: tabulate<0.10.0,>=0.9.0 in /Users/soma/Development/natural-pdf/.venv/
lib/python3.11/site-packages (from docling-core<3.0.0,>=2.26.0->docling-core[chunking]<3.0.0,>=2.26.
0->docling->natural-pdf[all]) (0.9.0)
Requirement already satisfied: semchunk<3.0.0,>=2.2.0 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from docling-core[chunking]<3.0.0,>=2.26.0->docling->natural-pdf[all])
(2.2.2)
Requirement already satisfied: jsonlines<4.0.0,>=3.1.0 in /Users/soma/Development/natural-pdf/.venv/
lib/python3.11/site-packages (from docling-ibm-models<4.0.0,>=3.4.0->docling->natural-pdf[all]) (3.1
.0)
Requirement already satisfied: opencv-python-headless<5.0.0.0,>=4.6.0.66 in /Users/soma/Development/
natural-pdf/.venv/lib/python3.11/site-packages (from docling-ibm-models<4.0.0,>=3.4.0->docling->natu
ral-pdf[all]) (4.11.0.86)
Requirement already satisfied: safetensors<1,>=0.4.3 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from safetensors[torch]<1,>=0.4.3->docling-ibm-models<4.0.0,>=3.4.0->doc
ling->natural-pdf[all]) (0.5.3)
Requirement already satisfied: python-bidi in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from easyocr<2.0,>=1.7->docling->natural-pdf[all]) (0.6.6)
Requirement already satisfied: Shapely in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from easyocr<2.0,>=1.7->docling->natural-pdf[all]) (2.1.0)
Requirement already satisfied: pyclipper in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from easyocr<2.0,>=1.7->docling->natural-pdf[all]) (1.3.0.post6) Requirement already
satisfied: ninja in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from ea
syocr<2.0,>=1.7->docling->natural-pdf[all]) (1.11.1.4)
Requirement already satisfied: attrs>=19.2.0 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from jsonlines<4.0.0,>=3.1.0->docling-ibm-models<4.0.0,>=3.4.0->docling->natural
-pdf[all]) (25.3.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/soma/Development/natur
al-pdf/.venv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.16.0->docling-core<3.0.0,>=2.26
.0->docling-core[chunking]<3.0.0,>=2.26.0->docling->natural-pdf[all]) (2025.4.1)
Requirement already satisfied: referencing>=0.28.4 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from jsonschema<5.0.0,>=4.16.0->docling-core<3.0.0,>=2.26.0->docling-core[
chunking]<3.0.0,>=2.26.0->docling->natural-pdf[all]) (0.36.2) Requirement already satisfied: rpds-py
>=0.7.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from jsonschema<5
.0.0,>=4.16.0->docling-core<3.0.0,>=2.26.0->docling-core[chunking]<3.0.0,>=2.26.0->docling->natural-
pdf[all]) (0.24.0)
Requirement already satisfied: et-xmlfile in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from openpyxl<4.0.0,>=3.1.5->docling->natural-pdf[all]) (2.0.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from pandas<3.0.0,>=2.1.4->docling->natural-pdf[all]) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from pandas<3.0.0,>=2.1.4->docling->natural-pdf[all]) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from pandas<3.0.0,>=2.1.4->docling->natural-pdf[all]) (2025.2)
Requirement already satisfied: annotated-types>=0.6.0 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from pydantic->natural-pdf[all]) (0.7.0)
Requirement already satisfied: pydantic-core==2.33.2 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from pydantic->natural-pdf[all]) (2.33.2)
Requirement already satisfied: typing-inspection>=0.4.0 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from pydantic->natural-pdf[all]) (0.4.0)
Requirement already satisfied: python-dotenv>=0.21.0 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from pydantic-settings<3.0.0,>=2.3.0->docling->natural-pdf[all]) (1.1.0)
Requirement already satisfied: XlsxWriter>=0.5.7 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from python-pptx<2.0.0,>=1.0.2->docling->natural-pdf[all]) (3.2.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from requests->huggingface_hub->natural-pdf[all]) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from requests->huggingface_hub->natural-pdf[all]) (3.10)
Requirement already satisfied: mpire[dill] in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from semchunk<3.0.0,>=2.2.0->docling-core[chunking]<3.0.0,>=2.26.0->docling->natur
al-pdf[all]) (2.10.2)
Requirement already satisfied: sympy>=1.13.3 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from torch->natural-pdf[all]) (1.14.0)
Requirement already satisfied: networkx in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/
site-packages (from torch->natural-pdf[all]) (3.4.2) Requirement already satisfied: jinja2 in /Users
/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from torch->natural-pdf[all]) (3.1
.6)
Requirement already satisfied: regex!=2019.12.17 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from transformers[sentencepiece]->natural-pdf[all]) (2024.11.6)
Requirement already satisfied: tokenizers<0.22,>=0.21 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from transformers[sentencepiece]->natural-pdf[all]) (0.21.1)
Requirement already satisfied: shellingham>=1.3.0 in /Users/soma/Development/natural-pdf/.venv/lib/p
ython3.11/site-packages (from typer<0.16.0,>=0.12.5->docling->natural-pdf[all]) (1.5.4)
Requirement already satisfied: rich>=10.11.0 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from typer<0.16.0,>=0.12.5->docling->natural-pdf[all]) (14.0.0)
Requirement already satisfied: six>=1.5 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/
site-packages (from python-dateutil>=2.8.2->pandas<3.0.0,>=2.1.4->docling->natural-pdf[all]) (1.17.0
)
Requirement already satisfied: markdown-it-py>=2.2.0 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from rich>=10.11.0->typer<0.16.0,>=0.12.5->docling->natural-pdf[all]) (3
.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/soma/Development/natural-pdf/.venv/
lib/python3.11/site-packages (from rich>=10.11.0->typer<0.16.0,>=0.12.5->docling->natural-pdf[all])
(2.19.1)
Requirement already satisfied: mdurl~=0.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<0.16.0,>=0.12.5->docling->natural-
pdf[all]) (0.1.2)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/soma/Development/natural-pdf/.venv/lib/p
ython3.11/site-packages (from sympy>=1.13.3->torch->natural-pdf[all]) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from jinja2->torch->natural-pdf[all]) (3.0.2)
Requirement already satisfied: multiprocess>=0.70.15 in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from mpire[dill]->semchunk<3.0.0,>=2.2.0->docling-core[chunking]<3.0.0,>
=2.26.0->docling->natural-pdf[all]) (0.70.18)
Requirement already satisfied: dill>=0.4.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from multiprocess>=0.70.15->mpire[dill]->semchunk<3.0.0,>=2.2.0->docling-core[chun
king]<3.0.0,>=2.26.0->docling->natural-pdf[all]) (0.4.0)
Requirement already satisfied: python-doctr[torch] in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from natural-pdf[all]) (0.11.0)
Requirement already satisfied: doclayout_yolo in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from natural-pdf[all]) (0.0.3)
Requirement already satisfied: matplotlib>=3.3.0 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from doclayout_yolo->natural-pdf[all]) (3.10.3)
Requirement already satisfied: opencv-python>=4.6.0 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from doclayout_yolo->natural-pdf[all]) (4.11.0.86)
Requirement already satisfied: psutil in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/si
te-packages (from doclayout_yolo->natural-pdf[all]) (7.0.0)
Requirement already satisfied: py-cpuinfo in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from doclayout_yolo->natural-pdf[all]) (9.0.0) Requirement already satisfied: thop>
=0.1.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from doclayout_yol
o->natural-pdf[all]) (0.1.1.post2209072238)
Requirement already satisfied: seaborn>=0.11.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from doclayout_yolo->natural-pdf[all]) (0.13.2) Requirement already satisfied:
albumentations>=1.4.11 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (f
rom doclayout_yolo->natural-pdf[all]) (2.0.6)
Requirement already satisfied: albucore==0.0.24 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from albumentations>=1.4.11->doclayout_yolo->natural-pdf[all]) (0.0.24)
Requirement already satisfied: stringzilla>=3.10.4 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from albucore==0.0.24->albumentations>=1.4.11->doclayout_yolo->natural-pdf
[all]) (3.12.5)
Requirement already satisfied: simsimd>=5.9.2 in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from albucore==0.0.24->albumentations>=1.4.11->doclayout_yolo->natural-pdf[all]
) (6.2.1)
Requirement already satisfied: contourpy>=1.0.1 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from matplotlib>=3.3.0->doclayout_yolo->natural-pdf[all]) (1.3.2)
Requirement already satisfied: cycler>=0.10 in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from matplotlib>=3.3.0->doclayout_yolo->natural-pdf[all]) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from matplotlib>=3.3.0->doclayout_yolo->natural-pdf[all]) (4.58.0) Requireme
nt already satisfied: kiwisolver>=1.3.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/
site-packages (from matplotlib>=3.3.0->doclayout_yolo->natural-pdf[all]) (1.4.8)
Requirement already satisfied: pyparsing>=2.3.1 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from matplotlib>=3.3.0->doclayout_yolo->natural-pdf[all]) (3.2.3)
Requirement already satisfied: openai>=1.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from natural-pdf[all]) (1.78.1)
Requirement already satisfied: anyio<5,>=3.5.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from openai>=1.0->natural-pdf[all]) (4.9.0)
Requirement already satisfied: distro<2,>=1.7.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from openai>=1.0->natural-pdf[all]) (1.9.0)
Requirement already satisfied: httpx<1,>=0.23.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from openai>=1.0->natural-pdf[all]) (0.28.1) Requirement already satisfied: j
iter<1,>=0.4.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from opena
i>=1.0->natural-pdf[all]) (0.9.0)
Requirement already satisfied: sniffio in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from openai>=1.0->natural-pdf[all]) (1.3.1)
Requirement already satisfied: httpcore==1.* in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from httpx<1,>=0.23.0->openai>=1.0->natural-pdf[all]) (1.0.9)
Requirement already satisfied: h11>=0.16 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai>=1.0->natural-pdf[all]) (0.16.0)
Requirement already satisfied: paddlepaddle in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from natural-pdf[all]) (3.0.0)
Requirement already satisfied: paddleocr in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from natural-pdf[all]) (2.10.0)
Requirement already satisfied: lancedb in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from natural-pdf[all]) (0.22.0)
Requirement already satisfied: pyarrow in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from natural-pdf[all]) (20.0.0)
Requirement already satisfied: deprecation in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from lancedb->natural-pdf[all]) (2.1.0)
Requirement already satisfied: overrides>=0.7 in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from lancedb->natural-pdf[all]) (7.7.0)
Requirement already satisfied: surya-ocr in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from natural-pdf[all]) (0.14.0)
Requirement already satisfied: pytest in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/si
te-packages (from natural-pdf[all]) (8.3.5)
Requirement already satisfied: ipywidgets<9.0.0,>=7.0.0 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from natural-pdf[all]) (8.1.7)
Requirement already satisfied: comm>=0.1.3 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (0.2.2)
Requirement already satisfied: ipython>=6.1.0 in /Users/soma/Development/natural-pdf/.venv/lib/pytho
n3.11/site-packages (from ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (9.2.0) Requirement already sa
tisfied: traitlets>=4.3.1 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages
(from ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (5.14.3)
Requirement already satisfied: widgetsnbextension~=4.0.14 in /Users/soma/Development/natural-pdf/.ve
nv/lib/python3.11/site-packages (from ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (4.0.14) Requireme
nt already satisfied: jupyterlab_widgets~=3.0.15 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (3.0.15)
Requirement already satisfied: decorator in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (5.2.1)
Requirement already satisfied: ipython-pygments-lexers in /Users/soma/Development/natural-pdf/.venv/
lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (1.1.
1) Requirement already satisfied: jedi>=0.16 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (0.19.2)
Requirement already satisfied: matplotlib-inline in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (0.1.7) Req
uirement already satisfied: pexpect>4.3 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/
site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (4.9.0) Requirement
already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (3.0.51)
Requirement already satisfied: stack_data in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all]) (0.6.3)
Requirement already satisfied: wcwidth in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/s
ite-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-
pdf[all]) (0.2.13)
Requirement already satisfied: parso<0.9.0,>=0.8.4 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all
]) (0.8.4)
Requirement already satisfied: ptyprocess>=0.5 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all])
(0.7.0)
Requirement already satisfied: lmdb in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site
-packages (from paddleocr->natural-pdf[all]) (1.6.2)
Requirement already satisfied: rapidfuzz in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from paddleocr->natural-pdf[all]) (3.13.0)
Requirement already satisfied: opencv-contrib-python in /Users/soma/Development/natural-pdf/.venv/li
b/python3.11/site-packages (from paddleocr->natural-pdf[all]) (4.11.0.86) Requirement already satisf
ied: cython in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site-packages (from paddleoc
r->natural-pdf[all]) (3.1.0)
Requirement already satisfied: fire>=0.3.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from paddleocr->natural-pdf[all]) (0.7.0)
Requirement already satisfied: termcolor in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from fire>=0.3.0->paddleocr->natural-pdf[all]) (3.1.0)
Requirement already satisfied: protobuf>=3.20.2 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from paddlepaddle->natural-pdf[all]) (6.31.0)
Requirement already satisfied: astor in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/sit
e-packages (from paddlepaddle->natural-pdf[all]) (0.8.1)
Requirement already satisfied: opt-einsum==3.3.0 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from paddlepaddle->natural-pdf[all]) (3.3.0)
Requirement already satisfied: pdfminer.six==20250327 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from pdfplumber->natural-pdf[all]) (20250327)
Requirement already satisfied: cryptography>=36.0.0 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from pdfminer.six==20250327->pdfplumber->natural-pdf[all]) (44.0.3)
Requirement already satisfied: cffi>=1.12 in /Users/soma/Development/natural-pdf/.venv/lib/python3.1
1/site-packages (from cryptography>=36.0.0->pdfminer.six==20250327->pdfplumber->natural-pdf[all]) (1
.17.1)
Requirement already satisfied: pycparser in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from cffi>=1.12->cryptography>=36.0.0->pdfminer.six==20250327->pdfplumber->natural-p
df[all]) (2.22)
Requirement already satisfied: iniconfig in /Users/soma/Development/natural-pdf/.venv/lib/python3.11
/site-packages (from pytest->natural-pdf[all]) (2.1.0)
Requirement already satisfied: h5py<4.0.0,>=3.1.0 in /Users/soma/Development/natural-pdf/.venv/lib/p
ython3.11/site-packages (from python-doctr[torch]; extra == "doctr"->natural-pdf[all]) (3.13.0)
Requirement already satisfied: langdetect<2.0.0,>=1.0.9 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from python-doctr[torch]; extra == "doctr"->natural-pdf[all]) (1.0.9)
Requirement already satisfied: defusedxml>=0.7.0 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from python-doctr[torch]; extra == "doctr"->natural-pdf[all]) (0.7.1)
Requirement already satisfied: anyascii>=0.3.2 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from python-doctr[torch]; extra == "doctr"->natural-pdf[all]) (0.3.2)
Requirement already satisfied: onnx<3.0.0,>=1.12.0 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from python-doctr[torch]; extra == "doctr"->natural-pdf[all]) (1.18.0)
Requirement already satisfied: imageio!=2.35.0,>=2.33 in /Users/soma/Development/natural-pdf/.venv/l
ib/python3.11/site-packages (from scikit-image->deskew>=1.5->natural-pdf[all]) (2.37.0)
Requirement already satisfied: tifffile>=2022.8.12 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from scikit-image->deskew>=1.5->natural-pdf[all]) (2025.5.10) Requirement
already satisfied: lazy-loader>=0.4 in /Users/soma/Development/natural-pdf/.venv/lib/python3.11/site
-packages (from scikit-image->deskew>=1.5->natural-pdf[all]) (0.4)
Requirement already satisfied: scikit-learn in /Users/soma/Development/natural-pdf/.venv/lib/python3
.11/site-packages (from sentence-transformers->natural-pdf[all]) (1.6.1)
Requirement already satisfied: joblib>=1.2.0 in /Users/soma/Development/natural-pdf/.venv/lib/python
3.11/site-packages (from scikit-learn->sentence-transformers->natural-pdf[all]) (1.5.0)
Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from scikit-learn->sentence-transformers->natural-pdf[all]) (3.6.0)
Requirement already satisfied: executing>=1.2.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from stack_data->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all])
(2.2.0)
Requirement already satisfied: asttokens>=2.1.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyt
hon3.11/site-packages (from stack_data->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all])
(3.0.0) Requirement already satisfied: pure-eval in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from stack_data->ipython>=6.1.0->ipywidgets<9.0.0,>=7.0.0->natural-pdf[all])
(0.2.3)
Requirement already satisfied: einops<0.9.0,>=0.8.1 in /Users/soma/Development/natural-pdf/.venv/lib
/python3.11/site-packages (from surya-ocr->natural-pdf[all]) (0.8.1)
Requirement already satisfied: platformdirs<5.0.0,>=4.3.6 in /Users/soma/Development/natural-pdf/.ve
nv/lib/python3.11/site-packages (from surya-ocr->natural-pdf[all]) (4.3.8)
Requirement already satisfied: pre-commit<5.0.0,>=4.2.0 in /Users/soma/Development/natural-pdf/.venv
/lib/python3.11/site-packages (from surya-ocr->natural-pdf[all]) (4.2.0)
Requirement already satisfied: cfgv>=2.0.0 in /Users/soma/Development/natural-pdf/.venv/lib/python3.
11/site-packages (from pre-commit<5.0.0,>=4.2.0->surya-ocr->natural-pdf[all]) (3.4.0)
Requirement already satisfied: identify>=1.0.0 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from pre-commit<5.0.0,>=4.2.0->surya-ocr->natural-pdf[all]) (2.6.10)
Requirement already satisfied: nodeenv>=0.11.1 in /Users/soma/Development/natural-pdf/.venv/lib/pyth
on3.11/site-packages (from pre-commit<5.0.0,>=4.2.0->surya-ocr->natural-pdf[all]) (1.9.1)
Requirement already satisfied: virtualenv>=20.10.0 in /Users/soma/Development/natural-pdf/.venv/lib/
python3.11/site-packages (from pre-commit<5.0.0,>=4.2.0->surya-ocr->natural-pdf[all]) (20.31.2)
Requirement already satisfied: distlib<1,>=0.3.7 in /Users/soma/Development/natural-pdf/.venv/lib/py
thon3.11/site-packages (from virtualenv>=20.10.0->pre-commit<5.0.0,>=4.2.0->surya-ocr->natural-pdf[a
ll]) (0.3.9)
Requirement already satisfied: sentencepiece!=0.1.92,>=0.1.91 in /Users/soma/Development/natural-pdf
/.venv/lib/python3.11/site-packages (from transformers[sentencepiece]; extra == "core-ml"->natural-p
df[all]) (0.2.0)