pydantic>=2.0
httpx>=0.25.0
arxiv>=2.0.0
biopython>=1.80
requests>=2.28.0
tabulate>=0.9.0
numpy<2.0
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-proto==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-semantic-conventions==0.58b0

[all]
paperscraper>=0.3.0
pyalex>=0.13
semanticscholar>=0.8.0
marker-pdf>=0.2.0
langchain>=0.1.0
chromadb>=0.4.0
sentence-transformers>=2.2.0
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-proto==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-semantic-conventions==0.58b0

[dev]
pytest>=7.0
pytest-asyncio>=0.21.0
black>=23.0
ruff>=0.1.0
mypy>=1.0

[extraction]
marker-pdf>=0.2.0

[extraction-all]
marker-pdf>=0.2.0
markitdown>=0.1.0
docling>=2.0.0
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-proto==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-semantic-conventions==0.58b0

[extraction-docling]
docling>=2.0.0
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-proto==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-semantic-conventions==0.58b0

[extraction-light]
markitdown>=0.1.0
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-proto==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-semantic-conventions==0.58b0

[providers]
paperscraper>=0.3.0
pyalex>=0.13
semanticscholar>=0.8.0

[rag]
langchain>=0.1.0
chromadb>=0.4.0
sentence-transformers>=2.2.0
