typer>=0.9.0
rich>=13.0.0
lxml>=4.9.0
python-slugify>=8.0.0
pyyaml>=6.0
pypdf>=3.0.0
PyMuPDF>=1.23.0
ebooklib>=0.18
Pillow>=10.0.0
jmespath>=1.0.0
jinja2>=3.0.0
xmltodict>=0.13.0

[all]
streamlit>=1.28.0
pandas>=2.0.0
altair>=5.0.0
aiohttp>=3.8.0
beautifulsoup4>=4.12.0
httpx>=0.24.0
networkx>=3.0
matplotlib>=3.5.0
pyvis>=0.3.0
plotly>=5.0.0
mcp<2.0,>=1.0
pydantic>=2.0.0

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
black>=23.0.0
ruff>=0.1.0
mypy>=1.0.0
pre-commit>=3.0.0

[docs]
mkdocs>=1.5.0
mkdocs-material>=9.0.0
mkdocstrings[python]>=0.24.0

[google-books]
aiohttp>=3.8.0

[mcp]
mcp<2.0,>=1.0
pydantic>=2.0.0

[metadata]
aiohttp>=3.8.0
beautifulsoup4>=4.12.0
httpx>=0.24.0

[network]

[network-advanced]
networkx>=3.0
matplotlib>=3.5.0
pyvis>=0.3.0
plotly>=5.0.0

[streamlit]
streamlit>=1.28.0
pandas>=2.0.0
altair>=5.0.0

[viz]
ebk[network-advanced]
