fastapi>=0.104.0
uvicorn[standard]>=0.24.0
websockets>=12.0
httpx>=0.25.0
h11>=0.14.0
openai>=1.10.0
requests>=2.28.0
pydantic>=2.5.0
pydantic-settings>=2.1.0
sqlalchemy>=2.0.0
aiosqlite>=0.19.0
alembic>=1.12.0
python-dotenv>=1.0.0
PyJWT[crypto]>=2.8.0
bcrypt>=4.1.0
python-multipart>=0.0.6
tiktoken>=0.5.0
certifi>=2023.0.0
lark-oapi>=1.6.0
packaging>=23.0
psutil>=5.9.0
greenlet<4.0,>=3.1.1
mcp>=1.0
prompt_toolkit>=3.0.36
textual>=8.2.8
numpy>=2.4.6
scipy>=1.17.1
jieba>=0.42.1
networkx>=3.6.1

[all]
opensquad[google,telegram,websearch,whisper]

[dev]
pytest>=7.0
pytest-cov>=4.0
pytest-asyncio>=0.21
ruff>=0.4.0
mypy>=1.10

[google]
google-generativeai>=0.8.0

[telegram]
python-telegram-bot>=21.0

[websearch]
beautifulsoup4>=4.12
lxml>=5.0
playwright>=1.40
playwright-stealth>=1.0
trafilatura>=1.8
pymupdf>=1.24

[whisper]
flask>=3.0
flask-cors>=4.0
pycryptodome>=3.19
