mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-08-06 19:28:06 +00:00
chore(deps): remove packages nothing imports, declare direct imports, move mypy to test deps
Removed from requirements.txt: python-socketio, python-engineio, websockets, websocket-client — zero imports anywhere in this repo, and the one store plugin that needs Socket.IO (ledmatrix-music) declares it in its own requirements.txt, which the plugin store installs. Removed the same quartet plus timezonefinder, geopy, google-auth-oauthlib, google-auth-httplib2, google-api-python-client, unidecode, icalevents, python-dateutil, flask-wtf and the werkzeug pin from web_interface/requirements.txt — all leftovers from the deleted built-in weather/calendar/music displays (flask-wtf was doubly dead: app.py explicitly disables CSRF and sets csrf=None). scripts/ install_dependencies_apt.py, which mirrors these lists for the first-time installer, drops the same packages. Added: urllib3 (imported directly in four core modules), jinja2 and markupsafe (imported directly in pages_v3.py) — previously reachable only as transitives. mypy moves from runtime requirements to requirements-test.txt. Verified in a fresh venv: all four requirements files co-install, pip check is clean, the full CI-enrolled suite (907 tests) and a Flask boot smoke pass with the trimmed dependency set. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SXb4mKcAkVaxkeTb3YnAdr
This commit is contained in:
@@ -49,12 +49,7 @@ def install_via_apt(package_name: str) -> Tuple[bool, str]:
|
||||
'werkzeug': 'python3-werkzeug',
|
||||
'numpy': 'python3-numpy',
|
||||
'requests': 'python3-requests',
|
||||
'python-dateutil': 'python3-dateutil',
|
||||
'pytz': 'python3-tz',
|
||||
'geopy': 'python3-geopy',
|
||||
'unidecode': 'python3-unidecode',
|
||||
'websockets': 'python3-websockets',
|
||||
'websocket-client': 'python3-websocket-client'
|
||||
'pytz': 'python3-tz'
|
||||
}
|
||||
|
||||
apt_package = apt_package_map.get(package_name, f'python3-{package_name}')
|
||||
@@ -152,12 +147,7 @@ def main():
|
||||
'werkzeug',
|
||||
'numpy',
|
||||
'requests',
|
||||
'python-dateutil',
|
||||
'pytz',
|
||||
'geopy',
|
||||
'unidecode',
|
||||
'websockets',
|
||||
'websocket-client'
|
||||
'pytz'
|
||||
]
|
||||
|
||||
failed_packages = []
|
||||
@@ -177,15 +167,12 @@ def main():
|
||||
failure_details[package] = pip_output or apt_output
|
||||
|
||||
# Install packages that don't have apt equivalents
|
||||
# Packages without apt equivalents. Plugin-specific dependencies
|
||||
# (timezonefinder, google-api stack, icalevents, socketio, ...) are
|
||||
# no longer installed here — store plugins declare their own
|
||||
# requirements.txt, which the plugin store installs.
|
||||
special_packages = [
|
||||
'timezonefinder>=6.5.0,<7.0.0',
|
||||
'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',
|
||||
'spotipy',
|
||||
'icalevents',
|
||||
'python-socketio>=5.11.0,<6.0.0',
|
||||
'python-engineio>=4.9.0,<5.0.0'
|
||||
]
|
||||
|
||||
for package in special_packages:
|
||||
|
||||
Reference in New Issue
Block a user