requirements-server.txt 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. # Trixy Voice Assistant - Server Requirements
  2. # ==========================================
  3. # Full server deployment with all features including TUI, plugins, ML inference
  4. # Includes base requirements plus server-specific components
  5. # Include base requirements
  6. -r requirements.txt
  7. # Textual TUI Framework
  8. textual>=0.40.0 # Modern TUI framework for server interface
  9. rich>=12.0.0 # Already in base, rich text rendering for TUI
  10. # Advanced ML inference (server handles ML processing)
  11. torch>=1.11.0,<2.0.0 # Already in base, PyTorch for ML models
  12. torchaudio>=0.11.0,<1.0.0 # Already in base, audio processing
  13. onnx>=1.12.0 # ONNX model format support
  14. onnxruntime>=1.12.0 # ONNX runtime for optimized inference
  15. # Advanced audio processing for server-side STT/TTS
  16. librosa>=0.9.0 # Advanced audio analysis
  17. scipy>=1.7.0 # Scientific computing for signal processing
  18. soundfile>=0.10.3 # Already in base, audio file I/O
  19. resampy>=0.2.2 # High-quality audio resampling
  20. # Speech-to-Text integration
  21. speechbrain>=0.5.0 # SpeechBrain toolkit
  22. transformers>=4.15.0 # Hugging Face transformers for STT models
  23. datasets>=2.0.0 # Hugging Face datasets for model data
  24. # Text-to-Speech integration
  25. espnet>=202207 # ESPnet for TTS capabilities
  26. coqui-tts>=0.13.0 # Coqui TTS engine
  27. piper-tts>=1.0.0 # Piper TTS (lightweight alternative)
  28. # Voice Activity Detection
  29. webrtcvad>=2.0.0 # WebRTC VAD
  30. silero-vad>=4.0.0 # Silero VAD models
  31. # Advanced voice recognition and speaker identification
  32. pyannote.audio>=2.0.0 # Speaker diarization
  33. pyannote.core>=4.5.0 # Core utilities for pyannote
  34. speechrecognition>=3.8.0 # Generic speech recognition wrapper
  35. # Plugin system and dynamic loading
  36. importlib-metadata>=4.11.0 # Package metadata for plugin discovery
  37. pkgutil-style>=1.0.0 # Plugin discovery utilities (if available)
  38. # Web API framework for plugin interfaces
  39. fastapi>=0.75.0 # Web API framework
  40. uvicorn>=0.17.0 # ASGI server
  41. starlette>=0.19.0 # Web framework components
  42. pydantic>=1.8.0,<2.0.0 # Already in base, data validation
  43. # Database support for plugin data storage
  44. sqlalchemy>=1.4.0 # SQL toolkit and ORM
  45. aiosqlite>=0.17.0 # Async SQLite support
  46. alembic>=1.7.0 # Database migrations
  47. # Caching and session management
  48. redis>=4.1.0 # Redis client for caching
  49. aioredis>=2.0.0 # Async Redis client
  50. # Advanced networking and protocol handling
  51. aiohttp>=3.8.0 # Async HTTP client/server
  52. websockets>=10.0 # WebSocket support for real-time communication
  53. httpx>=0.23.0 # Modern HTTP client
  54. # Scheduling and task management
  55. celery>=5.2.0 # Distributed task queue
  56. croniter>=1.3.0 # Cron expression parsing
  57. apscheduler>=3.9.0 # Advanced Python scheduler
  58. # Configuration management
  59. dynaconf>=3.1.0 # Advanced configuration management
  60. python-decouple>=3.6 # Environment configuration
  61. configparser-crypt>=1.0.0 # Encrypted configuration (if available)
  62. # Monitoring and metrics
  63. prometheus-client>=0.13.0 # Metrics collection
  64. psutil>=5.8.0 # Already in base, system monitoring
  65. gpustat>=1.0.0 # GPU monitoring (if applicable)
  66. py-cpuinfo>=8.0.0 # CPU information
  67. # Logging and observability
  68. structlog>=21.0.0 # Already in base, structured logging
  69. loguru>=0.6.0 # Enhanced logging
  70. python-json-logger>=2.0.0 # JSON logging format
  71. elastic-apm>=6.9.0 # APM monitoring (optional)
  72. # Advanced cryptography for model protection and communication
  73. cryptography>=3.4.8 # Already in base, enhanced cryptography
  74. pynacl>=1.5.0 # Modern cryptography library
  75. cryptography-vectors>=3.4.8 # Test vectors for cryptography
  76. # Asset management and file handling
  77. aiofiles>=0.8.0 # Async file operations
  78. pathspec>=0.9.0 # Path specification utilities
  79. send2trash>=1.8.0 # Safe file deletion
  80. # Internationalization
  81. babel>=2.9.0 # I18n utilities
  82. flufl.i18n>=3.1.0 # Enhanced i18n support
  83. # Advanced data processing
  84. pandas>=1.3.0 # Data manipulation (for analytics)
  85. arrow>=1.2.0 # Better date/time handling
  86. python-dateutil>=2.8.0 # Already in base, date utilities
  87. # Security and authentication
  88. passlib>=1.7.0 # Password hashing
  89. python-jose>=3.3.0 # JWT handling
  90. python-multipart>=0.0.5 # Multipart form handling
  91. authlib>=1.0.0 # OAuth and authentication
  92. # Email notifications (for alerts)
  93. aiosmtplib>=1.1.0 # Async SMTP client
  94. premailer>=3.10.0 # HTML email preprocessing
  95. # Document processing (for configuration docs)
  96. markdown>=3.3.0 # Markdown processing
  97. mistune>=2.0.0 # Fast markdown parser
  98. pymdown-extensions>=9.0.0 # Markdown extensions
  99. # Advanced audio codecs and formats
  100. pydub>=0.25.1 # Audio manipulation
  101. ffmpeg-python>=0.2.0 # FFmpeg bindings
  102. mutagen>=1.45.0 # Audio metadata handling
  103. # Machine learning utilities for server-side processing
  104. scikit-learn>=1.0.0 # Already in base, ML utilities
  105. joblib>=1.1.0 # Parallel processing and persistence
  106. numpy>=1.21.0,<2.0.0 # Already in base, numerical computing
  107. # Real-time audio processing
  108. pyaudio>=0.2.11 # Real-time audio I/O
  109. sounddevice>=0.4.0 # Audio device interface
  110. rtaudio>=0.1.0 # Real-time audio
  111. # Network discovery and service advertisement
  112. zeroconf>=0.38.0 # Bonjour/Avahi service discovery
  113. mdns>=1.0.0 # mDNS service registration
  114. # Protocol buffers for efficient communication
  115. protobuf>=3.19.0 # Protocol buffers
  116. grpcio>=1.44.0 # gRPC framework (if used)
  117. # Message queues and communication
  118. pika>=1.2.0 # RabbitMQ client
  119. aiokafka>=0.7.0 # Kafka client (if using Kafka)
  120. # Advanced serialization
  121. msgpack>=1.0.0 # Efficient binary serialization
  122. orjson>=3.6.0 # Fast JSON library
  123. ujson>=5.1.0 # Ultra-fast JSON
  124. # Template engine for dynamic content
  125. jinja2>=3.0.0 # Template engine
  126. markupsafe>=2.1.0 # Safe string handling
  127. # HTTP utilities and middleware
  128. starlette-middleware>=0.1.0 # Additional middleware (if available)
  129. slowapi>=0.1.0 # Rate limiting
  130. starlette-prometheus>=0.9.0 # Prometheus metrics
  131. # WebSocket extensions
  132. websocket-client>=1.3.0 # WebSocket client utilities
  133. # Advanced file watching
  134. watchfiles>=0.15.0 # Fast file watching (Rust-based)
  135. # Memory and performance optimization
  136. pympler>=0.9 # Memory analysis
  137. line-profiler>=3.5.0 # Performance profiling
  138. memory-profiler>=0.60.0 # Already in base, memory profiling
  139. # Container and deployment support
  140. gunicorn>=20.1.0 # WSGI HTTP server
  141. gevent>=21.12.0 # Async networking
  142. # Development and debugging utilities (production-safe)
  143. devtools>=0.8.0 # Development utilities
  144. icecream>=2.1.0 # Enhanced debugging output
  145. # Optional: Enterprise features
  146. # ldap3>=2.9.0 # LDAP authentication
  147. # python-keycloak>=2.6.0 # Keycloak integration
  148. # System integration
  149. systemd-python>=234 # systemd integration (Linux)
  150. python-daemon>=2.3.0 # Unix daemon support
  151. # Advanced error handling and recovery
  152. tenacity>=8.0.0 # Retry utilities
  153. circuit-breaker>=1.0.0 # Circuit breaker pattern
  154. # API documentation
  155. redoc>=0.1.0 # API documentation
  156. swagger-ui-bundle>=0.1.0 # Swagger UI
  157. # Content delivery and caching
  158. aiohttp-cache>=0.1.0 # HTTP caching (if available)
  159. diskcache>=5.4.0 # Disk-based caching
  160. # Background task processing
  161. dramatiq>=1.12.0 # Background task processing
  162. huey>=2.4.0 # Lightweight task queue
  163. # Hardware abstraction
  164. gpiozero>=1.6.0 # GPIO control (Raspberry Pi) - optional
  165. adafruit-circuitpython-* # Hardware libraries (optional)
  166. # System requirements:
  167. # - Sufficient RAM (minimum 2GB, recommended 4GB+)
  168. # - CPU with AVX support for optimized ML inference
  169. # - GPU support (optional, for CUDA acceleration)
  170. # - Audio system (ALSA/PulseAudio on Linux)
  171. # - Network interfaces for client connections
  172. # - Storage for models, logs, and plugin data
  173. # Installation:
  174. # pip install -r requirements-server.txt
  175. #
  176. # For GPU support:
  177. # pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118
  178. #
  179. # For production deployment:
  180. # pip install -r requirements-server.txt gunicorn[gevent]
  181. #
  182. # System packages (Ubuntu/Debian):
  183. # sudo apt-get install portaudio19-dev python3-pyaudio libasound2-dev
  184. # sudo apt-get install redis-server # If using Redis
  185. # sudo apt-get install ffmpeg # For audio processing
  186. # Performance notes:
  187. # - Use Redis for caching and session storage
  188. # - Configure asyncio event loop policy for better performance
  189. # - Use gunicorn with gevent workers for production
  190. # - Consider NVIDIA TensorRT for GPU inference optimization
  191. # - Use connection pooling for database connections
  192. # Approximate install size: ~2-3GB (full ML + server environment)