pypdf>=4.0.0
pdfplumber>=0.11.0
pdf2image>=1.17.0
Pillow>=10.0.0
pytesseract>=0.3.10
opencv-python>=4.9.0
numpy>=1.24
chardet>=5.2.0
regex>=2023.12.25

[all]
python-docx>=1.1.0
openpyxl>=3.1.2
python-pptx>=0.6.23
pandas>=2.1.0
pyarrow>=15.0.0
markdown>=3.6
beautifulsoup4>=4.12.0
lxml>=5.1.0
py7zr>=0.21.0
rarfile>=4.2
nbformat>=5.10.0
pygments>=2.17.0
boto3>=1.34.0
azure-ai-formrecognizer>=3.3.0
layoutparser>=0.3.4
torch>=2.0
transformers>=4.41.0
presidio-analyzer>=2.2.0
presidio-anonymizer>=2.2.0
ffmpeg-python>=0.2.0
openai-whisper>=20231117

[archive]
py7zr>=0.21.0
rarfile>=4.2

[cloud-ocr]
boto3>=1.34.0
azure-ai-formrecognizer>=3.3.0

[code]
nbformat>=5.10.0
pygments>=2.17.0

[data]
pandas>=2.1.0
pyarrow>=15.0.0

[docs]
markdown>=3.6
beautifulsoup4>=4.12.0
lxml>=5.1.0

[layout]
layoutparser>=0.3.4

[media]
ffmpeg-python>=0.2.0
openai-whisper>=20231117

[office]
python-docx>=1.1.0
openpyxl>=3.1.2
python-pptx>=0.6.23

[privacy]
presidio-analyzer>=2.2.0
presidio-anonymizer>=2.2.0

[vlm]
torch>=2.0
transformers>=4.41.0
