pydantic>=2
pyyaml
python-dotenv
beautifulsoup4
lxml
pandas

[async]
httpx
aiofiles
aiolimiter

[cluster]
scikit-learn
numpy

[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]
httpx
aiofiles
aiolimiter
openai
tiktoken
pdfplumber
sqlalchemy>=2
aiosqlite
plotly
scikit-learn
numpy
requests

[lint]
ruff
mypy
types-PyYAML
types-requests
types-aiofiles

[llm]
openai
tiktoken

[pdf]
pdfplumber

[search]

[sql]
sqlalchemy>=2
aiosqlite

[viz]
plotly
aiofiles
