uvicorn[standard]>=0.24.0
langchain>=1.2.14
langchain-community
langchain-ollama>=1.0.0
langchain-chroma>=1.0.0
langgraph>=1.1.4
chromadb>=1.5.6
llama-index-core>=0.14.20
llama-index-embeddings-langchain>=0.4.0
langgraph-checkpoint-sqlite
pydantic>=2.11.10
pydantic-settings>=2.10.1
python-dotenv>=1.0.0
pyyaml
numpy>=1.24.0
jieba>=0.42.1
redis
tiktoken>=0.5.0
colorama

[all]
penshot[api,async_db,dev,docs,llm-providers,test,video]

[api]
fastapi>=0.104.0
aiofiles>=23.2.0
httpx>=0.25.0

[async_db]
aiosqlite>=0.19.0
asyncpg>=0.29.0

[default]
penshot[api,async_db]

[dev]
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
black>=23.11.0
flake8>=6.1.0
mypy>=1.7.0
isort>=5.12.0
pre-commit>=3.5.0

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

[full]
fastapi>=0.104.0
aiofiles>=23.2.0
aiosqlite>=0.19.0
asyncpg>=0.29.0
langchain-deepseek>=0.1.0
langchain-openai>=1.0.0
dashscope>=1.0.0
opencv-python>=4.8.0
moviepy>=1.0.3
pillow>=10.0.0
httpx>=0.25.0

[llm-providers]
langchain-deepseek>=0.1.0
langchain-openai>=1.0.0
dashscope>=1.0.0

[test]
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
httpx>=0.25.0

[video]
opencv-python>=4.8.0
moviepy>=1.0.3
pillow>=10.0.0
