mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-08-01 08:48:05 +00:00
The interface ships a ~5,000-line HTML shell and >20k lines of JS uncompressed; on phone/WiFi that dominates load time. Flask-Compress gzips/brotlis compressible responses transparently. - Optional dependency, same graceful pattern as flask-limiter: missing package = uncompressed responses, no crash. - SSE safety verified empirically against the real package (1.24): an actual streamed text/event-stream response comes back with no Content-Encoding while a large HTML response gzips — the display preview / stats / logs streams are unaffected. - Added flask-compress>=1.14 to web_interface/requirements.txt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KEZK1P1Q1fu5pcuVrkrCFZ
59 lines
1.7 KiB
Plaintext
59 lines
1.7 KiB
Plaintext
# LEDMatrix Web Interface Dependencies
|
|
# Compatible with Python 3.10, 3.11, 3.12, and 3.13
|
|
# Tested on Raspbian OS 12 (Bookworm) and 13 (Trixie)
|
|
|
|
# Web framework
|
|
flask>=3.1.3,<4.0.0
|
|
werkzeug>=3.1.6,<4.0.0
|
|
flask-wtf>=1.2.0 # CSRF protection (optional for local-only, but recommended)
|
|
flask-limiter>=3.5.0 # Rate limiting (prevent accidental abuse)
|
|
flask-compress>=1.14 # gzip/brotli response compression (big win for the large JS/HTML over WiFi)
|
|
|
|
# WebSocket support for plugins
|
|
# Note: Web interface uses Server-Sent Events (SSE) for real-time updates, not WebSockets
|
|
# However, plugins may need websocket support to connect to external services
|
|
# (e.g., music plugin connecting to YTM Companion server via Socket.IO)
|
|
# These packages are required for plugin compatibility
|
|
python-socketio>=5.14.0,<6.0.0
|
|
python-engineio>=4.9.0,<5.0.0
|
|
websockets>=12.0,<14.0
|
|
websocket-client>=1.8.0,<2.0.0
|
|
|
|
# Image processing
|
|
Pillow>=12.2.0,<13.0.0
|
|
|
|
# System monitoring
|
|
psutil>=6.0.0,<7.0.0
|
|
|
|
# Font rendering
|
|
freetype-py>=2.5.0,<3.0.0
|
|
|
|
# Numerical operations
|
|
# NumPy 1.24+ required for Python 3.12+ compatibility (compatible with 2.x)
|
|
numpy>=1.24.0
|
|
|
|
# HTTP requests
|
|
requests>=2.33.0,<3.0.0
|
|
|
|
# Date/time utilities
|
|
python-dateutil>=2.9.0,<3.0.0
|
|
|
|
# Timezone handling (must match main requirements)
|
|
pytz>=2024.2,<2025.0
|
|
timezonefinder>=6.5.0,<7.0.0
|
|
geopy>=2.4.1,<3.0.0
|
|
|
|
# Google API integration (must match main requirements)
|
|
google-auth-oauthlib>=1.2.0,<2.0.0
|
|
google-auth-httplib2>=0.2.0,<1.0.0
|
|
google-api-python-client>=2.147.0,<3.0.0
|
|
|
|
# Spotify integration (must match main requirements)
|
|
spotipy>=2.25.2,<3.0.0
|
|
|
|
# Text processing (must match main requirements)
|
|
unidecode>=1.3.8,<2.0.0
|
|
|
|
# Calendar integration (must match main requirements)
|
|
icalevents>=0.1.27,<1.0.0
|