pydantic>=2.0.0
pydantic-settings>=2.0.0
httpx>=0.24.0
sqlalchemy>=2.0.0
numpy<2.0.0,>=1.21.0
pytz>=2023.3
python-dotenv>=1.0.0
rank-bm25>=0.2.2
pyobvector<0.3.0,>=0.2.24
sqlglot<26.25.0,>=26.0.1
jieba>=0.42.1
azure-identity>=1.24.0
psycopg2-binary>=2.9.0
pgvector>=0.2.0
psycopg>=3.2.8
psycopg-pool<4.0.0,>=3.2.6
together>=0.2.10
openai<3.0.0,>=1.90.0
anthropic>=0.7.0
ollama>=0.1.0
vertexai>=0.1.0
google-generativeai>=0.3.0
google-genai>=1.0.0
dashscope>=1.14.0
psutil>=5.9.0
zai-sdk>=0.2.0

[:python_version < "3.12"]
greenlet<3.0

[:python_version >= "3.12"]
greenlet>=3.0

[cli]
click>=8.0.0

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
black>=23.0.0
isort>=5.12.0
flake8>=6.0.0
mypy>=1.0.0

[dev:python_version < "3.12"]
pytest-playwright<0.6.0,>=0.4.3
playwright<1.39.0,>=1.33.0

[dev:python_version >= "3.12"]
pytest-playwright<0.9.0,>=0.6.0
playwright<2.0.0,>=1.40.0

[extras]
sentence-transformers>=5.0.0

[mcp]
fastmcp>=1.0
uvicorn>=0.27.1

[seekdb]
pyobvector[pyseekdb]<0.3.0,>=0.2.24

[server]
click>=8.0.0
fastapi>=0.100.0
python-multipart>=0.0.6
uvicorn>=0.23.0
slowapi>=0.1.9

[test]
pytest>=8.2.2
pytest-mock>=3.14.0
pytest-asyncio>=0.23.7
langchain>=1.1.0
langchain-core>=1.1.0
langchain-openai>=1.1.0
langchain-community>=0.4.1
