requests>=2.33.0
aiohttp>=3.13.0
httpx[http2,zstd]>=0.28.0
Brotli
beautifulsoup4>=4.13.0
lxml>=5.1.0
lxml_html_clean
selectolax>=0.4.0
defusedxml>=0.7.0
pydantic>=2.12.0
pydantic-settings>=2.7.0
orjson>=3.11.0
aiofiles>=24.1.0
aiosqlite>=0.20.0
pybloom-live
fastapi>=0.135.0

[all]
playwright>=1.58.0
pymongo[srv]>=4.9.0
asyncpg>=0.30.0
sentence-transformers>=3.0.0
numpy<3.0.0,>=2.0.0
newspaper3k>=0.2.8
goose3>=3.1.0
readability-lxml>=0.8.0
pyvis>=0.3.0
networkx>=3.6
celery>=5.5.0
redis>=5.2.0
g4f>=0.3.0
scikit-learn>=1.8.0
aiodns>=3.6.0

[all:platform_system != "Windows"]
uvloop>=0.22.0

[articles]
newspaper3k>=0.2.8
goose3>=3.1.0
readability-lxml>=0.8.0

[celery]
celery>=5.5.0
redis>=5.2.0

[dev]
pytest>=9.0.0
pytest-asyncio>=0.24.0
pytest-cov>=7.0.0
black>=24.0.0
ruff>=0.8.0
mypy>=1.13.0
psutil

[embeddings]
sentence-transformers>=3.0.0
numpy<3.0.0,>=2.0.0

[goose]
goose3>=3.1.0

[ml]
g4f>=0.3.0
scikit-learn>=1.8.0

[mongodb]
pymongo[srv]>=4.9.0

[native]
cython>=3.0.0
mmh3>=5.0.0

[newspaper]
newspaper3k>=0.2.8

[performance]
aiodns>=3.6.0

[performance:platform_system != "Windows"]
uvloop>=0.22.0

[playwright]
playwright>=1.58.0

[postgresql]
asyncpg>=0.30.0

[readability]
readability-lxml>=0.8.0

[viz]
pyvis>=0.3.0
networkx>=3.6
