pymupdf<2.0.0,>=1.23.0
pdfplumber<1.0.0,>=0.10.0
python-docx<2.0.0,>=1.1.0
python-pptx<1.0.0,>=0.6.21
openpyxl<4.0.0,>=3.1.0
pandas<3.0.0,>=2.0.0
beautifulsoup4<5.0.0,>=4.12.0
lxml<6.0.0,>=4.9.0
markdown-it-py<4.0.0,>=3.0.0

[:python_version < "3.11"]
tomli<3.0.0,>=1.1.0

[ai]
openai<2.0.0,>=1.0.0

[ai-anthropic]
anthropic<1.0.0,>=0.30.0

[ai-gemini]
google-generativeai<1.0.0,>=0.6.0

[all]
runeextract[ai,ai-anthropic,ai-gemini,async,dev,embeddings,epub,notion,ocr,rag,vector-stores,youtube]

[async]
aiohttp<4.0.0,>=3.9.0

[dev]
pytest<9.0.0,>=7.4.0
pytest-cov<7.0.0,>=4.1.0
black<25.0.0,>=23.0.0
flake8<8.0.0,>=6.0.0
mypy<2.0.0,>=1.5.0

[embeddings]
sentence-transformers<4.0.0,>=2.2.0

[epub]
EbookLib<1.0.0,>=0.18
beautifulsoup4<5.0.0,>=4.12.0
lxml<6.0.0,>=4.9.0

[notion]
requests<3.0.0,>=2.28.0

[ocr]
easyocr<2.0.0,>=1.7.0
Pillow<12.0.0,>=10.0.0

[rag]
tiktoken<1.0.0,>=0.5.0

[vector-stores]
chromadb<1.0.0,>=0.4.0
faiss-cpu<2.0.0,>=1.7.0

[youtube]
youtube-transcript-api<1.0.0,>=0.6.0
yt-dlp<2025.0.0,>=2023.0.0
