numpy>=1.24

[all]
fastapi>=0.110
uvicorn[standard]>=0.29
httpx>=0.25
pydantic>=2.0
python-dotenv>=1.0
sentence-transformers>=2.7
tree-sitter>=0.23
tree-sitter-language-pack>=0.2
pypdf>=4.0
Pillow>=10.0
pytesseract>=0.3.10
faster-whisper>=1.0
psycopg[binary]>=3.1

[all:platform_system != "Windows"]
sqlcipher3-binary>=0.5.0

[all:python_version < "3.11"]
onnxruntime<1.24

[all:python_version >= "3.10"]
mcp>=1.2.0

[code]
tree-sitter>=0.23
tree-sitter-language-pack>=0.2

[dev]
pytest>=8.0
pytest-asyncio>=0.23
ruff>=0.4

[documents]
pypdf>=4.0
Pillow>=10.0
pytesseract>=0.3.10

[encryption]
sqlcipher3-binary>=0.5.0

[mcp]
pydantic>=2.0
sentence-transformers>=2.7

[mcp:python_version >= "3.10"]
mcp>=1.2.0

[postgres]
psycopg[binary]>=3.1

[server]
fastapi>=0.110
uvicorn[standard]>=0.29
httpx>=0.25
pydantic>=2.0
python-dotenv>=1.0
sentence-transformers>=2.7

[test]
pytest>=8.0
pytest-asyncio>=0.23
ruff>=0.4
fastapi>=0.110
httpx>=0.25
tree-sitter>=0.23
tree-sitter-language-pack>=0.2
pypdf>=4.0
Pillow>=10.0
pytesseract>=0.3.10
faster-whisper>=1.0
psycopg[binary]>=3.1

[test:platform_system != "Windows"]
sqlcipher3-binary>=0.5.0

[test:python_version < "3.11"]
onnxruntime<1.24

[test:python_version >= "3.10"]
mcp>=1.2.0

[transcription]
faster-whisper>=1.0

[transcription:python_version < "3.11"]
onnxruntime<1.24
