pydantic>=2.9.0
pypdfium2>=4.30
python-docx>=1.1.0
pyyaml>=6.0.0

[all]
contractex[anthropic,export,google,graph,langchain,network,ocr,ollama,openai,privacy,rag,spacy,storage]

[anthropic]
anthropic<1.0,>=0.39.0

[dev]
pytest>=8.0.0
pytest-cov>=4.1.0
pytest-asyncio>=0.23.0
black==24.10.0
ruff>=0.1.0
mypy>=1.8.0
types-requests>=2.31.0
types-PyYAML>=6.0.0
cryptography>=41.0.0
pillow>=10.0.0
psycopg2-binary>=2.9.9
requests>=2.31.0

[docs]
mkdocs<2,>=1.5.0
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.24
mkdocs-autorefs>=0.5
mkdocs-minify-plugin>=0.7

[export]
pandas>=2.2.0
openpyxl>=3.1.0

[google]
google-genai>=1.0.0

[graph]
networkx>=3.0.0
neo4j>=5.0.0
rdflib>=7.0.0

[langchain]
langchain>=0.3.0
langchain-community>=0.3.0

[network]
requests>=2.31.0

[ocr]
pytesseract>=0.3.10
pillow>=10.0.0

[ollama]
ollama>=0.1.0

[openai]
openai>=1.50.0

[privacy]
presidio-analyzer>=2.2.0
cryptography>=41.0.0

[rag]
sentence-transformers>=2.0.0

[spacy]
spacy>=3.7.0

[storage]
psycopg2-binary>=2.9.9
pgvector>=0.3.0
