pydantic>=2

[arxiv]
beautifulsoup4
lxml

[async]
httpx
aiolimiter

[cluster]
scikit-learn
numpy

[config]
pyyaml
python-dotenv

[dev]
pytest
pytest-asyncio
pytest-mock
pytest-cov
hypothesis

[docs]
mkdocs<2,>=1.6
mkdocs-material<10,>=9.7
mkdocstrings[python]<2,>=1.0
mkdocs-click<1,>=0.9
mike<3,>=2.1
ruff

[embeddings]
numpy
openai

[embeddings-local]
numpy
sentence-transformers

[full]
pyyaml
python-dotenv
httpx
aiolimiter
beautifulsoup4
lxml
pandas
openai
tiktoken
pdfplumber
sqlalchemy>=2
plotly
scikit-learn
numpy

[html]
beautifulsoup4

[lint]
ruff
mypy
types-PyYAML

[llm]
openai
tiktoken

[pdf]
pdfplumber

[processors]
pandas
numpy

[search]

[sql]
sqlalchemy>=2

[viz]
plotly

[xml]
lxml
