-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathrequirements.txt
More file actions
89 lines (72 loc) · 4.5 KB
/
requirements.txt
File metadata and controls
89 lines (72 loc) · 4.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# MIRA - Validated Third-Party Requirements
# Generated by analyzing actual usage across the codebase
# Each package verified to be actively used in non-deprecated files
# == PYTORCH CPU-ONLY INSTALLATION ==
--extra-index-url https://download.pytorch.org/whl/cpu
# == WEB FRAMEWORK & SERVER ==
fastapi # Core web framework - heavily used across API endpoints
starlette # FastAPI dependency - used in middleware
hypercorn # ASGI server with HTTP/2 support - required for all environments
# == DATABASE & DATA PERSISTENCE ==
psycopg[binary] # PostgreSQL driver v3 - postgres_client.py, database utils
psycopg-pool # Connection pooling for psycopg v3
pgvector # PostgreSQL vector extension - postgres_client.py
# == CACHING & KEY-VALUE STORE ==
valkey # Redis-compatible cache - valkey_client.py, many services
# == AUTHENTICATION & SECURITY ==
cryptography # Encryption utilities - credential_security.py, userdata_manager.py
# == AI & MACHINE LEARNING ==
anthropic # Anthropic Claude API SDK - primary LLM provider with prompt caching
openai # OpenAI API client - tools, embeddings (fallback for some tools)
numpy # Numerical computing - embeddings, vector operations, ML utilities
torch # PyTorch (CPU-only via index above) - sentence_transformers.py, bge_embeddings.py
transformers # Hugging Face transformers - embeddings, BGE models
sentence-transformers # Sentence embeddings - mdbr-leaf-ir-asym
optimum[onnxruntime] # ONNX model optimization - sentence_transformers.py, BGE embeddings
onnx # ONNX runtime - sentence_transformers.py, bge_embeddings.py
onnxruntime # ONNX inference engine - bge_embeddings.py
onnxconverter_common # ONNX conversion utilities - bge_embeddings.py
tqdm # Progress bars - bge_embeddings.py model loading
scikit-learn>=1.4.0 # TF-IDF candidate discovery for memory linking pipeline
spacy>=3.7.0 # NER and NLP - entity extraction for memory linking
# Note: Install en_core_web_lg with: python -m spacy download en_core_web_lg
# == SCHEDULING & BACKGROUND TASKS ==
apscheduler # Task scheduling - memory_extraction_service.py, auth_service.py, scheduler_service.py
# == HTTP CLIENT & NETWORKING ==
httpx[http2] # Modern HTTP client with HTTP/2 support - tools, LLM provider, embeddings, weather/web tools
aiohttp # Async HTTP - kasa_tool.py for smart home control
mcp # Model Context Protocol SDK - mcp_client.py for MCP server connections
# == TOOL-SPECIFIC LIBRARIES ==
googlemaps # Google Maps API - maps_tool.py
google-genai # Google Gemini GenAI SDK - imagegen_tool.py
kasa # TP-Link Kasa smart devices - kasa_tool.py
kagiapi # Kagi search API - web_tool.py (primary search provider)
ddgs # DuckDuckGo search - web_tool.py (fallback search provider)
trafilatura # Deterministic web content extraction - web_tool.py (replaces LLM extraction)
hvac # HashiCorp Vault client - vault_client.py
# == BILLING & PAYMENTS ==
# == IMAGE PROCESSING ==
Pillow>=10.0.0 # Image compression - two-tier compression for multimodal messages
# == UTILITIES & HELPERS ==
pydantic # Data validation - widely used across API models and tools
python-dateutil # Date parsing - reminder_tool.py, timezone_utils.py
pytz # Timezone handling - timezone_utils.py
colorama # Terminal colors - logging_config.py
rapidfuzz # Fuzzy string matching - memory deduplication, entity normalization
json-repair # JSON repair for malformed LLM responses - extraction.py
psutil # Process management - playwright_service.py for forced browser shutdown
# == TESTING DEPENDENCIES ==
pytest # Test framework - extensive test suite
pytest-asyncio # Async test support - async tests
# == OPTIONAL DEPENDENCIES ==
# These packages enhance functionality but are not required for core operation
# Install with: pip install python-docx openpyxl playwright
# Document processing - enables richer DOCX/XLSX text extraction
# Falls back to stdlib XML parsing if not installed
python-docx # (optional) DOCX text extraction - document_processing.py
openpyxl # (optional) XLSX text extraction - document_processing.py
# Web scraping - enables JavaScript-rendered page capture
playwright # (optional) Headless browser - web_tool.py
# == PACKAGES TO REVIEW/CONSIDER REMOVING ==
# These packages have limited usage and may be removable:
# - pytz (could potentially use zoneinfo from Python 3.9+ instead)