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
oletools>=0.60.2
pandas>=2.1.0
python-calamine>=0.6.2
pyxlsb>=1.0.10
xlrd>=2.0.1
pyarrow>=15.0.0
markdown>=3.6
beautifulsoup4>=4.12.0
lxml>=5.1.0
pyyaml>=6.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
ebooklib>=0.18
odfpy>=1.4.1
striprtf>=0.0.26
extract-msg>=0.48.0
pillow-heif>=0.16.0
pytest>=8.0.0
xlwt>=1.3.0

[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

[ebook]
ebooklib>=0.18
beautifulsoup4>=4.12.0

[email]
extract-msg>=0.48.0

[image]
pillow-heif>=0.16.0

[layout]
layoutparser>=0.3.4

[legacy]
striprtf>=0.0.26

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

[office]
python-docx>=1.1.0
openpyxl>=3.1.2
python-pptx>=0.6.23
oletools>=0.60.2
pandas>=2.1.0
python-calamine>=0.6.2
pyxlsb>=1.0.10
xlrd>=2.0.1

[openoffice]
odfpy>=1.4.1

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

[test]
pytest>=8.0.0
xlwt>=1.3.0

[vlm]
torch>=2.0
transformers>=4.41.0

[yaml]
pyyaml>=6.0
