typer>=0.9.0
pydantic>=2.6.0
pydantic-settings>=2.2.0
pyyaml>=6.0.1
structlog>=24.1.0
rich>=13.7.0
tqdm>=4.66.0
opencv-python-headless>=4.9.0
pillow>=10.2.0
pytesseract>=0.3.10
langchain-text-splitters>=0.0.2
nbformat>=5.9.0
sqlite-utils>=3.37.0
watchdog>=3.0.0
python-slugify>=8.0.0
xxhash>=3.4.0
python-magic>=0.4.27
platformdirs>=4.2.0

[:python_version < "3.12"]
numpy<2.0,>=1.26.0

[:python_version >= "3.12"]
numpy>=1.26.0

[dev]
pytest>=8.0.0
pytest-cov>=4.1.0
pytest-mock>=3.12.0
ruff>=0.2.0
mypy>=1.8.0
pre-commit>=3.6.0

[figures]
layoutparser>=0.3.0

[full]
ocr-pipeline[dev,figures,paddle,scientific,tables]

[grobid]

[paddle]
paddleocr<3.0.0,>=2.7.0
paddlepaddle>=2.6.0

[scientific]

[scientific:python_version < "3.12"]
spacy<3.8.0,>=3.7.0
scispacy==0.5.4

[scientific:python_version >= "3.12"]
spacy>=3.7.0

[tables]
torch>=2.2.0
torchvision>=0.17.0
transformers>=4.38.0
timm>=1.0.0
