# Headless backend (mugi_backend.py / SwiftUI app). No PyObjC — avoids build failures.
# Keep in sync with requirements.txt minus the PyObjC block.
# dulwich: pure-Python Git for cloning Homebrew without system git/Xcode CLI.

setuptools>=70.0,<71
dulwich>=0.22,<1.0
fastapi>=0.100,<1.0
uvicorn>=0.12,<1.0
websockets>=12.0,<17.0
python-multipart>=0.0.6
openai>=1.0,<3.0
langchain-core>=1.0,<2.0
langchain-community>=0.3,<1.0
langgraph>=1.0,<2.0
pydantic>=2.7,<3.0
mcp>=1.20,<2.0

# Messaging, crypto, keychain
discord.py>=2.0,<3.0
cryptography>=42.0,<47.0
keyring>=25.0,<27.0
zeroconf>=0.131,<1.0

# Scheduled tasks (schedule_tools / cron_scheduler)
croniter>=2.0,<4.0

# Phase 2b: filesystem watcher (optional; polling fallback when missing)
watchdog>=4.0,<7.0

# Dashboard System tile (CPU/RAM/disk/network/top processes)
psutil>=5.9,<8

# PDF, images, HTTP, parsing, OCR
pypdf>=4.0,<5.0
pdf2image>=1.16,<3.0
numpy>=1.24,<3.0
# Charts/run_python_code (matplotlib, seaborn, pandas)
matplotlib>=3.7,<4.0
pandas>=2.0,<3.0
seaborn>=0.12,<1.0
certifi>=2024.0.0
requests>=2.28,<3.0
httpx>=0.27,<1.0
readability-lxml>=0.8,<1.0
beautifulsoup4>=4.12,<5.0
python-docx>=1.1,<2.0
openpyxl>=3.1,<4.0
python-pptx>=1.0,<2.0
ebooklib>=0.18,<1.0
striprtf>=0.0.29,<1.0
opencv-python>=4.8,<5.0
pytesseract>=0.3.10
Pillow>=10.0,<11.0

# TTS (optional: Supertonic on-device)
supertonic>=0.1.0

# sqlite-vec ANN for session/knowledge semantic search (optional; brute-force fallback if unloadable)
sqlite-vec==0.1.9

# Testing
pytest>=7.0,<9.0
starlette>=0.27,<1.0
